summaryrefslogtreecommitdiffstats
path: root/Modules/unicodedata_db.h
blob: 5d5dca80af10e83d209c9ab29d8d61f3d49f62e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
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
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
/* this file was generated by Tools/unicode/makeunicodedata.py 3.2 */

#define UNIDATA_VERSION "6.1.0"
/* a list of unique database records */
const _PyUnicode_DatabaseRecord _PyUnicode_Database_Records[] = {
    {0, 0, 0, 0, 0, 0},
    {13, 0, 15, 0, 5, 0},
    {13, 0, 17, 0, 5, 0},
    {13, 0, 16, 0, 5, 0},
    {13, 0, 18, 0, 5, 0},
    {10, 0, 18, 0, 3, 0},
    {26, 0, 19, 0, 3, 0},
    {26, 0, 11, 0, 3, 0},
    {28, 0, 11, 0, 3, 0},
    {22, 0, 19, 1, 3, 0},
    {23, 0, 19, 1, 3, 0},
    {27, 0, 10, 0, 3, 0},
    {26, 0, 13, 0, 3, 0},
    {21, 0, 10, 0, 3, 0},
    {7, 0, 9, 0, 3, 0},
    {27, 0, 19, 1, 3, 0},
    {27, 0, 19, 0, 3, 0},
    {1, 0, 1, 0, 3, 0},
    {29, 0, 19, 0, 3, 0},
    {20, 0, 19, 0, 3, 0},
    {2, 0, 1, 0, 3, 0},
    {10, 0, 13, 0, 5, 136},
    {26, 0, 19, 0, 4, 0},
    {28, 0, 11, 0, 4, 0},
    {30, 0, 19, 0, 3, 0},
    {29, 0, 19, 0, 4, 136},
    {30, 0, 19, 0, 5, 0},
    {19, 0, 1, 0, 4, 136},
    {24, 0, 19, 1, 5, 0},
    {14, 0, 15, 0, 4, 0},
    {30, 0, 19, 0, 4, 0},
    {29, 0, 19, 0, 3, 136},
    {30, 0, 11, 0, 4, 0},
    {27, 0, 11, 0, 4, 0},
    {9, 0, 9, 0, 4, 136},
    {2, 0, 1, 0, 5, 136},
    {25, 0, 19, 1, 5, 0},
    {9, 0, 19, 0, 4, 136},
    {1, 0, 1, 0, 5, 10},
    {1, 0, 1, 0, 4, 0},
    {27, 0, 19, 0, 4, 0},
    {2, 0, 1, 0, 4, 0},
    {2, 0, 1, 0, 4, 10},
    {2, 0, 1, 0, 5, 10},
    {1, 0, 1, 0, 5, 0},
    {1, 0, 1, 0, 4, 136},
    {2, 0, 1, 0, 4, 136},
    {2, 0, 1, 0, 5, 0},
    {19, 0, 1, 0, 5, 0},
    {1, 0, 1, 0, 5, 136},
    {3, 0, 1, 0, 5, 136},
    {18, 0, 1, 0, 5, 136},
    {18, 0, 19, 0, 5, 0},
    {18, 0, 1, 0, 5, 0},
    {29, 0, 19, 0, 5, 0},
    {29, 0, 19, 0, 4, 0},
    {18, 0, 19, 0, 4, 0},
    {18, 0, 1, 0, 4, 0},
    {29, 0, 19, 0, 5, 136},
    {4, 230, 14, 0, 4, 80},
    {4, 230, 14, 0, 4, 0},
    {4, 232, 14, 0, 4, 0},
    {4, 220, 14, 0, 4, 0},
    {4, 216, 14, 0, 4, 80},
    {4, 202, 14, 0, 4, 0},
    {4, 220, 14, 0, 4, 80},
    {4, 202, 14, 0, 4, 80},
    {4, 1, 14, 0, 4, 0},
    {4, 1, 14, 0, 4, 80},
    {4, 230, 14, 0, 4, 170},
    {4, 240, 14, 0, 4, 80},
    {4, 0, 14, 0, 4, 0},
    {4, 233, 14, 0, 4, 0},
    {4, 234, 14, 0, 4, 0},
    {18, 0, 19, 0, 5, 170},
    {26, 0, 19, 0, 5, 170},
    {29, 0, 19, 0, 5, 138},
    {1, 0, 1, 0, 5, 138},
    {27, 0, 19, 0, 5, 0},
    {1, 0, 1, 0, 4, 10},
    {30, 0, 1, 0, 5, 0},
    {4, 230, 14, 0, 5, 0},
    {6, 0, 14, 0, 5, 0},
    {26, 0, 1, 0, 5, 0},
    {21, 0, 19, 0, 5, 0},
    {28, 0, 11, 0, 5, 0},
    {4, 220, 14, 0, 5, 0},
    {4, 222, 14, 0, 5, 0},
    {4, 228, 14, 0, 5, 0},
    {4, 10, 14, 0, 5, 0},
    {4, 11, 14, 0, 5, 0},
    {4, 12, 14, 0, 5, 0},
    {4, 13, 14, 0, 5, 0},
    {4, 14, 14, 0, 5, 0},
    {4, 15, 14, 0, 5, 0},
    {4, 16, 14, 0, 5, 0},
    {4, 17, 14, 0, 5, 0},
    {4, 18, 14, 0, 5, 0},
    {4, 19, 14, 0, 5, 0},
    {4, 20, 14, 0, 5, 0},
    {4, 21, 14, 0, 5, 0},
    {4, 22, 14, 0, 5, 0},
    {21, 0, 4, 0, 5, 0},
    {4, 23, 14, 0, 5, 0},
    {26, 0, 4, 0, 5, 0},
    {4, 24, 14, 0, 5, 0},
    {4, 25, 14, 0, 5, 0},
    {19, 0, 4, 0, 5, 0},
    {14, 0, 12, 0, 5, 0},
    {27, 0, 5, 0, 5, 0},
    {26, 0, 11, 0, 5, 0},
    {28, 0, 5, 0, 5, 0},
    {26, 0, 13, 0, 5, 0},
    {26, 0, 5, 0, 5, 0},
    {4, 30, 14, 0, 5, 0},
    {4, 31, 14, 0, 5, 0},
    {4, 32, 14, 0, 5, 0},
    {19, 0, 5, 0, 5, 0},
    {19, 0, 5, 0, 5, 10},
    {18, 0, 5, 0, 5, 0},
    {4, 27, 14, 0, 5, 0},
    {4, 28, 14, 0, 5, 0},
    {4, 29, 14, 0, 5, 0},
    {4, 33, 14, 0, 5, 0},
    {4, 34, 14, 0, 5, 0},
    {4, 230, 14, 0, 5, 80},
    {4, 220, 14, 0, 5, 80},
    {7, 0, 12, 0, 5, 0},
    {26, 0, 12, 0, 5, 0},
    {4, 35, 14, 0, 5, 0},
    {19, 0, 5, 0, 5, 136},
    {7, 0, 9, 0, 5, 0},
    {30, 0, 5, 0, 5, 0},
    {14, 0, 5, 0, 5, 0},
    {4, 36, 14, 0, 5, 0},
    {4, 0, 14, 0, 5, 0},
    {7, 0, 4, 0, 5, 0},
    {18, 0, 4, 0, 5, 0},
    {26, 0, 19, 0, 5, 0},
    {5, 0, 1, 0, 5, 0},
    {19, 0, 1, 0, 5, 10},
    {4, 7, 14, 0, 5, 80},
    {4, 9, 14, 0, 5, 0},
    {19, 0, 1, 0, 5, 170},
    {7, 0, 1, 0, 5, 0},
    {4, 7, 14, 0, 5, 0},
    {5, 0, 1, 0, 5, 80},
    {5, 0, 1, 0, 5, 10},
    {9, 0, 1, 0, 5, 0},
    {4, 0, 14, 0, 5, 80},
    {4, 0, 14, 0, 5, 10},
    {4, 84, 14, 0, 5, 0},
    {4, 91, 14, 0, 5, 80},
    {9, 0, 19, 0, 5, 0},
    {4, 0, 1, 0, 5, 0},
    {4, 9, 14, 0, 5, 80},
    {19, 0, 1, 0, 5, 136},
    {4, 103, 14, 0, 5, 0},
    {4, 107, 14, 0, 5, 0},
    {4, 118, 14, 0, 5, 0},
    {4, 122, 14, 0, 5, 0},
    {26, 0, 1, 0, 5, 136},
    {4, 216, 14, 0, 5, 0},
    {22, 0, 19, 1, 5, 0},
    {23, 0, 19, 1, 5, 0},
    {4, 129, 14, 0, 5, 0},
    {4, 130, 14, 0, 5, 0},
    {4, 0, 14, 0, 5, 170},
    {4, 132, 14, 0, 5, 0},
    {4, 0, 14, 0, 5, 136},
    {19, 0, 1, 0, 2, 0},
    {19, 0, 1, 0, 5, 80},
    {10, 0, 18, 0, 5, 0},
    {8, 0, 1, 0, 5, 0},
    {5, 9, 1, 0, 5, 0},
    {4, 1, 14, 0, 5, 0},
    {4, 234, 14, 0, 5, 0},
    {4, 214, 14, 0, 5, 0},
    {4, 202, 14, 0, 5, 0},
    {4, 233, 14, 0, 5, 0},
    {2, 0, 1, 0, 5, 138},
    {2, 0, 1, 0, 5, 170},
    {3, 0, 1, 0, 5, 10},
    {1, 0, 1, 0, 5, 170},
    {29, 0, 19, 0, 5, 170},
    {10, 0, 18, 0, 5, 170},
    {10, 0, 18, 0, 5, 136},
    {14, 0, 15, 0, 5, 0},
    {14, 0, 1, 0, 5, 0},
    {14, 0, 4, 0, 5, 0},
    {21, 0, 19, 0, 4, 0},
    {21, 0, 19, 0, 5, 136},
    {26, 0, 19, 0, 5, 136},
    {24, 0, 19, 0, 4, 0},
    {25, 0, 19, 0, 4, 0},
    {22, 0, 19, 0, 5, 0},
    {24, 0, 19, 0, 5, 0},
    {26, 0, 19, 0, 4, 136},
    {11, 0, 18, 0, 5, 0},
    {12, 0, 16, 0, 5, 0},
    {14, 0, 2, 0, 5, 0},
    {14, 0, 6, 0, 5, 0},
    {14, 0, 8, 0, 5, 0},
    {14, 0, 3, 0, 5, 0},
    {14, 0, 7, 0, 5, 0},
    {26, 0, 11, 0, 4, 0},
    {26, 0, 11, 0, 4, 136},
    {26, 0, 11, 0, 5, 136},
    {20, 0, 19, 0, 5, 0},
    {27, 0, 13, 0, 5, 0},
    {9, 0, 9, 0, 5, 136},
    {27, 0, 10, 0, 5, 136},
    {27, 0, 19, 0, 5, 136},
    {22, 0, 19, 1, 5, 136},
    {23, 0, 19, 1, 5, 136},
    {18, 0, 1, 0, 4, 136},
    {28, 0, 11, 0, 5, 136},
    {28, 0, 11, 0, 1, 0},
    {30, 0, 19, 0, 5, 136},
    {30, 0, 19, 0, 4, 136},
    {1, 0, 1, 0, 4, 170},
    {30, 0, 11, 0, 5, 0},
    {27, 0, 19, 1, 5, 136},
    {9, 0, 19, 0, 5, 136},
    {8, 0, 1, 0, 4, 136},
    {8, 0, 1, 0, 5, 136},
    {27, 0, 19, 0, 5, 10},
    {30, 0, 19, 0, 5, 10},
    {27, 0, 19, 1, 5, 0},
    {27, 0, 19, 1, 4, 0},
    {27, 0, 19, 1, 5, 10},
    {27, 0, 10, 0, 5, 0},
    {27, 0, 11, 0, 5, 0},
    {27, 0, 19, 1, 4, 136},
    {27, 0, 19, 1, 4, 10},
    {22, 0, 19, 1, 2, 170},
    {23, 0, 19, 1, 2, 170},
    {30, 0, 1, 0, 4, 136},
    {9, 0, 19, 0, 4, 0},
    {27, 0, 19, 1, 5, 170},
    {30, 0, 19, 0, 2, 0},
    {30, 0, 19, 0, 2, 136},
    {10, 0, 18, 0, 0, 136},
    {26, 0, 19, 0, 2, 0},
    {18, 0, 1, 0, 2, 0},
    {8, 0, 1, 0, 2, 0},
    {22, 0, 19, 1, 2, 0},
    {23, 0, 19, 1, 2, 0},
    {21, 0, 19, 0, 2, 0},
    {22, 0, 19, 0, 2, 0},
    {23, 0, 19, 0, 2, 0},
    {4, 218, 14, 0, 2, 0},
    {4, 228, 14, 0, 2, 0},
    {4, 232, 14, 0, 2, 0},
    {4, 222, 14, 0, 2, 0},
    {5, 224, 1, 0, 2, 0},
    {8, 0, 1, 0, 2, 136},
    {19, 0, 1, 0, 2, 10},
    {4, 8, 14, 0, 2, 80},
    {29, 0, 19, 0, 2, 136},
    {18, 0, 1, 0, 2, 10},
    {19, 0, 1, 0, 2, 136},
    {30, 0, 1, 0, 2, 0},
    {9, 0, 1, 0, 2, 136},
    {30, 0, 1, 0, 2, 136},
    {9, 0, 1, 0, 4, 0},
    {9, 0, 19, 0, 2, 136},
    {29, 0, 1, 0, 5, 0},
    {15, 0, 1, 0, 5, 0},
    {16, 0, 1, 0, 4, 0},
    {19, 0, 1, 0, 2, 170},
    {19, 0, 4, 0, 5, 170},
    {4, 26, 14, 0, 5, 0},
    {19, 0, 4, 0, 5, 136},
    {29, 0, 5, 0, 5, 0},
    {23, 0, 19, 0, 5, 0},
    {28, 0, 5, 0, 5, 136},
    {26, 0, 19, 0, 2, 136},
    {22, 0, 19, 0, 2, 136},
    {23, 0, 19, 0, 2, 136},
    {21, 0, 19, 0, 2, 136},
    {20, 0, 19, 0, 2, 136},
    {26, 0, 13, 0, 2, 136},
    {22, 0, 19, 1, 2, 136},
    {23, 0, 19, 1, 2, 136},
    {26, 0, 11, 0, 2, 136},
    {27, 0, 10, 0, 2, 136},
    {21, 0, 10, 0, 2, 136},
    {27, 0, 19, 1, 2, 136},
    {27, 0, 19, 0, 2, 136},
    {28, 0, 11, 0, 2, 136},
    {26, 0, 19, 0, 0, 136},
    {26, 0, 11, 0, 0, 136},
    {28, 0, 11, 0, 0, 136},
    {22, 0, 19, 1, 0, 136},
    {23, 0, 19, 1, 0, 136},
    {27, 0, 10, 0, 0, 136},
    {26, 0, 13, 0, 0, 136},
    {21, 0, 10, 0, 0, 136},
    {7, 0, 9, 0, 0, 136},
    {27, 0, 19, 1, 0, 136},
    {27, 0, 19, 0, 0, 136},
    {1, 0, 1, 0, 0, 136},
    {29, 0, 19, 0, 0, 136},
    {20, 0, 19, 0, 0, 136},
    {2, 0, 1, 0, 0, 136},
    {26, 0, 19, 0, 1, 136},
    {22, 0, 19, 1, 1, 136},
    {23, 0, 19, 1, 1, 136},
    {19, 0, 1, 0, 1, 136},
    {18, 0, 1, 0, 1, 136},
    {30, 0, 19, 0, 0, 136},
    {30, 0, 19, 0, 1, 136},
    {27, 0, 19, 0, 1, 136},
    {14, 0, 19, 0, 5, 0},
    {8, 0, 19, 0, 5, 0},
    {9, 0, 4, 0, 5, 0},
    {9, 0, 12, 0, 5, 0},
    {30, 0, 1, 0, 5, 170},
    {5, 216, 1, 0, 5, 0},
    {5, 226, 1, 0, 5, 0},
    {27, 0, 1, 0, 5, 136},
    {7, 0, 9, 0, 5, 136},
    {30, 0, 1, 0, 5, 136},
    {30, 0, 1, 0, 4, 0},
};

/* Reindexing of NFC first characters. */
#define TOTAL_FIRST 372
#define TOTAL_LAST 56
struct reindex{int start;short count,index;};
static struct reindex nfc_first[] = {
  { 60, 2, 0},
  { 65, 15, 3},
  { 82, 8, 19},
  { 97, 15, 28},
  { 114, 8, 44},
  { 168, 0, 53},
  { 194, 0, 54},
  { 196, 3, 55},
  { 202, 0, 59},
  { 207, 0, 60},
  { 212, 2, 61},
  { 216, 0, 64},
  { 220, 0, 65},
  { 226, 0, 66},
  { 228, 3, 67},
  { 234, 0, 71},
  { 239, 0, 72},
  { 244, 2, 73},
  { 248, 0, 76},
  { 252, 0, 77},
  { 258, 1, 78},
  { 274, 1, 80},
  { 332, 1, 82},
  { 346, 1, 84},
  { 352, 1, 86},
  { 360, 3, 88},
  { 383, 0, 92},
  { 416, 1, 93},
  { 431, 1, 95},
  { 439, 0, 97},
  { 490, 1, 98},
  { 550, 3, 100},
  { 558, 1, 104},
  { 658, 0, 106},
  { 913, 0, 107},
  { 917, 0, 108},
  { 919, 0, 109},
  { 921, 0, 110},
  { 927, 0, 111},
  { 929, 0, 112},
  { 933, 0, 113},
  { 937, 0, 114},
  { 940, 0, 115},
  { 942, 0, 116},
  { 945, 0, 117},
  { 949, 0, 118},
  { 951, 0, 119},
  { 953, 0, 120},
  { 959, 0, 121},
  { 961, 0, 122},
  { 965, 0, 123},
  { 969, 2, 124},
  { 974, 0, 127},
  { 978, 0, 128},
  { 1030, 0, 129},
  { 1040, 0, 130},
  { 1043, 0, 131},
  { 1045, 3, 132},
  { 1050, 0, 136},
  { 1054, 0, 137},
  { 1059, 0, 138},
  { 1063, 0, 139},
  { 1067, 0, 140},
  { 1069, 0, 141},
  { 1072, 0, 142},
  { 1075, 0, 143},
  { 1077, 3, 144},
  { 1082, 0, 148},
  { 1086, 0, 149},
  { 1091, 0, 150},
  { 1095, 0, 151},
  { 1099, 0, 152},
  { 1101, 0, 153},
  { 1110, 0, 154},
  { 1140, 1, 155},
  { 1240, 1, 157},
  { 1256, 1, 159},
  { 1575, 0, 161},
  { 1608, 0, 162},
  { 1610, 0, 163},
  { 1729, 0, 164},
  { 1746, 0, 165},
  { 1749, 0, 166},
  { 2344, 0, 167},
  { 2352, 0, 168},
  { 2355, 0, 169},
  { 2503, 0, 170},
  { 2887, 0, 171},
  { 2962, 0, 172},
  { 3014, 1, 173},
  { 3142, 0, 175},
  { 3263, 0, 176},
  { 3270, 0, 177},
  { 3274, 0, 178},
  { 3398, 1, 179},
  { 3545, 0, 181},
  { 3548, 0, 182},
  { 4133, 0, 183},
  { 6917, 0, 184},
  { 6919, 0, 185},
  { 6921, 0, 186},
  { 6923, 0, 187},
  { 6925, 0, 188},
  { 6929, 0, 189},
  { 6970, 0, 190},
  { 6972, 0, 191},
  { 6974, 1, 192},
  { 6978, 0, 194},
  { 7734, 1, 195},
  { 7770, 1, 197},
  { 7778, 1, 199},
  { 7840, 1, 201},
  { 7864, 1, 203},
  { 7884, 1, 205},
  { 7936, 17, 207},
  { 7960, 1, 225},
  { 7968, 17, 227},
  { 7992, 1, 245},
  { 8000, 1, 247},
  { 8008, 1, 249},
  { 8016, 1, 251},
  { 8025, 0, 253},
  { 8032, 16, 254},
  { 8052, 0, 271},
  { 8060, 0, 272},
  { 8118, 0, 273},
  { 8127, 0, 274},
  { 8134, 0, 275},
  { 8182, 0, 276},
  { 8190, 0, 277},
  { 8592, 0, 278},
  { 8594, 0, 279},
  { 8596, 0, 280},
  { 8656, 0, 281},
  { 8658, 0, 282},
  { 8660, 0, 283},
  { 8707, 0, 284},
  { 8712, 0, 285},
  { 8715, 0, 286},
  { 8739, 0, 287},
  { 8741, 0, 288},
  { 8764, 0, 289},
  { 8771, 0, 290},
  { 8773, 0, 291},
  { 8776, 0, 292},
  { 8781, 0, 293},
  { 8801, 0, 294},
  { 8804, 1, 295},
  { 8818, 1, 297},
  { 8822, 1, 299},
  { 8826, 3, 301},
  { 8834, 1, 305},
  { 8838, 1, 307},
  { 8849, 1, 309},
  { 8866, 0, 311},
  { 8872, 1, 312},
  { 8875, 0, 314},
  { 8882, 3, 315},
  { 12358, 0, 319},
  { 12363, 0, 320},
  { 12365, 0, 321},
  { 12367, 0, 322},
  { 12369, 0, 323},
  { 12371, 0, 324},
  { 12373, 0, 325},
  { 12375, 0, 326},
  { 12377, 0, 327},
  { 12379, 0, 328},
  { 12381, 0, 329},
  { 12383, 0, 330},
  { 12385, 0, 331},
  { 12388, 0, 332},
  { 12390, 0, 333},
  { 12392, 0, 334},
  { 12399, 0, 335},
  { 12402, 0, 336},
  { 12405, 0, 337},
  { 12408, 0, 338},
  { 12411, 0, 339},
  { 12445, 0, 340},
  { 12454, 0, 341},
  { 12459, 0, 342},
  { 12461, 0, 343},
  { 12463, 0, 344},
  { 12465, 0, 345},
  { 12467, 0, 346},
  { 12469, 0, 347},
  { 12471, 0, 348},
  { 12473, 0, 349},
  { 12475, 0, 350},
  { 12477, 0, 351},
  { 12479, 0, 352},
  { 12481, 0, 353},
  { 12484, 0, 354},
  { 12486, 0, 355},
  { 12488, 0, 356},
  { 12495, 0, 357},
  { 12498, 0, 358},
  { 12501, 0, 359},
  { 12504, 0, 360},
  { 12507, 0, 361},
  { 12527, 3, 362},
  { 12541, 0, 366},
  { 69785, 0, 367},
  { 69787, 0, 368},
  { 69797, 0, 369},
  { 69937, 1, 370},
  {0,0,0}
};

static struct reindex nfc_last[] = {
  { 768, 4, 0},
  { 774, 6, 5},
  { 783, 0, 12},
  { 785, 0, 13},
  { 787, 1, 14},
  { 795, 0, 16},
  { 803, 5, 17},
  { 813, 1, 23},
  { 816, 1, 25},
  { 824, 0, 27},
  { 834, 0, 28},
  { 837, 0, 29},
  { 1619, 2, 30},
  { 2364, 0, 33},
  { 2494, 0, 34},
  { 2519, 0, 35},
  { 2878, 0, 36},
  { 2902, 1, 37},
  { 3006, 0, 39},
  { 3031, 0, 40},
  { 3158, 0, 41},
  { 3266, 0, 42},
  { 3285, 1, 43},
  { 3390, 0, 45},
  { 3415, 0, 46},
  { 3530, 0, 47},
  { 3535, 0, 48},
  { 3551, 0, 49},
  { 4142, 0, 50},
  { 6965, 0, 51},
  { 12441, 1, 52},
  { 69818, 0, 54},
  { 69927, 0, 55},
  {0,0,0}
};

/* string literals */
const char *_PyUnicode_CategoryNames[] = {
    "Cn",
    "Lu",
    "Ll",
    "Lt",
    "Mn",
    "Mc",
    "Me",
    "Nd",
    "Nl",
    "No",
    "Zs",
    "Zl",
    "Zp",
    "Cc",
    "Cf",
    "Cs",
    "Co",
    "Cn",
    "Lm",
    "Lo",
    "Pc",
    "Pd",
    "Ps",
    "Pe",
    "Pi",
    "Pf",
    "Po",
    "Sm",
    "Sc",
    "Sk",
    "So",
    NULL
};
const char *_PyUnicode_BidirectionalNames[] = {
    "",
    "L",
    "LRE",
    "LRO",
    "R",
    "AL",
    "RLE",
    "RLO",
    "PDF",
    "EN",
    "ES",
    "ET",
    "AN",
    "CS",
    "NSM",
    "BN",
    "B",
    "S",
    "WS",
    "ON",
    NULL
};
const char *_PyUnicode_EastAsianWidthNames[] = {
    "F",
    "H",
    "W",
    "Na",
    "A",
    "N",
    NULL
};
static const char *decomp_prefix[] = {
    "",
    "<noBreak>",
    "<compat>",
    "<super>",
    "<fraction>",
    "<sub>",
    "<font>",
    "<circle>",
    "<wide>",
    "<vertical>",
    "<square>",
    "<isolated>",
    "<final>",
    "<initial>",
    "<medial>",
    "<small>",
    "<narrow>",
    NULL
};
/* index tables for the database records */
#define SHIFT 7
static unsigned char index1[] = {
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
    21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 
    39, 40, 41, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 
    55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 
    73, 74, 75, 76, 77, 78, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 
    90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 102, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    103, 104, 101, 101, 101, 101, 101, 101, 101, 101, 105, 41, 41, 106, 107, 
    108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 118, 118, 118, 
    118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 
    118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 
    118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 
    118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 
    118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 
    118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 
    120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 
    120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 123, 124, 
    125, 126, 127, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 84, 
    138, 139, 140, 141, 142, 84, 84, 84, 84, 84, 84, 143, 84, 144, 145, 146, 
    84, 147, 84, 148, 84, 84, 84, 149, 84, 84, 84, 150, 151, 152, 153, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 154, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 41, 41, 41, 41, 41, 41, 155, 84, 156, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 41, 41, 41, 41, 41, 41, 41, 41, 157, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 41, 41, 41, 41, 158, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 159, 160, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 161, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 78, 162, 163, 164, 165, 84, 166, 84, 167, 168, 169, 170, 171, 172, 
    173, 174, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 175, 176, 84, 84, 177, 178, 179, 
    180, 181, 84, 182, 183, 184, 185, 186, 187, 188, 189, 190, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 191, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 
    101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 192, 
    101, 193, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 122, 122, 122, 122, 194, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    195, 84, 196, 197, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 
    84, 84, 84, 84, 84, 84, 84, 84, 84, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    198, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 
    121, 121, 121, 121, 121, 121, 121, 121, 198, 
};

static unsigned short index2[] = {
    1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
    1, 1, 1, 1, 3, 3, 3, 2, 5, 6, 6, 7, 8, 7, 6, 6, 9, 10, 6, 11, 12, 13, 12, 
    12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 6, 15, 16, 15, 6, 6, 17, 
    17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 
    17, 17, 17, 17, 17, 17, 17, 9, 6, 10, 18, 19, 18, 20, 20, 20, 20, 20, 20, 
    20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 
    20, 20, 9, 16, 10, 16, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 22, 8, 8, 23, 8, 24, 
    22, 25, 26, 27, 28, 16, 29, 30, 31, 32, 33, 34, 34, 25, 35, 22, 22, 25, 
    34, 27, 36, 37, 37, 37, 22, 38, 38, 38, 38, 38, 38, 39, 38, 38, 38, 38, 
    38, 38, 38, 38, 38, 39, 38, 38, 38, 38, 38, 38, 40, 39, 38, 38, 38, 38, 
    38, 39, 41, 42, 42, 43, 43, 43, 43, 41, 43, 42, 42, 42, 43, 42, 42, 43, 
    43, 41, 43, 42, 42, 43, 43, 43, 40, 41, 42, 42, 43, 42, 43, 41, 43, 38, 
    42, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 44, 41, 38, 
    42, 38, 43, 38, 43, 38, 43, 38, 42, 38, 43, 38, 43, 38, 43, 38, 43, 38, 
    43, 39, 41, 38, 43, 38, 42, 38, 43, 38, 43, 38, 41, 45, 46, 38, 43, 38, 
    43, 41, 38, 43, 38, 43, 38, 43, 45, 46, 39, 41, 38, 42, 38, 43, 38, 42, 
    46, 39, 41, 38, 42, 38, 43, 38, 43, 39, 41, 38, 43, 38, 43, 38, 43, 38, 
    43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 39, 41, 38, 43, 38, 42, 38, 
    43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 38, 43, 38, 43, 38, 43, 
    35, 47, 44, 44, 47, 44, 47, 44, 44, 47, 44, 44, 44, 47, 47, 44, 44, 44, 
    44, 47, 44, 44, 47, 44, 44, 44, 47, 47, 47, 44, 44, 47, 44, 38, 43, 44, 
    47, 44, 47, 44, 44, 47, 44, 47, 47, 44, 47, 44, 38, 43, 44, 44, 44, 47, 
    44, 47, 44, 44, 47, 47, 48, 44, 47, 47, 47, 48, 48, 48, 48, 49, 50, 35, 
    49, 50, 35, 49, 50, 35, 38, 42, 38, 42, 38, 42, 38, 42, 38, 42, 38, 42, 
    38, 42, 38, 42, 47, 38, 43, 38, 43, 38, 43, 44, 47, 38, 43, 38, 43, 38, 
    43, 38, 43, 38, 43, 43, 49, 50, 35, 38, 43, 44, 44, 38, 43, 38, 43, 38, 
    43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 
    43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 44, 47, 38, 43, 44, 
    47, 44, 47, 44, 47, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 
    43, 47, 47, 47, 47, 47, 47, 44, 44, 47, 44, 44, 47, 47, 44, 47, 44, 44, 
    44, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 47, 41, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 41, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 48, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 51, 
    51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 53, 53, 53, 53, 53, 53, 53, 54, 
    54, 55, 54, 52, 56, 52, 56, 56, 56, 52, 56, 52, 52, 57, 53, 54, 54, 54, 
    54, 54, 54, 25, 25, 25, 25, 58, 25, 54, 55, 51, 51, 51, 51, 51, 54, 54, 
    54, 54, 54, 54, 54, 52, 54, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 
    54, 54, 54, 54, 54, 54, 54, 59, 59, 59, 59, 59, 60, 59, 59, 59, 59, 59, 
    59, 59, 60, 60, 59, 60, 59, 60, 59, 59, 61, 62, 62, 62, 62, 61, 63, 62, 
    62, 62, 62, 62, 64, 64, 65, 65, 65, 65, 66, 66, 62, 62, 62, 62, 65, 65, 
    62, 65, 65, 62, 62, 67, 67, 67, 67, 68, 62, 62, 62, 62, 60, 60, 60, 69, 
    69, 59, 69, 69, 70, 60, 62, 62, 62, 60, 60, 60, 62, 62, 71, 60, 60, 60, 
    62, 62, 62, 62, 60, 61, 62, 62, 60, 72, 73, 73, 72, 73, 73, 72, 60, 60, 
    60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 44, 47, 44, 47, 74, 54, 44, 
    47, 0, 0, 51, 47, 47, 47, 75, 0, 0, 0, 0, 0, 58, 76, 38, 75, 38, 38, 38, 
    0, 38, 0, 38, 38, 43, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
    39, 39, 39, 39, 0, 39, 39, 39, 39, 39, 39, 39, 38, 38, 43, 43, 43, 43, 
    43, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 
    47, 41, 41, 41, 41, 41, 41, 41, 43, 43, 43, 43, 43, 44, 35, 35, 49, 77, 
    77, 35, 35, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 35, 35, 35, 47, 49, 35, 78, 44, 
    47, 49, 44, 47, 47, 44, 44, 44, 38, 79, 44, 38, 44, 44, 44, 38, 44, 44, 
    44, 44, 38, 38, 38, 44, 39, 39, 39, 39, 39, 39, 39, 39, 39, 79, 39, 39, 
    39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 
    39, 39, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 41, 41, 41, 41, 41, 41, 
    41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 43, 42, 
    47, 43, 47, 47, 47, 43, 47, 47, 47, 47, 43, 43, 43, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    38, 43, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 80, 81, 81, 81, 81, 81, 
    82, 82, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 38, 43, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 47, 
    38, 43, 38, 43, 44, 47, 38, 43, 44, 47, 38, 43, 38, 43, 38, 43, 44, 47, 
    38, 43, 38, 43, 38, 43, 44, 47, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 44, 47, 38, 43, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 0, 0, 53, 83, 83, 83, 83, 83, 83, 0, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 35, 
    0, 83, 84, 0, 0, 0, 0, 85, 0, 86, 81, 81, 81, 81, 86, 81, 81, 81, 87, 86, 
    81, 81, 81, 81, 81, 81, 86, 86, 86, 86, 86, 86, 81, 81, 86, 81, 81, 87, 
    88, 81, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 98, 99, 100, 101, 102, 
    103, 104, 105, 106, 104, 81, 86, 104, 97, 0, 0, 0, 0, 0, 0, 0, 0, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 
    0, 107, 107, 107, 104, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 108, 
    108, 108, 108, 0, 78, 78, 109, 110, 110, 111, 112, 113, 26, 26, 81, 81, 
    81, 81, 81, 81, 81, 81, 114, 115, 116, 113, 0, 0, 113, 113, 117, 117, 
    118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 119, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 120, 
    121, 122, 114, 115, 116, 123, 124, 125, 125, 126, 86, 81, 81, 81, 81, 81, 
    86, 81, 81, 86, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 110, 
    128, 128, 113, 117, 117, 129, 117, 117, 117, 117, 130, 130, 130, 130, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 118, 117, 118, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 118, 113, 117, 81, 81, 81, 81, 81, 81, 81, 
    108, 26, 81, 81, 81, 81, 86, 81, 119, 119, 81, 81, 26, 86, 81, 81, 86, 
    117, 117, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 117, 117, 
    117, 132, 132, 117, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 
    113, 113, 113, 113, 0, 133, 117, 134, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 81, 86, 81, 81, 86, 81, 81, 
    86, 86, 86, 81, 86, 86, 81, 86, 81, 81, 81, 86, 81, 86, 81, 86, 81, 86, 
    81, 81, 0, 0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 
    117, 117, 117, 117, 117, 117, 117, 135, 135, 135, 135, 135, 135, 135, 
    135, 135, 135, 135, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 
    136, 136, 136, 136, 136, 136, 136, 136, 136, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 81, 
    81, 81, 81, 81, 81, 81, 86, 81, 137, 137, 26, 138, 138, 138, 137, 0, 0, 
    0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 81, 81, 81, 81, 137, 81, 81, 
    81, 81, 81, 81, 81, 81, 81, 137, 81, 81, 81, 137, 81, 81, 81, 81, 81, 0, 
    0, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 
    104, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 86, 86, 86, 
    0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, 0, 117, 
    117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 
    81, 86, 81, 81, 86, 81, 81, 81, 86, 86, 86, 120, 121, 122, 81, 81, 81, 
    86, 81, 81, 86, 86, 81, 81, 81, 81, 0, 135, 135, 135, 139, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 140, 48, 
    48, 48, 48, 48, 48, 48, 140, 48, 48, 140, 48, 48, 48, 48, 48, 135, 139, 
    141, 48, 139, 139, 139, 135, 135, 135, 135, 135, 135, 135, 135, 139, 139, 
    139, 139, 142, 139, 139, 48, 81, 86, 81, 81, 135, 135, 135, 143, 143, 
    143, 143, 143, 143, 143, 143, 48, 48, 135, 135, 83, 83, 144, 144, 144, 
    144, 144, 144, 144, 144, 144, 144, 83, 53, 48, 48, 48, 48, 48, 48, 0, 48, 
    48, 48, 48, 48, 48, 48, 0, 135, 139, 139, 0, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 0, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 0, 
    48, 0, 0, 0, 48, 48, 48, 48, 0, 0, 145, 48, 146, 139, 139, 135, 135, 135, 
    135, 0, 0, 139, 139, 0, 0, 147, 147, 142, 48, 0, 0, 0, 0, 0, 0, 0, 0, 
    146, 0, 0, 0, 0, 143, 143, 0, 143, 48, 48, 135, 135, 0, 0, 144, 144, 144, 
    144, 144, 144, 144, 144, 144, 144, 48, 48, 85, 85, 148, 148, 148, 148, 
    148, 148, 80, 85, 0, 0, 0, 0, 0, 135, 135, 139, 0, 48, 48, 48, 48, 48, 
    48, 0, 0, 0, 0, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 
    48, 0, 48, 143, 0, 48, 143, 0, 48, 48, 0, 0, 145, 0, 139, 139, 139, 135, 
    135, 0, 0, 0, 0, 135, 135, 0, 0, 135, 135, 142, 0, 0, 0, 135, 0, 0, 0, 0, 
    0, 0, 0, 143, 143, 143, 48, 0, 143, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 
    144, 144, 144, 144, 144, 144, 144, 135, 135, 48, 48, 48, 135, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 135, 135, 139, 0, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 
    48, 0, 48, 48, 48, 48, 48, 0, 0, 145, 48, 139, 139, 139, 135, 135, 135, 
    135, 135, 0, 135, 135, 139, 0, 139, 139, 142, 0, 0, 48, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 135, 135, 0, 0, 144, 144, 144, 144, 
    144, 144, 144, 144, 144, 144, 83, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 135, 139, 139, 0, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 48, 48, 
    0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 0, 48, 48, 
    48, 48, 48, 0, 0, 145, 48, 146, 135, 139, 135, 135, 135, 135, 0, 0, 139, 
    147, 0, 0, 147, 147, 142, 0, 0, 0, 0, 0, 0, 0, 0, 149, 146, 0, 0, 0, 0, 
    143, 143, 0, 48, 48, 48, 135, 135, 0, 0, 144, 144, 144, 144, 144, 144, 
    144, 144, 144, 144, 80, 48, 148, 148, 148, 148, 148, 148, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 135, 48, 0, 48, 48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 
    0, 48, 48, 140, 48, 0, 0, 0, 48, 48, 0, 48, 0, 48, 48, 0, 0, 0, 48, 48, 
    0, 0, 0, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 0, 0, 0, 146, 139, 135, 139, 139, 0, 0, 0, 139, 139, 139, 0, 147, 
    147, 147, 142, 0, 0, 48, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 148, 
    148, 148, 26, 26, 26, 26, 26, 26, 85, 26, 0, 0, 0, 0, 0, 0, 139, 139, 
    139, 0, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 0, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 0, 
    0, 0, 48, 135, 135, 135, 139, 139, 139, 139, 0, 135, 135, 150, 0, 135, 
    135, 135, 142, 0, 0, 0, 0, 0, 0, 0, 151, 152, 0, 48, 48, 0, 0, 0, 0, 0, 
    0, 48, 48, 135, 135, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 0, 0, 0, 0, 0, 0, 0, 0, 153, 153, 153, 153, 153, 153, 153, 80, 0, 0, 
    139, 139, 0, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 0, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 
    48, 0, 0, 145, 48, 139, 154, 147, 139, 146, 139, 139, 0, 154, 147, 147, 
    0, 147, 147, 135, 142, 0, 0, 0, 0, 0, 0, 0, 146, 146, 0, 0, 0, 0, 0, 0, 
    0, 48, 0, 48, 48, 135, 135, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 144, 0, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 
    139, 0, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 0, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 0, 48, 146, 139, 139, 135, 135, 135, 135, 0, 139, 139, 139, 0, 
    147, 147, 147, 142, 48, 0, 0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 
    0, 48, 48, 135, 135, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 148, 148, 148, 148, 148, 148, 0, 0, 0, 80, 48, 48, 48, 48, 48, 48, 
    0, 0, 139, 139, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 0, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 
    155, 0, 0, 0, 0, 146, 139, 139, 135, 135, 135, 0, 135, 0, 139, 139, 147, 
    139, 147, 147, 147, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 139, 139, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 135, 48, 156, 135, 135, 135, 135, 157, 
    157, 142, 0, 0, 0, 0, 85, 48, 48, 48, 48, 48, 48, 53, 135, 158, 158, 158, 
    158, 135, 135, 135, 83, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 
    83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 0, 48, 0, 0, 48, 48, 
    0, 48, 0, 0, 48, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 
    48, 48, 0, 48, 48, 48, 0, 48, 0, 48, 0, 0, 48, 48, 0, 48, 48, 48, 48, 
    135, 48, 156, 135, 135, 135, 135, 159, 159, 0, 135, 135, 48, 0, 0, 48, 
    48, 48, 48, 48, 0, 53, 0, 160, 160, 160, 160, 135, 135, 0, 0, 144, 144, 
    144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 156, 156, 48, 48, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 48, 80, 80, 80, 83, 83, 83, 83, 83, 83, 83, 83, 161, 83, 
    83, 83, 83, 83, 83, 80, 83, 80, 80, 80, 86, 86, 80, 80, 80, 80, 80, 80, 
    144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 148, 148, 148, 148, 
    148, 148, 148, 148, 148, 148, 80, 86, 80, 86, 80, 162, 163, 164, 163, 
    164, 139, 139, 48, 48, 48, 143, 48, 48, 48, 48, 0, 48, 48, 48, 48, 143, 
    48, 48, 48, 48, 143, 48, 48, 48, 48, 143, 48, 48, 48, 48, 143, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 143, 48, 48, 48, 0, 0, 0, 0, 165, 
    166, 167, 168, 167, 167, 169, 167, 169, 166, 166, 166, 166, 135, 139, 
    166, 167, 81, 81, 142, 83, 81, 81, 48, 48, 48, 48, 48, 135, 135, 135, 
    135, 135, 135, 167, 135, 135, 135, 135, 0, 135, 135, 135, 135, 167, 135, 
    135, 135, 135, 167, 135, 135, 135, 135, 167, 135, 135, 135, 135, 167, 
    135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 167, 135, 
    135, 135, 0, 80, 80, 80, 80, 80, 80, 80, 80, 86, 80, 80, 80, 80, 80, 80, 
    0, 80, 80, 83, 83, 83, 83, 83, 80, 80, 80, 80, 83, 83, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 140, 48, 48, 48, 48, 139, 139, 135, 149, 135, 
    135, 139, 135, 135, 135, 135, 135, 145, 139, 142, 142, 139, 139, 135, 
    135, 48, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 83, 83, 83, 
    83, 83, 83, 48, 48, 48, 48, 48, 48, 139, 139, 135, 135, 48, 48, 48, 48, 
    135, 135, 135, 48, 139, 139, 139, 48, 48, 139, 139, 139, 139, 139, 139, 
    139, 48, 48, 48, 135, 135, 135, 135, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 135, 139, 139, 135, 135, 139, 139, 139, 139, 139, 139, 
    86, 48, 139, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 139, 139, 
    139, 135, 80, 80, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 0, 44, 0, 0, 0, 0, 0, 44, 0, 0, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 83, 51, 48, 48, 48, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 48, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 
    171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 170, 170, 170, 170, 170, 171, 171, 171, 171, 171, 
    171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 
    171, 171, 171, 171, 171, 171, 171, 171, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 170, 170, 170, 170, 170, 170, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 0, 48, 
    48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 0, 0, 
    48, 48, 48, 48, 48, 48, 48, 0, 48, 0, 48, 48, 48, 48, 0, 0, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 
    48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 
    81, 81, 81, 83, 83, 83, 83, 83, 83, 83, 83, 83, 148, 148, 148, 148, 148, 
    148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 
    148, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    84, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 172, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 163, 164, 0, 
    0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 83, 83, 83, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 
    48, 48, 48, 135, 135, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 135, 135, 
    142, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 
    48, 48, 0, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 135, 135, 139, 135, 135, 
    135, 135, 135, 135, 135, 139, 139, 139, 139, 139, 139, 139, 139, 135, 
    139, 139, 135, 135, 135, 135, 135, 135, 135, 135, 135, 142, 135, 83, 83, 
    83, 53, 83, 83, 83, 85, 48, 81, 0, 0, 144, 144, 144, 144, 144, 144, 144, 
    144, 144, 144, 0, 0, 0, 0, 0, 0, 153, 153, 153, 153, 153, 153, 153, 153, 
    153, 153, 0, 0, 0, 0, 0, 0, 138, 138, 138, 138, 138, 138, 84, 138, 138, 
    138, 138, 135, 135, 135, 172, 0, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 144, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 53, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 88, 48, 
    0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 0, 0, 0, 135, 135, 135, 139, 139, 139, 139, 135, 135, 139, 139, 
    139, 0, 0, 0, 0, 139, 139, 135, 139, 139, 139, 139, 139, 139, 87, 81, 86, 
    0, 0, 0, 0, 26, 0, 0, 0, 138, 138, 144, 144, 144, 144, 144, 144, 144, 
    144, 144, 144, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 48, 
    48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 0, 0, 0, 0, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 
    139, 139, 139, 139, 139, 139, 139, 48, 48, 48, 48, 48, 48, 48, 139, 139, 
    0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 148, 
    0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 81, 86, 139, 139, 139, 0, 0, 83, 83, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 139, 135, 139, 135, 
    135, 135, 135, 135, 135, 135, 0, 142, 139, 135, 139, 139, 135, 135, 135, 
    135, 135, 135, 135, 135, 139, 139, 139, 139, 139, 139, 135, 135, 81, 81, 
    81, 81, 81, 81, 81, 81, 0, 0, 86, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 144, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 0, 0, 0, 0, 0, 0, 83, 83, 83, 83, 83, 83, 83, 53, 83, 83, 83, 83, 
    83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 135, 135, 139, 48, 140, 48, 
    140, 48, 140, 48, 140, 48, 140, 48, 48, 48, 140, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 145, 146, 135, 135, 135, 135, 135, 
    147, 135, 147, 139, 139, 147, 147, 135, 147, 174, 48, 48, 48, 48, 48, 48, 
    48, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 83, 83, 
    83, 83, 83, 83, 83, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 86, 81, 
    81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, 135, 
    135, 139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 139, 135, 135, 
    135, 135, 139, 139, 135, 135, 174, 142, 139, 139, 48, 48, 144, 144, 144, 
    144, 144, 144, 144, 144, 144, 144, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 145, 
    139, 135, 135, 139, 139, 139, 135, 139, 135, 135, 135, 174, 174, 0, 0, 0, 
    0, 0, 0, 0, 0, 83, 83, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 139, 139, 139, 139, 139, 139, 139, 139, 
    135, 135, 135, 135, 135, 135, 135, 135, 139, 139, 135, 145, 0, 0, 0, 83, 
    83, 83, 83, 83, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 
    0, 48, 48, 48, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 53, 53, 53, 53, 53, 83, 83, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 83, 83, 83, 83, 83, 
    83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 81, 81, 81, 83, 175, 86, 86, 86, 86, 86, 
    81, 81, 86, 86, 86, 86, 81, 139, 175, 175, 175, 175, 175, 175, 175, 48, 
    48, 48, 48, 86, 48, 48, 48, 48, 139, 139, 81, 48, 48, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 51, 51, 51, 53, 51, 51, 51, 51, 
    51, 51, 51, 51, 51, 51, 51, 53, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 
    51, 51, 51, 51, 51, 51, 51, 51, 53, 51, 51, 51, 51, 51, 51, 51, 51, 51, 
    51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 
    51, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 51, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 51, 51, 51, 51, 51, 
    51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 
    51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 81, 81, 86, 81, 
    81, 81, 81, 81, 81, 81, 86, 81, 81, 176, 177, 86, 178, 81, 81, 81, 81, 
    81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179, 86, 
    81, 86, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 43, 43, 43, 43, 35, 180, 47, 47, 44, 47, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 38, 43, 
    44, 47, 44, 47, 44, 47, 43, 43, 43, 43, 43, 43, 43, 43, 38, 38, 38, 38, 
    38, 38, 38, 38, 43, 43, 43, 43, 43, 43, 0, 0, 38, 38, 38, 38, 38, 38, 0, 
    0, 43, 43, 43, 43, 43, 43, 43, 43, 38, 38, 38, 38, 38, 38, 38, 38, 43, 
    43, 43, 43, 43, 43, 43, 43, 38, 38, 38, 38, 38, 38, 38, 38, 43, 43, 43, 
    43, 43, 43, 0, 0, 38, 38, 38, 38, 38, 38, 0, 0, 43, 43, 43, 43, 43, 43, 
    43, 43, 0, 38, 0, 38, 0, 38, 0, 38, 43, 43, 43, 43, 43, 43, 43, 43, 38, 
    38, 38, 38, 38, 38, 38, 38, 43, 181, 43, 181, 43, 181, 43, 181, 43, 181, 
    43, 181, 43, 181, 0, 0, 43, 43, 43, 43, 43, 43, 43, 43, 182, 182, 182, 
    182, 182, 182, 182, 182, 43, 43, 43, 43, 43, 43, 43, 43, 182, 182, 182, 
    182, 182, 182, 182, 182, 43, 43, 43, 43, 43, 43, 43, 43, 182, 182, 182, 
    182, 182, 182, 182, 182, 43, 43, 43, 43, 43, 0, 43, 43, 38, 38, 38, 183, 
    182, 58, 181, 58, 58, 76, 43, 43, 43, 0, 43, 43, 38, 183, 38, 183, 182, 
    76, 76, 76, 43, 43, 43, 181, 0, 0, 43, 43, 38, 38, 38, 183, 0, 76, 76, 
    76, 43, 43, 43, 181, 43, 43, 43, 43, 38, 38, 38, 183, 38, 76, 184, 184, 
    0, 0, 43, 43, 43, 0, 43, 43, 38, 183, 38, 183, 182, 184, 58, 0, 185, 185, 
    186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 187, 187, 188, 189, 
    190, 191, 84, 190, 190, 190, 22, 192, 193, 194, 195, 196, 193, 194, 195, 
    196, 22, 22, 22, 138, 197, 197, 197, 22, 198, 199, 200, 201, 202, 203, 
    204, 21, 205, 110, 205, 206, 207, 22, 192, 192, 138, 28, 36, 22, 192, 
    138, 197, 208, 208, 138, 138, 138, 209, 163, 164, 192, 192, 192, 138, 
    138, 138, 138, 138, 138, 138, 138, 78, 138, 208, 138, 138, 192, 138, 138, 
    138, 138, 138, 138, 138, 186, 187, 187, 187, 187, 187, 0, 0, 0, 0, 0, 
    187, 187, 187, 187, 187, 187, 210, 51, 0, 0, 34, 210, 210, 210, 210, 210, 
    211, 211, 212, 213, 214, 215, 210, 34, 34, 34, 34, 210, 210, 210, 210, 
    210, 211, 211, 212, 213, 214, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 
    51, 51, 51, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 216, 217, 85, 85, 
    23, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 81, 175, 175, 81, 81, 
    81, 81, 175, 175, 175, 81, 81, 82, 82, 82, 82, 81, 82, 82, 82, 175, 175, 
    81, 86, 81, 175, 175, 86, 86, 86, 86, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 218, 218, 49, 219, 26, 219, 218, 49, 26, 219, 35, 49, 49, 
    49, 35, 35, 49, 49, 49, 46, 26, 49, 219, 26, 78, 49, 49, 49, 49, 49, 26, 
    26, 218, 219, 219, 26, 49, 26, 220, 26, 49, 26, 183, 220, 49, 49, 221, 
    35, 49, 49, 44, 49, 35, 156, 156, 156, 156, 35, 26, 218, 35, 35, 49, 49, 
    222, 78, 78, 78, 78, 49, 35, 35, 35, 35, 26, 78, 26, 26, 47, 80, 223, 
    223, 223, 37, 37, 223, 223, 223, 223, 223, 223, 37, 37, 37, 37, 223, 224, 
    224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, 
    225, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 225, 225, 225, 
    225, 225, 225, 173, 173, 173, 44, 47, 173, 173, 173, 173, 37, 0, 0, 0, 0, 
    0, 0, 40, 40, 40, 40, 40, 30, 30, 30, 30, 30, 226, 226, 26, 26, 26, 26, 
    78, 26, 26, 78, 26, 26, 78, 26, 26, 26, 26, 26, 26, 26, 226, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 227, 226, 226, 26, 26, 40, 26, 40, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 40, 228, 229, 229, 230, 78, 78, 40, 229, 230, 
    228, 229, 230, 228, 78, 40, 78, 229, 231, 232, 78, 229, 228, 78, 78, 78, 
    229, 228, 228, 229, 40, 229, 229, 228, 228, 40, 230, 40, 230, 40, 40, 40, 
    40, 229, 233, 222, 229, 222, 222, 228, 228, 228, 40, 40, 40, 40, 78, 228, 
    78, 228, 229, 229, 228, 228, 228, 230, 228, 228, 230, 228, 228, 230, 229, 
    230, 228, 228, 229, 78, 78, 78, 78, 78, 229, 228, 228, 228, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 228, 234, 40, 230, 78, 229, 229, 229, 229, 228, 
    228, 229, 229, 78, 226, 234, 234, 230, 230, 228, 228, 230, 230, 228, 228, 
    230, 230, 228, 228, 228, 228, 228, 228, 230, 230, 229, 229, 230, 230, 
    229, 229, 230, 230, 228, 228, 228, 78, 78, 228, 228, 228, 228, 78, 78, 
    40, 78, 78, 228, 40, 78, 78, 78, 78, 78, 78, 78, 78, 228, 228, 78, 40, 
    228, 228, 228, 228, 228, 228, 230, 230, 230, 230, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 78, 78, 78, 78, 78, 228, 229, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 228, 228, 228, 228, 228, 78, 78, 228, 228, 78, 78, 
    78, 78, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 230, 230, 230, 
    230, 228, 228, 228, 228, 228, 228, 230, 230, 230, 230, 78, 78, 228, 228, 
    228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 26, 
    26, 26, 26, 26, 26, 26, 26, 228, 228, 228, 228, 26, 26, 26, 26, 26, 26, 
    30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 228, 228, 26, 26, 
    26, 26, 26, 26, 26, 235, 236, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 26, 78, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 80, 26, 26, 26, 26, 26, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 78, 78, 78, 78, 78, 78, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 37, 37, 37, 37, 
    37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 
    37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 34, 
    34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 
    34, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 223, 238, 238, 238, 238, 238, 
    238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 
    238, 238, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 26, 26, 30, 30, 30, 30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    30, 30, 26, 30, 30, 30, 30, 30, 30, 30, 26, 26, 26, 26, 26, 26, 26, 26, 
    30, 30, 26, 26, 30, 40, 26, 26, 26, 26, 30, 30, 26, 26, 30, 40, 26, 26, 
    26, 26, 30, 30, 30, 26, 26, 30, 26, 26, 30, 30, 30, 30, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 30, 30, 30, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 26, 26, 26, 26, 78, 78, 
    78, 78, 78, 78, 78, 78, 26, 26, 26, 26, 26, 30, 30, 26, 26, 30, 26, 26, 
    26, 26, 30, 30, 26, 26, 26, 26, 30, 30, 26, 26, 26, 26, 26, 26, 30, 26, 
    30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 26, 
    30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 30, 26, 30, 30, 30, 
    26, 30, 30, 30, 30, 26, 30, 30, 26, 40, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 30, 30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 80, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 30, 
    26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 30, 
    26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 
    30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 163, 164, 163, 164, 163, 164, 163, 164, 163, 164, 
    163, 164, 163, 164, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 
    153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 
    153, 153, 153, 153, 153, 153, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 228, 78, 78, 
    228, 228, 163, 164, 78, 228, 228, 78, 228, 228, 228, 78, 78, 78, 78, 78, 
    228, 228, 228, 228, 78, 78, 78, 78, 78, 228, 228, 228, 78, 78, 78, 228, 
    228, 228, 228, 9, 10, 9, 10, 9, 10, 9, 10, 163, 164, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    163, 164, 9, 10, 163, 164, 163, 164, 163, 164, 163, 164, 163, 164, 163, 
    164, 163, 164, 163, 164, 163, 164, 78, 78, 228, 228, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 
    228, 78, 78, 78, 78, 78, 78, 78, 78, 228, 78, 78, 78, 78, 78, 78, 78, 
    228, 228, 228, 228, 228, 228, 78, 78, 78, 228, 78, 78, 78, 78, 228, 228, 
    228, 228, 228, 78, 228, 228, 78, 78, 163, 164, 163, 164, 228, 78, 78, 78, 
    78, 228, 78, 228, 228, 228, 78, 78, 228, 228, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 228, 228, 228, 228, 228, 228, 78, 78, 163, 164, 78, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 228, 228, 222, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 78, 228, 228, 
    228, 228, 78, 78, 228, 78, 228, 78, 78, 228, 78, 228, 228, 228, 228, 78, 
    78, 78, 78, 78, 228, 228, 78, 78, 78, 78, 78, 78, 228, 228, 228, 78, 78, 
    78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 228, 228, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    228, 228, 78, 78, 78, 78, 228, 228, 228, 228, 78, 228, 228, 78, 78, 228, 
    222, 212, 212, 78, 78, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 78, 78, 228, 228, 228, 228, 228, 228, 228, 228, 
    78, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 
    228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 78, 78, 78, 
    78, 78, 239, 78, 228, 78, 78, 78, 228, 228, 228, 228, 228, 78, 78, 78, 
    78, 78, 228, 228, 228, 78, 78, 78, 78, 228, 78, 78, 78, 228, 228, 228, 
    228, 228, 78, 228, 78, 78, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 
    78, 78, 78, 78, 26, 26, 78, 78, 78, 78, 78, 78, 0, 0, 0, 26, 26, 26, 26, 
    26, 30, 30, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 44, 47, 44, 44, 44, 47, 47, 44, 
    47, 44, 47, 44, 47, 44, 44, 44, 44, 47, 44, 47, 47, 44, 47, 47, 47, 47, 
    47, 47, 51, 51, 44, 44, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 47, 26, 
    26, 26, 26, 26, 26, 44, 47, 44, 47, 81, 81, 81, 44, 47, 0, 0, 0, 0, 0, 
    138, 138, 138, 138, 153, 138, 138, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 47, 0, 0, 0, 0, 0, 47, 0, 
    0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 51, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 142, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 
    48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 
    48, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 
    48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 
    48, 48, 48, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 
    81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 
    138, 138, 28, 36, 28, 36, 138, 138, 138, 28, 36, 138, 28, 36, 138, 138, 
    138, 138, 138, 138, 138, 138, 138, 84, 138, 138, 84, 138, 28, 36, 138, 
    138, 28, 36, 163, 164, 163, 164, 163, 164, 163, 164, 138, 138, 138, 138, 
    138, 52, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 84, 84, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 0, 240, 240, 240, 240, 241, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 241, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 
    241, 241, 241, 241, 241, 241, 241, 241, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 0, 0, 0, 0, 242, 243, 243, 243, 
    240, 244, 170, 245, 246, 247, 246, 247, 246, 247, 246, 247, 246, 247, 
    240, 240, 246, 247, 246, 247, 246, 247, 246, 247, 248, 249, 250, 250, 
    240, 245, 245, 245, 245, 245, 245, 245, 245, 245, 251, 252, 253, 254, 
    255, 255, 248, 244, 244, 244, 244, 244, 241, 240, 256, 256, 256, 244, 
    170, 243, 240, 26, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 257, 170, 257, 170, 257, 170, 257, 170, 257, 170, 257, 170, 257, 
    170, 257, 170, 257, 170, 257, 170, 257, 170, 257, 170, 170, 257, 170, 
    257, 170, 257, 170, 170, 170, 170, 170, 170, 257, 257, 170, 257, 257, 
    170, 257, 257, 170, 257, 257, 170, 257, 257, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 257, 170, 170, 0, 0, 258, 258, 259, 259, 244, 260, 261, 
    248, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 257, 170, 
    257, 170, 257, 170, 257, 170, 257, 170, 257, 170, 257, 170, 257, 170, 
    257, 170, 257, 170, 257, 170, 257, 170, 170, 257, 170, 257, 170, 257, 
    170, 170, 170, 170, 170, 170, 257, 257, 170, 257, 257, 170, 257, 257, 
    170, 257, 257, 170, 257, 257, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    257, 170, 170, 257, 257, 257, 257, 243, 244, 244, 260, 261, 0, 0, 0, 0, 
    0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 
    261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 
    261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 
    261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 
    261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 
    261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 
    261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 
    261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 0, 262, 262, 263, 263, 
    263, 263, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 241, 241, 0, 263, 263, 263, 263, 263, 263, 263, 263, 263, 
    263, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 265, 265, 265, 265, 265, 265, 265, 265, 241, 266, 266, 
    266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 241, 
    241, 241, 262, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 266, 266, 266, 266, 
    266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 241, 241, 241, 241, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 0, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 241, 241, 241, 
    241, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 241, 241, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 241, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 244, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 0, 0, 0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 
    240, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 53, 53, 53, 53, 
    53, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 138, 138, 
    138, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 144, 
    144, 144, 144, 144, 144, 144, 144, 144, 144, 48, 48, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 48, 81, 82, 82, 82, 138, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 
    138, 52, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 0, 0, 0, 0, 0, 0, 0, 81, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 173, 81, 81, 83, 83, 83, 83, 83, 83, 0, 0, 0, 0, 0, 
    0, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 
    54, 54, 54, 54, 54, 54, 54, 52, 52, 52, 52, 52, 52, 52, 52, 52, 54, 54, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 47, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 
    44, 47, 44, 47, 44, 47, 51, 47, 47, 47, 47, 47, 47, 47, 47, 44, 47, 44, 
    47, 44, 44, 47, 44, 47, 44, 47, 44, 47, 44, 47, 52, 267, 267, 44, 47, 44, 
    47, 0, 44, 47, 44, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 47, 44, 
    47, 44, 47, 44, 47, 44, 47, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 51, 47, 48, 48, 48, 48, 
    48, 48, 48, 135, 48, 48, 48, 142, 48, 48, 48, 48, 135, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 139, 139, 135, 135, 139, 26, 26, 26, 26, 0, 0, 0, 0, 148, 148, 148, 
    148, 148, 148, 80, 80, 85, 221, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 138, 138, 138, 138, 0, 0, 0, 0, 
    0, 0, 0, 0, 139, 139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 
    139, 139, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 83, 144, 144, 144, 144, 
    144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 81, 81, 81, 81, 81, 81, 
    81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 48, 48, 48, 48, 48, 48, 
    83, 83, 83, 48, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 135, 135, 135, 135, 135, 86, 
    86, 86, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 135, 135, 135, 135, 135, 135, 135, 
    135, 135, 135, 135, 139, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 
    0, 0, 135, 135, 135, 139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 145, 
    139, 139, 135, 135, 135, 135, 139, 139, 135, 139, 139, 139, 174, 83, 83, 
    83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 0, 53, 144, 144, 144, 144, 
    144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 135, 135, 135, 135, 135, 135, 139, 139, 135, 135, 
    139, 139, 135, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 135, 48, 48, 
    48, 48, 48, 48, 48, 48, 135, 139, 0, 0, 144, 144, 144, 144, 144, 144, 
    144, 144, 144, 144, 0, 0, 83, 83, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 53, 48, 48, 48, 48, 48, 48, 80, 80, 80, 
    48, 139, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 81, 
    48, 81, 81, 86, 48, 48, 81, 81, 48, 48, 48, 48, 48, 81, 81, 48, 81, 48, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    48, 48, 53, 83, 83, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 139, 135, 
    135, 139, 139, 83, 83, 48, 53, 53, 139, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 48, 48, 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 0, 0, 48, 48, 
    48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 0, 
    48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 139, 139, 135, 139, 139, 135, 139, 139, 83, 139, 
    142, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 
    0, 0, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 
    257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 
    268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 170, 170, 270, 170, 270, 170, 170, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 170, 270, 170, 270, 170, 170, 270, 270, 170, 170, 
    170, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 0, 0, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 35, 35, 35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    35, 35, 35, 35, 35, 0, 0, 0, 0, 0, 271, 272, 271, 273, 273, 273, 273, 
    273, 273, 273, 273, 273, 211, 271, 271, 271, 271, 271, 271, 271, 271, 
    271, 271, 271, 271, 271, 0, 271, 271, 271, 271, 271, 0, 271, 0, 271, 271, 
    0, 271, 271, 0, 271, 271, 271, 271, 271, 271, 271, 271, 271, 273, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 274, 
    274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 
    274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 195, 275, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 276, 26, 0, 0, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 277, 277, 277, 277, 277, 277, 277, 278, 279, 
    277, 0, 0, 0, 0, 0, 0, 81, 81, 81, 81, 81, 81, 81, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 277, 280, 280, 281, 281, 278, 279, 278, 279, 278, 279, 278, 279, 
    278, 279, 278, 279, 278, 279, 278, 279, 243, 243, 278, 279, 277, 277, 
    277, 277, 281, 281, 281, 282, 277, 282, 0, 277, 282, 277, 277, 280, 283, 
    284, 283, 284, 283, 284, 285, 277, 277, 286, 287, 288, 288, 289, 0, 277, 
    290, 285, 277, 0, 0, 0, 0, 130, 130, 130, 117, 130, 0, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 0, 0, 187, 0, 291, 291, 292, 293, 292, 291, 
    291, 294, 295, 291, 296, 297, 298, 297, 297, 299, 299, 299, 299, 299, 
    299, 299, 299, 299, 299, 297, 291, 300, 301, 300, 291, 291, 302, 302, 
    302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 
    302, 302, 302, 302, 302, 302, 302, 302, 302, 302, 294, 291, 295, 303, 
    304, 303, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 
    305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, 
    294, 301, 295, 301, 294, 295, 306, 307, 308, 306, 306, 309, 309, 309, 
    309, 309, 309, 309, 309, 309, 309, 310, 309, 309, 309, 309, 309, 309, 
    309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 
    309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 
    309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 310, 310, 309, 
    309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 
    309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, 
    309, 309, 0, 0, 0, 309, 309, 309, 309, 309, 309, 0, 0, 309, 309, 309, 
    309, 309, 309, 0, 0, 309, 309, 309, 309, 309, 309, 0, 0, 309, 309, 309, 
    0, 0, 0, 293, 293, 301, 303, 311, 293, 293, 0, 312, 313, 313, 313, 313, 
    312, 312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 314, 314, 314, 26, 30, 0, 0, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 0, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 83, 138, 83, 0, 0, 0, 0, 148, 148, 
    148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 
    148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 
    148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 
    148, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 315, 315, 315, 315, 
    315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 
    315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 
    315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 
    315, 315, 315, 315, 315, 315, 315, 153, 153, 153, 153, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 153, 0, 0, 0, 0, 0, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 86, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 148, 148, 148, 148, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 173, 48, 48, 48, 48, 48, 48, 48, 48, 173, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 83, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 
    0, 48, 48, 48, 48, 48, 48, 48, 48, 83, 173, 173, 173, 173, 173, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 
    44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 
    107, 107, 0, 0, 107, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 0, 107, 107, 0, 0, 0, 107, 0, 0, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 0, 104, 316, 316, 316, 316, 316, 316, 
    316, 316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    316, 316, 316, 316, 316, 316, 0, 0, 0, 138, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 107, 135, 135, 135, 0, 135, 135, 0, 0, 0, 0, 0, 
    135, 86, 135, 81, 107, 107, 107, 107, 0, 107, 107, 107, 0, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0, 0, 0, 0, 81, 175, 
    86, 0, 0, 0, 0, 142, 316, 316, 316, 316, 316, 316, 316, 316, 0, 0, 0, 0, 
    0, 0, 0, 0, 104, 104, 104, 104, 104, 104, 104, 104, 104, 0, 0, 0, 0, 0, 
    0, 0, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 316, 316, 104, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 0, 0, 0, 138, 138, 138, 138, 138, 138, 138, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 0, 0, 316, 316, 316, 316, 316, 316, 316, 316, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 316, 316, 316, 316, 316, 316, 
    316, 316, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 
    107, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 317, 317, 317, 317, 
    317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 
    317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, 0, 139, 135, 
    139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 
    142, 83, 83, 83, 83, 83, 83, 83, 0, 0, 0, 0, 153, 153, 153, 153, 153, 
    153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 
    153, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 135, 139, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 140, 48, 
    140, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 140, 48, 48, 
    48, 48, 139, 139, 139, 135, 135, 135, 135, 139, 139, 142, 141, 83, 83, 
    188, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 
    144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 81, 81, 81, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 149, 135, 135, 135, 135, 
    139, 135, 150, 150, 135, 135, 135, 142, 142, 0, 144, 144, 144, 144, 144, 
    144, 144, 144, 144, 144, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 135, 135, 139, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 139, 139, 
    139, 135, 135, 135, 135, 135, 135, 135, 135, 135, 139, 174, 48, 48, 48, 
    48, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 
    144, 144, 144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 135, 139, 135, 139, 139, 135, 135, 135, 135, 135, 135, 
    174, 145, 0, 0, 0, 0, 0, 0, 0, 0, 144, 144, 144, 144, 144, 144, 144, 144, 
    144, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 
    173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 83, 83, 
    83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 
    48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 
    139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 
    139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 
    139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 
    139, 139, 139, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 
    135, 135, 135, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 
    170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 0, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 318, 318, 318, 318, 318, 318, 318, 319, 319, 
    175, 175, 175, 80, 80, 80, 320, 319, 319, 319, 319, 319, 187, 187, 187, 
    187, 187, 187, 187, 187, 86, 86, 86, 86, 86, 86, 86, 86, 80, 80, 81, 81, 
    81, 81, 81, 86, 86, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 
    81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 318, 318, 
    318, 318, 318, 318, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 81, 
    81, 81, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 148, 148, 
    148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 
    148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    35, 35, 35, 35, 35, 35, 35, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 49, 0, 49, 49, 0, 0, 49, 0, 0, 49, 49, 0, 0, 49, 
    49, 49, 49, 0, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 0, 35, 0, 
    35, 35, 35, 35, 35, 35, 35, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 
    49, 0, 49, 49, 49, 49, 0, 0, 49, 49, 49, 49, 49, 49, 49, 49, 0, 49, 49, 
    49, 49, 49, 49, 49, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 0, 49, 
    49, 49, 49, 0, 49, 49, 49, 49, 49, 0, 49, 0, 0, 0, 49, 49, 49, 49, 49, 
    49, 49, 0, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 0, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 321, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 222, 
    35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 321, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 222, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 321, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 222, 35, 35, 35, 35, 35, 35, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 321, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 222, 35, 35, 35, 35, 35, 35, 
    49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 
    49, 49, 49, 49, 49, 49, 49, 321, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 222, 35, 35, 
    35, 35, 35, 35, 49, 35, 0, 0, 322, 322, 322, 322, 322, 322, 322, 322, 
    322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 
    322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 
    322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 
    130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 0, 130, 130, 0, 130, 0, 0, 130, 0, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 0, 130, 130, 130, 130, 0, 130, 0, 130, 0, 
    0, 0, 0, 0, 0, 130, 0, 0, 0, 0, 130, 0, 130, 0, 130, 0, 130, 130, 130, 0, 
    130, 130, 0, 130, 0, 0, 130, 0, 130, 0, 130, 0, 130, 0, 130, 0, 130, 130, 
    0, 130, 0, 0, 130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 
    0, 130, 130, 130, 130, 0, 130, 130, 130, 130, 0, 130, 0, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 130, 
    130, 130, 0, 130, 130, 130, 130, 130, 0, 130, 130, 130, 130, 130, 130, 
    130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    323, 0, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 
    237, 237, 237, 237, 237, 324, 324, 324, 324, 324, 324, 324, 324, 324, 
    324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 
    324, 324, 324, 218, 218, 0, 0, 0, 0, 324, 324, 324, 324, 324, 324, 324, 
    324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 
    324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324, 237, 324, 324, 
    324, 324, 324, 324, 324, 324, 324, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80, 80, 80, 80, 
    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 
    80, 80, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 
    264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 0, 0, 0, 
    0, 0, 264, 264, 264, 264, 264, 264, 264, 264, 264, 0, 0, 0, 0, 0, 0, 0, 
    264, 264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 0, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 26, 0, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    0, 26, 26, 26, 26, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 26, 26, 
    26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 
    0, 0, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
    26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 
    170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 
    270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 270, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 
    187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 
    187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 
    187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 
    187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 
    187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 
    187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 
    187, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 
    71, 71, 71, 71, 71, 71, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 
    269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, 0, 
    0, 
};

/* decomposition data */
static unsigned int decomp_data[] = {
    0, 257, 32, 514, 32, 776, 259, 97, 514, 32, 772, 259, 50, 259, 51, 514, 
    32, 769, 258, 956, 514, 32, 807, 259, 49, 259, 111, 772, 49, 8260, 52, 
    772, 49, 8260, 50, 772, 51, 8260, 52, 512, 65, 768, 512, 65, 769, 512, 
    65, 770, 512, 65, 771, 512, 65, 776, 512, 65, 778, 512, 67, 807, 512, 69, 
    768, 512, 69, 769, 512, 69, 770, 512, 69, 776, 512, 73, 768, 512, 73, 
    769, 512, 73, 770, 512, 73, 776, 512, 78, 771, 512, 79, 768, 512, 79, 
    769, 512, 79, 770, 512, 79, 771, 512, 79, 776, 512, 85, 768, 512, 85, 
    769, 512, 85, 770, 512, 85, 776, 512, 89, 769, 512, 97, 768, 512, 97, 
    769, 512, 97, 770, 512, 97, 771, 512, 97, 776, 512, 97, 778, 512, 99, 
    807, 512, 101, 768, 512, 101, 769, 512, 101, 770, 512, 101, 776, 512, 
    105, 768, 512, 105, 769, 512, 105, 770, 512, 105, 776, 512, 110, 771, 
    512, 111, 768, 512, 111, 769, 512, 111, 770, 512, 111, 771, 512, 111, 
    776, 512, 117, 768, 512, 117, 769, 512, 117, 770, 512, 117, 776, 512, 
    121, 769, 512, 121, 776, 512, 65, 772, 512, 97, 772, 512, 65, 774, 512, 
    97, 774, 512, 65, 808, 512, 97, 808, 512, 67, 769, 512, 99, 769, 512, 67, 
    770, 512, 99, 770, 512, 67, 775, 512, 99, 775, 512, 67, 780, 512, 99, 
    780, 512, 68, 780, 512, 100, 780, 512, 69, 772, 512, 101, 772, 512, 69, 
    774, 512, 101, 774, 512, 69, 775, 512, 101, 775, 512, 69, 808, 512, 101, 
    808, 512, 69, 780, 512, 101, 780, 512, 71, 770, 512, 103, 770, 512, 71, 
    774, 512, 103, 774, 512, 71, 775, 512, 103, 775, 512, 71, 807, 512, 103, 
    807, 512, 72, 770, 512, 104, 770, 512, 73, 771, 512, 105, 771, 512, 73, 
    772, 512, 105, 772, 512, 73, 774, 512, 105, 774, 512, 73, 808, 512, 105, 
    808, 512, 73, 775, 514, 73, 74, 514, 105, 106, 512, 74, 770, 512, 106, 
    770, 512, 75, 807, 512, 107, 807, 512, 76, 769, 512, 108, 769, 512, 76, 
    807, 512, 108, 807, 512, 76, 780, 512, 108, 780, 514, 76, 183, 514, 108, 
    183, 512, 78, 769, 512, 110, 769, 512, 78, 807, 512, 110, 807, 512, 78, 
    780, 512, 110, 780, 514, 700, 110, 512, 79, 772, 512, 111, 772, 512, 79, 
    774, 512, 111, 774, 512, 79, 779, 512, 111, 779, 512, 82, 769, 512, 114, 
    769, 512, 82, 807, 512, 114, 807, 512, 82, 780, 512, 114, 780, 512, 83, 
    769, 512, 115, 769, 512, 83, 770, 512, 115, 770, 512, 83, 807, 512, 115, 
    807, 512, 83, 780, 512, 115, 780, 512, 84, 807, 512, 116, 807, 512, 84, 
    780, 512, 116, 780, 512, 85, 771, 512, 117, 771, 512, 85, 772, 512, 117, 
    772, 512, 85, 774, 512, 117, 774, 512, 85, 778, 512, 117, 778, 512, 85, 
    779, 512, 117, 779, 512, 85, 808, 512, 117, 808, 512, 87, 770, 512, 119, 
    770, 512, 89, 770, 512, 121, 770, 512, 89, 776, 512, 90, 769, 512, 122, 
    769, 512, 90, 775, 512, 122, 775, 512, 90, 780, 512, 122, 780, 258, 115, 
    512, 79, 795, 512, 111, 795, 512, 85, 795, 512, 117, 795, 514, 68, 381, 
    514, 68, 382, 514, 100, 382, 514, 76, 74, 514, 76, 106, 514, 108, 106, 
    514, 78, 74, 514, 78, 106, 514, 110, 106, 512, 65, 780, 512, 97, 780, 
    512, 73, 780, 512, 105, 780, 512, 79, 780, 512, 111, 780, 512, 85, 780, 
    512, 117, 780, 512, 220, 772, 512, 252, 772, 512, 220, 769, 512, 252, 
    769, 512, 220, 780, 512, 252, 780, 512, 220, 768, 512, 252, 768, 512, 
    196, 772, 512, 228, 772, 512, 550, 772, 512, 551, 772, 512, 198, 772, 
    512, 230, 772, 512, 71, 780, 512, 103, 780, 512, 75, 780, 512, 107, 780, 
    512, 79, 808, 512, 111, 808, 512, 490, 772, 512, 491, 772, 512, 439, 780, 
    512, 658, 780, 512, 106, 780, 514, 68, 90, 514, 68, 122, 514, 100, 122, 
    512, 71, 769, 512, 103, 769, 512, 78, 768, 512, 110, 768, 512, 197, 769, 
    512, 229, 769, 512, 198, 769, 512, 230, 769, 512, 216, 769, 512, 248, 
    769, 512, 65, 783, 512, 97, 783, 512, 65, 785, 512, 97, 785, 512, 69, 
    783, 512, 101, 783, 512, 69, 785, 512, 101, 785, 512, 73, 783, 512, 105, 
    783, 512, 73, 785, 512, 105, 785, 512, 79, 783, 512, 111, 783, 512, 79, 
    785, 512, 111, 785, 512, 82, 783, 512, 114, 783, 512, 82, 785, 512, 114, 
    785, 512, 85, 783, 512, 117, 783, 512, 85, 785, 512, 117, 785, 512, 83, 
    806, 512, 115, 806, 512, 84, 806, 512, 116, 806, 512, 72, 780, 512, 104, 
    780, 512, 65, 775, 512, 97, 775, 512, 69, 807, 512, 101, 807, 512, 214, 
    772, 512, 246, 772, 512, 213, 772, 512, 245, 772, 512, 79, 775, 512, 111, 
    775, 512, 558, 772, 512, 559, 772, 512, 89, 772, 512, 121, 772, 259, 104, 
    259, 614, 259, 106, 259, 114, 259, 633, 259, 635, 259, 641, 259, 119, 
    259, 121, 514, 32, 774, 514, 32, 775, 514, 32, 778, 514, 32, 808, 514, 
    32, 771, 514, 32, 779, 259, 611, 259, 108, 259, 115, 259, 120, 259, 661, 
    256, 768, 256, 769, 256, 787, 512, 776, 769, 256, 697, 514, 32, 837, 256, 
    59, 514, 32, 769, 512, 168, 769, 512, 913, 769, 256, 183, 512, 917, 769, 
    512, 919, 769, 512, 921, 769, 512, 927, 769, 512, 933, 769, 512, 937, 
    769, 512, 970, 769, 512, 921, 776, 512, 933, 776, 512, 945, 769, 512, 
    949, 769, 512, 951, 769, 512, 953, 769, 512, 971, 769, 512, 953, 776, 
    512, 965, 776, 512, 959, 769, 512, 965, 769, 512, 969, 769, 258, 946, 
    258, 952, 258, 933, 512, 978, 769, 512, 978, 776, 258, 966, 258, 960, 
    258, 954, 258, 961, 258, 962, 258, 920, 258, 949, 258, 931, 512, 1045, 
    768, 512, 1045, 776, 512, 1043, 769, 512, 1030, 776, 512, 1050, 769, 512, 
    1048, 768, 512, 1059, 774, 512, 1048, 774, 512, 1080, 774, 512, 1077, 
    768, 512, 1077, 776, 512, 1075, 769, 512, 1110, 776, 512, 1082, 769, 512, 
    1080, 768, 512, 1091, 774, 512, 1140, 783, 512, 1141, 783, 512, 1046, 
    774, 512, 1078, 774, 512, 1040, 774, 512, 1072, 774, 512, 1040, 776, 512, 
    1072, 776, 512, 1045, 774, 512, 1077, 774, 512, 1240, 776, 512, 1241, 
    776, 512, 1046, 776, 512, 1078, 776, 512, 1047, 776, 512, 1079, 776, 512, 
    1048, 772, 512, 1080, 772, 512, 1048, 776, 512, 1080, 776, 512, 1054, 
    776, 512, 1086, 776, 512, 1256, 776, 512, 1257, 776, 512, 1069, 776, 512, 
    1101, 776, 512, 1059, 772, 512, 1091, 772, 512, 1059, 776, 512, 1091, 
    776, 512, 1059, 779, 512, 1091, 779, 512, 1063, 776, 512, 1095, 776, 512, 
    1067, 776, 512, 1099, 776, 514, 1381, 1410, 512, 1575, 1619, 512, 1575, 
    1620, 512, 1608, 1620, 512, 1575, 1621, 512, 1610, 1620, 514, 1575, 1652, 
    514, 1608, 1652, 514, 1735, 1652, 514, 1610, 1652, 512, 1749, 1620, 512, 
    1729, 1620, 512, 1746, 1620, 512, 2344, 2364, 512, 2352, 2364, 512, 2355, 
    2364, 512, 2325, 2364, 512, 2326, 2364, 512, 2327, 2364, 512, 2332, 2364, 
    512, 2337, 2364, 512, 2338, 2364, 512, 2347, 2364, 512, 2351, 2364, 512, 
    2503, 2494, 512, 2503, 2519, 512, 2465, 2492, 512, 2466, 2492, 512, 2479, 
    2492, 512, 2610, 2620, 512, 2616, 2620, 512, 2582, 2620, 512, 2583, 2620, 
    512, 2588, 2620, 512, 2603, 2620, 512, 2887, 2902, 512, 2887, 2878, 512, 
    2887, 2903, 512, 2849, 2876, 512, 2850, 2876, 512, 2962, 3031, 512, 3014, 
    3006, 512, 3015, 3006, 512, 3014, 3031, 512, 3142, 3158, 512, 3263, 3285, 
    512, 3270, 3285, 512, 3270, 3286, 512, 3270, 3266, 512, 3274, 3285, 512, 
    3398, 3390, 512, 3399, 3390, 512, 3398, 3415, 512, 3545, 3530, 512, 3545, 
    3535, 512, 3548, 3530, 512, 3545, 3551, 514, 3661, 3634, 514, 3789, 3762, 
    514, 3755, 3737, 514, 3755, 3745, 257, 3851, 512, 3906, 4023, 512, 3916, 
    4023, 512, 3921, 4023, 512, 3926, 4023, 512, 3931, 4023, 512, 3904, 4021, 
    512, 3953, 3954, 512, 3953, 3956, 512, 4018, 3968, 514, 4018, 3969, 512, 
    4019, 3968, 514, 4019, 3969, 512, 3953, 3968, 512, 3986, 4023, 512, 3996, 
    4023, 512, 4001, 4023, 512, 4006, 4023, 512, 4011, 4023, 512, 3984, 4021, 
    512, 4133, 4142, 259, 4316, 512, 6917, 6965, 512, 6919, 6965, 512, 6921, 
    6965, 512, 6923, 6965, 512, 6925, 6965, 512, 6929, 6965, 512, 6970, 6965, 
    512, 6972, 6965, 512, 6974, 6965, 512, 6975, 6965, 512, 6978, 6965, 259, 
    65, 259, 198, 259, 66, 259, 68, 259, 69, 259, 398, 259, 71, 259, 72, 259, 
    73, 259, 74, 259, 75, 259, 76, 259, 77, 259, 78, 259, 79, 259, 546, 259, 
    80, 259, 82, 259, 84, 259, 85, 259, 87, 259, 97, 259, 592, 259, 593, 259, 
    7426, 259, 98, 259, 100, 259, 101, 259, 601, 259, 603, 259, 604, 259, 
    103, 259, 107, 259, 109, 259, 331, 259, 111, 259, 596, 259, 7446, 259, 
    7447, 259, 112, 259, 116, 259, 117, 259, 7453, 259, 623, 259, 118, 259, 
    7461, 259, 946, 259, 947, 259, 948, 259, 966, 259, 967, 261, 105, 261, 
    114, 261, 117, 261, 118, 261, 946, 261, 947, 261, 961, 261, 966, 261, 
    967, 259, 1085, 259, 594, 259, 99, 259, 597, 259, 240, 259, 604, 259, 
    102, 259, 607, 259, 609, 259, 613, 259, 616, 259, 617, 259, 618, 259, 
    7547, 259, 669, 259, 621, 259, 7557, 259, 671, 259, 625, 259, 624, 259, 
    626, 259, 627, 259, 628, 259, 629, 259, 632, 259, 642, 259, 643, 259, 
    427, 259, 649, 259, 650, 259, 7452, 259, 651, 259, 652, 259, 122, 259, 
    656, 259, 657, 259, 658, 259, 952, 512, 65, 805, 512, 97, 805, 512, 66, 
    775, 512, 98, 775, 512, 66, 803, 512, 98, 803, 512, 66, 817, 512, 98, 
    817, 512, 199, 769, 512, 231, 769, 512, 68, 775, 512, 100, 775, 512, 68, 
    803, 512, 100, 803, 512, 68, 817, 512, 100, 817, 512, 68, 807, 512, 100, 
    807, 512, 68, 813, 512, 100, 813, 512, 274, 768, 512, 275, 768, 512, 274, 
    769, 512, 275, 769, 512, 69, 813, 512, 101, 813, 512, 69, 816, 512, 101, 
    816, 512, 552, 774, 512, 553, 774, 512, 70, 775, 512, 102, 775, 512, 71, 
    772, 512, 103, 772, 512, 72, 775, 512, 104, 775, 512, 72, 803, 512, 104, 
    803, 512, 72, 776, 512, 104, 776, 512, 72, 807, 512, 104, 807, 512, 72, 
    814, 512, 104, 814, 512, 73, 816, 512, 105, 816, 512, 207, 769, 512, 239, 
    769, 512, 75, 769, 512, 107, 769, 512, 75, 803, 512, 107, 803, 512, 75, 
    817, 512, 107, 817, 512, 76, 803, 512, 108, 803, 512, 7734, 772, 512, 
    7735, 772, 512, 76, 817, 512, 108, 817, 512, 76, 813, 512, 108, 813, 512, 
    77, 769, 512, 109, 769, 512, 77, 775, 512, 109, 775, 512, 77, 803, 512, 
    109, 803, 512, 78, 775, 512, 110, 775, 512, 78, 803, 512, 110, 803, 512, 
    78, 817, 512, 110, 817, 512, 78, 813, 512, 110, 813, 512, 213, 769, 512, 
    245, 769, 512, 213, 776, 512, 245, 776, 512, 332, 768, 512, 333, 768, 
    512, 332, 769, 512, 333, 769, 512, 80, 769, 512, 112, 769, 512, 80, 775, 
    512, 112, 775, 512, 82, 775, 512, 114, 775, 512, 82, 803, 512, 114, 803, 
    512, 7770, 772, 512, 7771, 772, 512, 82, 817, 512, 114, 817, 512, 83, 
    775, 512, 115, 775, 512, 83, 803, 512, 115, 803, 512, 346, 775, 512, 347, 
    775, 512, 352, 775, 512, 353, 775, 512, 7778, 775, 512, 7779, 775, 512, 
    84, 775, 512, 116, 775, 512, 84, 803, 512, 116, 803, 512, 84, 817, 512, 
    116, 817, 512, 84, 813, 512, 116, 813, 512, 85, 804, 512, 117, 804, 512, 
    85, 816, 512, 117, 816, 512, 85, 813, 512, 117, 813, 512, 360, 769, 512, 
    361, 769, 512, 362, 776, 512, 363, 776, 512, 86, 771, 512, 118, 771, 512, 
    86, 803, 512, 118, 803, 512, 87, 768, 512, 119, 768, 512, 87, 769, 512, 
    119, 769, 512, 87, 776, 512, 119, 776, 512, 87, 775, 512, 119, 775, 512, 
    87, 803, 512, 119, 803, 512, 88, 775, 512, 120, 775, 512, 88, 776, 512, 
    120, 776, 512, 89, 775, 512, 121, 775, 512, 90, 770, 512, 122, 770, 512, 
    90, 803, 512, 122, 803, 512, 90, 817, 512, 122, 817, 512, 104, 817, 512, 
    116, 776, 512, 119, 778, 512, 121, 778, 514, 97, 702, 512, 383, 775, 512, 
    65, 803, 512, 97, 803, 512, 65, 777, 512, 97, 777, 512, 194, 769, 512, 
    226, 769, 512, 194, 768, 512, 226, 768, 512, 194, 777, 512, 226, 777, 
    512, 194, 771, 512, 226, 771, 512, 7840, 770, 512, 7841, 770, 512, 258, 
    769, 512, 259, 769, 512, 258, 768, 512, 259, 768, 512, 258, 777, 512, 
    259, 777, 512, 258, 771, 512, 259, 771, 512, 7840, 774, 512, 7841, 774, 
    512, 69, 803, 512, 101, 803, 512, 69, 777, 512, 101, 777, 512, 69, 771, 
    512, 101, 771, 512, 202, 769, 512, 234, 769, 512, 202, 768, 512, 234, 
    768, 512, 202, 777, 512, 234, 777, 512, 202, 771, 512, 234, 771, 512, 
    7864, 770, 512, 7865, 770, 512, 73, 777, 512, 105, 777, 512, 73, 803, 
    512, 105, 803, 512, 79, 803, 512, 111, 803, 512, 79, 777, 512, 111, 777, 
    512, 212, 769, 512, 244, 769, 512, 212, 768, 512, 244, 768, 512, 212, 
    777, 512, 244, 777, 512, 212, 771, 512, 244, 771, 512, 7884, 770, 512, 
    7885, 770, 512, 416, 769, 512, 417, 769, 512, 416, 768, 512, 417, 768, 
    512, 416, 777, 512, 417, 777, 512, 416, 771, 512, 417, 771, 512, 416, 
    803, 512, 417, 803, 512, 85, 803, 512, 117, 803, 512, 85, 777, 512, 117, 
    777, 512, 431, 769, 512, 432, 769, 512, 431, 768, 512, 432, 768, 512, 
    431, 777, 512, 432, 777, 512, 431, 771, 512, 432, 771, 512, 431, 803, 
    512, 432, 803, 512, 89, 768, 512, 121, 768, 512, 89, 803, 512, 121, 803, 
    512, 89, 777, 512, 121, 777, 512, 89, 771, 512, 121, 771, 512, 945, 787, 
    512, 945, 788, 512, 7936, 768, 512, 7937, 768, 512, 7936, 769, 512, 7937, 
    769, 512, 7936, 834, 512, 7937, 834, 512, 913, 787, 512, 913, 788, 512, 
    7944, 768, 512, 7945, 768, 512, 7944, 769, 512, 7945, 769, 512, 7944, 
    834, 512, 7945, 834, 512, 949, 787, 512, 949, 788, 512, 7952, 768, 512, 
    7953, 768, 512, 7952, 769, 512, 7953, 769, 512, 917, 787, 512, 917, 788, 
    512, 7960, 768, 512, 7961, 768, 512, 7960, 769, 512, 7961, 769, 512, 951, 
    787, 512, 951, 788, 512, 7968, 768, 512, 7969, 768, 512, 7968, 769, 512, 
    7969, 769, 512, 7968, 834, 512, 7969, 834, 512, 919, 787, 512, 919, 788, 
    512, 7976, 768, 512, 7977, 768, 512, 7976, 769, 512, 7977, 769, 512, 
    7976, 834, 512, 7977, 834, 512, 953, 787, 512, 953, 788, 512, 7984, 768, 
    512, 7985, 768, 512, 7984, 769, 512, 7985, 769, 512, 7984, 834, 512, 
    7985, 834, 512, 921, 787, 512, 921, 788, 512, 7992, 768, 512, 7993, 768, 
    512, 7992, 769, 512, 7993, 769, 512, 7992, 834, 512, 7993, 834, 512, 959, 
    787, 512, 959, 788, 512, 8000, 768, 512, 8001, 768, 512, 8000, 769, 512, 
    8001, 769, 512, 927, 787, 512, 927, 788, 512, 8008, 768, 512, 8009, 768, 
    512, 8008, 769, 512, 8009, 769, 512, 965, 787, 512, 965, 788, 512, 8016, 
    768, 512, 8017, 768, 512, 8016, 769, 512, 8017, 769, 512, 8016, 834, 512, 
    8017, 834, 512, 933, 788, 512, 8025, 768, 512, 8025, 769, 512, 8025, 834, 
    512, 969, 787, 512, 969, 788, 512, 8032, 768, 512, 8033, 768, 512, 8032, 
    769, 512, 8033, 769, 512, 8032, 834, 512, 8033, 834, 512, 937, 787, 512, 
    937, 788, 512, 8040, 768, 512, 8041, 768, 512, 8040, 769, 512, 8041, 769, 
    512, 8040, 834, 512, 8041, 834, 512, 945, 768, 256, 940, 512, 949, 768, 
    256, 941, 512, 951, 768, 256, 942, 512, 953, 768, 256, 943, 512, 959, 
    768, 256, 972, 512, 965, 768, 256, 973, 512, 969, 768, 256, 974, 512, 
    7936, 837, 512, 7937, 837, 512, 7938, 837, 512, 7939, 837, 512, 7940, 
    837, 512, 7941, 837, 512, 7942, 837, 512, 7943, 837, 512, 7944, 837, 512, 
    7945, 837, 512, 7946, 837, 512, 7947, 837, 512, 7948, 837, 512, 7949, 
    837, 512, 7950, 837, 512, 7951, 837, 512, 7968, 837, 512, 7969, 837, 512, 
    7970, 837, 512, 7971, 837, 512, 7972, 837, 512, 7973, 837, 512, 7974, 
    837, 512, 7975, 837, 512, 7976, 837, 512, 7977, 837, 512, 7978, 837, 512, 
    7979, 837, 512, 7980, 837, 512, 7981, 837, 512, 7982, 837, 512, 7983, 
    837, 512, 8032, 837, 512, 8033, 837, 512, 8034, 837, 512, 8035, 837, 512, 
    8036, 837, 512, 8037, 837, 512, 8038, 837, 512, 8039, 837, 512, 8040, 
    837, 512, 8041, 837, 512, 8042, 837, 512, 8043, 837, 512, 8044, 837, 512, 
    8045, 837, 512, 8046, 837, 512, 8047, 837, 512, 945, 774, 512, 945, 772, 
    512, 8048, 837, 512, 945, 837, 512, 940, 837, 512, 945, 834, 512, 8118, 
    837, 512, 913, 774, 512, 913, 772, 512, 913, 768, 256, 902, 512, 913, 
    837, 514, 32, 787, 256, 953, 514, 32, 787, 514, 32, 834, 512, 168, 834, 
    512, 8052, 837, 512, 951, 837, 512, 942, 837, 512, 951, 834, 512, 8134, 
    837, 512, 917, 768, 256, 904, 512, 919, 768, 256, 905, 512, 919, 837, 
    512, 8127, 768, 512, 8127, 769, 512, 8127, 834, 512, 953, 774, 512, 953, 
    772, 512, 970, 768, 256, 912, 512, 953, 834, 512, 970, 834, 512, 921, 
    774, 512, 921, 772, 512, 921, 768, 256, 906, 512, 8190, 768, 512, 8190, 
    769, 512, 8190, 834, 512, 965, 774, 512, 965, 772, 512, 971, 768, 256, 
    944, 512, 961, 787, 512, 961, 788, 512, 965, 834, 512, 971, 834, 512, 
    933, 774, 512, 933, 772, 512, 933, 768, 256, 910, 512, 929, 788, 512, 
    168, 768, 256, 901, 256, 96, 512, 8060, 837, 512, 969, 837, 512, 974, 
    837, 512, 969, 834, 512, 8182, 837, 512, 927, 768, 256, 908, 512, 937, 
    768, 256, 911, 512, 937, 837, 256, 180, 514, 32, 788, 256, 8194, 256, 
    8195, 258, 32, 258, 32, 258, 32, 258, 32, 258, 32, 257, 32, 258, 32, 258, 
    32, 258, 32, 257, 8208, 514, 32, 819, 258, 46, 514, 46, 46, 770, 46, 46, 
    46, 257, 32, 514, 8242, 8242, 770, 8242, 8242, 8242, 514, 8245, 8245, 
    770, 8245, 8245, 8245, 514, 33, 33, 514, 32, 773, 514, 63, 63, 514, 63, 
    33, 514, 33, 63, 1026, 8242, 8242, 8242, 8242, 258, 32, 259, 48, 259, 
    105, 259, 52, 259, 53, 259, 54, 259, 55, 259, 56, 259, 57, 259, 43, 259, 
    8722, 259, 61, 259, 40, 259, 41, 259, 110, 261, 48, 261, 49, 261, 50, 
    261, 51, 261, 52, 261, 53, 261, 54, 261, 55, 261, 56, 261, 57, 261, 43, 
    261, 8722, 261, 61, 261, 40, 261, 41, 261, 97, 261, 101, 261, 111, 261, 
    120, 261, 601, 261, 104, 261, 107, 261, 108, 261, 109, 261, 110, 261, 
    112, 261, 115, 261, 116, 514, 82, 115, 770, 97, 47, 99, 770, 97, 47, 115, 
    262, 67, 514, 176, 67, 770, 99, 47, 111, 770, 99, 47, 117, 258, 400, 514, 
    176, 70, 262, 103, 262, 72, 262, 72, 262, 72, 262, 104, 262, 295, 262, 
    73, 262, 73, 262, 76, 262, 108, 262, 78, 514, 78, 111, 262, 80, 262, 81, 
    262, 82, 262, 82, 262, 82, 515, 83, 77, 770, 84, 69, 76, 515, 84, 77, 
    262, 90, 256, 937, 262, 90, 256, 75, 256, 197, 262, 66, 262, 67, 262, 
    101, 262, 69, 262, 70, 262, 77, 262, 111, 258, 1488, 258, 1489, 258, 
    1490, 258, 1491, 262, 105, 770, 70, 65, 88, 262, 960, 262, 947, 262, 915, 
    262, 928, 262, 8721, 262, 68, 262, 100, 262, 101, 262, 105, 262, 106, 
    772, 49, 8260, 55, 772, 49, 8260, 57, 1028, 49, 8260, 49, 48, 772, 49, 
    8260, 51, 772, 50, 8260, 51, 772, 49, 8260, 53, 772, 50, 8260, 53, 772, 
    51, 8260, 53, 772, 52, 8260, 53, 772, 49, 8260, 54, 772, 53, 8260, 54, 
    772, 49, 8260, 56, 772, 51, 8260, 56, 772, 53, 8260, 56, 772, 55, 8260, 
    56, 516, 49, 8260, 258, 73, 514, 73, 73, 770, 73, 73, 73, 514, 73, 86, 
    258, 86, 514, 86, 73, 770, 86, 73, 73, 1026, 86, 73, 73, 73, 514, 73, 88, 
    258, 88, 514, 88, 73, 770, 88, 73, 73, 258, 76, 258, 67, 258, 68, 258, 
    77, 258, 105, 514, 105, 105, 770, 105, 105, 105, 514, 105, 118, 258, 118, 
    514, 118, 105, 770, 118, 105, 105, 1026, 118, 105, 105, 105, 514, 105, 
    120, 258, 120, 514, 120, 105, 770, 120, 105, 105, 258, 108, 258, 99, 258, 
    100, 258, 109, 772, 48, 8260, 51, 512, 8592, 824, 512, 8594, 824, 512, 
    8596, 824, 512, 8656, 824, 512, 8660, 824, 512, 8658, 824, 512, 8707, 
    824, 512, 8712, 824, 512, 8715, 824, 512, 8739, 824, 512, 8741, 824, 514, 
    8747, 8747, 770, 8747, 8747, 8747, 514, 8750, 8750, 770, 8750, 8750, 
    8750, 512, 8764, 824, 512, 8771, 824, 512, 8773, 824, 512, 8776, 824, 
    512, 61, 824, 512, 8801, 824, 512, 8781, 824, 512, 60, 824, 512, 62, 824, 
    512, 8804, 824, 512, 8805, 824, 512, 8818, 824, 512, 8819, 824, 512, 
    8822, 824, 512, 8823, 824, 512, 8826, 824, 512, 8827, 824, 512, 8834, 
    824, 512, 8835, 824, 512, 8838, 824, 512, 8839, 824, 512, 8866, 824, 512, 
    8872, 824, 512, 8873, 824, 512, 8875, 824, 512, 8828, 824, 512, 8829, 
    824, 512, 8849, 824, 512, 8850, 824, 512, 8882, 824, 512, 8883, 824, 512, 
    8884, 824, 512, 8885, 824, 256, 12296, 256, 12297, 263, 49, 263, 50, 263, 
    51, 263, 52, 263, 53, 263, 54, 263, 55, 263, 56, 263, 57, 519, 49, 48, 
    519, 49, 49, 519, 49, 50, 519, 49, 51, 519, 49, 52, 519, 49, 53, 519, 49, 
    54, 519, 49, 55, 519, 49, 56, 519, 49, 57, 519, 50, 48, 770, 40, 49, 41, 
    770, 40, 50, 41, 770, 40, 51, 41, 770, 40, 52, 41, 770, 40, 53, 41, 770, 
    40, 54, 41, 770, 40, 55, 41, 770, 40, 56, 41, 770, 40, 57, 41, 1026, 40, 
    49, 48, 41, 1026, 40, 49, 49, 41, 1026, 40, 49, 50, 41, 1026, 40, 49, 51, 
    41, 1026, 40, 49, 52, 41, 1026, 40, 49, 53, 41, 1026, 40, 49, 54, 41, 
    1026, 40, 49, 55, 41, 1026, 40, 49, 56, 41, 1026, 40, 49, 57, 41, 1026, 
    40, 50, 48, 41, 514, 49, 46, 514, 50, 46, 514, 51, 46, 514, 52, 46, 514, 
    53, 46, 514, 54, 46, 514, 55, 46, 514, 56, 46, 514, 57, 46, 770, 49, 48, 
    46, 770, 49, 49, 46, 770, 49, 50, 46, 770, 49, 51, 46, 770, 49, 52, 46, 
    770, 49, 53, 46, 770, 49, 54, 46, 770, 49, 55, 46, 770, 49, 56, 46, 770, 
    49, 57, 46, 770, 50, 48, 46, 770, 40, 97, 41, 770, 40, 98, 41, 770, 40, 
    99, 41, 770, 40, 100, 41, 770, 40, 101, 41, 770, 40, 102, 41, 770, 40, 
    103, 41, 770, 40, 104, 41, 770, 40, 105, 41, 770, 40, 106, 41, 770, 40, 
    107, 41, 770, 40, 108, 41, 770, 40, 109, 41, 770, 40, 110, 41, 770, 40, 
    111, 41, 770, 40, 112, 41, 770, 40, 113, 41, 770, 40, 114, 41, 770, 40, 
    115, 41, 770, 40, 116, 41, 770, 40, 117, 41, 770, 40, 118, 41, 770, 40, 
    119, 41, 770, 40, 120, 41, 770, 40, 121, 41, 770, 40, 122, 41, 263, 65, 
    263, 66, 263, 67, 263, 68, 263, 69, 263, 70, 263, 71, 263, 72, 263, 73, 
    263, 74, 263, 75, 263, 76, 263, 77, 263, 78, 263, 79, 263, 80, 263, 81, 
    263, 82, 263, 83, 263, 84, 263, 85, 263, 86, 263, 87, 263, 88, 263, 89, 
    263, 90, 263, 97, 263, 98, 263, 99, 263, 100, 263, 101, 263, 102, 263, 
    103, 263, 104, 263, 105, 263, 106, 263, 107, 263, 108, 263, 109, 263, 
    110, 263, 111, 263, 112, 263, 113, 263, 114, 263, 115, 263, 116, 263, 
    117, 263, 118, 263, 119, 263, 120, 263, 121, 263, 122, 263, 48, 1026, 
    8747, 8747, 8747, 8747, 770, 58, 58, 61, 514, 61, 61, 770, 61, 61, 61, 
    512, 10973, 824, 261, 106, 259, 86, 259, 11617, 258, 27597, 258, 40863, 
    258, 19968, 258, 20008, 258, 20022, 258, 20031, 258, 20057, 258, 20101, 
    258, 20108, 258, 20128, 258, 20154, 258, 20799, 258, 20837, 258, 20843, 
    258, 20866, 258, 20886, 258, 20907, 258, 20960, 258, 20981, 258, 20992, 
    258, 21147, 258, 21241, 258, 21269, 258, 21274, 258, 21304, 258, 21313, 
    258, 21340, 258, 21353, 258, 21378, 258, 21430, 258, 21448, 258, 21475, 
    258, 22231, 258, 22303, 258, 22763, 258, 22786, 258, 22794, 258, 22805, 
    258, 22823, 258, 22899, 258, 23376, 258, 23424, 258, 23544, 258, 23567, 
    258, 23586, 258, 23608, 258, 23662, 258, 23665, 258, 24027, 258, 24037, 
    258, 24049, 258, 24062, 258, 24178, 258, 24186, 258, 24191, 258, 24308, 
    258, 24318, 258, 24331, 258, 24339, 258, 24400, 258, 24417, 258, 24435, 
    258, 24515, 258, 25096, 258, 25142, 258, 25163, 258, 25903, 258, 25908, 
    258, 25991, 258, 26007, 258, 26020, 258, 26041, 258, 26080, 258, 26085, 
    258, 26352, 258, 26376, 258, 26408, 258, 27424, 258, 27490, 258, 27513, 
    258, 27571, 258, 27595, 258, 27604, 258, 27611, 258, 27663, 258, 27668, 
    258, 27700, 258, 28779, 258, 29226, 258, 29238, 258, 29243, 258, 29247, 
    258, 29255, 258, 29273, 258, 29275, 258, 29356, 258, 29572, 258, 29577, 
    258, 29916, 258, 29926, 258, 29976, 258, 29983, 258, 29992, 258, 30000, 
    258, 30091, 258, 30098, 258, 30326, 258, 30333, 258, 30382, 258, 30399, 
    258, 30446, 258, 30683, 258, 30690, 258, 30707, 258, 31034, 258, 31160, 
    258, 31166, 258, 31348, 258, 31435, 258, 31481, 258, 31859, 258, 31992, 
    258, 32566, 258, 32593, 258, 32650, 258, 32701, 258, 32769, 258, 32780, 
    258, 32786, 258, 32819, 258, 32895, 258, 32905, 258, 33251, 258, 33258, 
    258, 33267, 258, 33276, 258, 33292, 258, 33307, 258, 33311, 258, 33390, 
    258, 33394, 258, 33400, 258, 34381, 258, 34411, 258, 34880, 258, 34892, 
    258, 34915, 258, 35198, 258, 35211, 258, 35282, 258, 35328, 258, 35895, 
    258, 35910, 258, 35925, 258, 35960, 258, 35997, 258, 36196, 258, 36208, 
    258, 36275, 258, 36523, 258, 36554, 258, 36763, 258, 36784, 258, 36789, 
    258, 37009, 258, 37193, 258, 37318, 258, 37324, 258, 37329, 258, 38263, 
    258, 38272, 258, 38428, 258, 38582, 258, 38585, 258, 38632, 258, 38737, 
    258, 38750, 258, 38754, 258, 38761, 258, 38859, 258, 38893, 258, 38899, 
    258, 38913, 258, 39080, 258, 39131, 258, 39135, 258, 39318, 258, 39321, 
    258, 39340, 258, 39592, 258, 39640, 258, 39647, 258, 39717, 258, 39727, 
    258, 39730, 258, 39740, 258, 39770, 258, 40165, 258, 40565, 258, 40575, 
    258, 40613, 258, 40635, 258, 40643, 258, 40653, 258, 40657, 258, 40697, 
    258, 40701, 258, 40718, 258, 40723, 258, 40736, 258, 40763, 258, 40778, 
    258, 40786, 258, 40845, 258, 40860, 258, 40864, 264, 32, 258, 12306, 258, 
    21313, 258, 21316, 258, 21317, 512, 12363, 12441, 512, 12365, 12441, 512, 
    12367, 12441, 512, 12369, 12441, 512, 12371, 12441, 512, 12373, 12441, 
    512, 12375, 12441, 512, 12377, 12441, 512, 12379, 12441, 512, 12381, 
    12441, 512, 12383, 12441, 512, 12385, 12441, 512, 12388, 12441, 512, 
    12390, 12441, 512, 12392, 12441, 512, 12399, 12441, 512, 12399, 12442, 
    512, 12402, 12441, 512, 12402, 12442, 512, 12405, 12441, 512, 12405, 
    12442, 512, 12408, 12441, 512, 12408, 12442, 512, 12411, 12441, 512, 
    12411, 12442, 512, 12358, 12441, 514, 32, 12441, 514, 32, 12442, 512, 
    12445, 12441, 521, 12424, 12426, 512, 12459, 12441, 512, 12461, 12441, 
    512, 12463, 12441, 512, 12465, 12441, 512, 12467, 12441, 512, 12469, 
    12441, 512, 12471, 12441, 512, 12473, 12441, 512, 12475, 12441, 512, 
    12477, 12441, 512, 12479, 12441, 512, 12481, 12441, 512, 12484, 12441, 
    512, 12486, 12441, 512, 12488, 12441, 512, 12495, 12441, 512, 12495, 
    12442, 512, 12498, 12441, 512, 12498, 12442, 512, 12501, 12441, 512, 
    12501, 12442, 512, 12504, 12441, 512, 12504, 12442, 512, 12507, 12441, 
    512, 12507, 12442, 512, 12454, 12441, 512, 12527, 12441, 512, 12528, 
    12441, 512, 12529, 12441, 512, 12530, 12441, 512, 12541, 12441, 521, 
    12467, 12488, 258, 4352, 258, 4353, 258, 4522, 258, 4354, 258, 4524, 258, 
    4525, 258, 4355, 258, 4356, 258, 4357, 258, 4528, 258, 4529, 258, 4530, 
    258, 4531, 258, 4532, 258, 4533, 258, 4378, 258, 4358, 258, 4359, 258, 
    4360, 258, 4385, 258, 4361, 258, 4362, 258, 4363, 258, 4364, 258, 4365, 
    258, 4366, 258, 4367, 258, 4368, 258, 4369, 258, 4370, 258, 4449, 258, 
    4450, 258, 4451, 258, 4452, 258, 4453, 258, 4454, 258, 4455, 258, 4456, 
    258, 4457, 258, 4458, 258, 4459, 258, 4460, 258, 4461, 258, 4462, 258, 
    4463, 258, 4464, 258, 4465, 258, 4466, 258, 4467, 258, 4468, 258, 4469, 
    258, 4448, 258, 4372, 258, 4373, 258, 4551, 258, 4552, 258, 4556, 258, 
    4558, 258, 4563, 258, 4567, 258, 4569, 258, 4380, 258, 4573, 258, 4575, 
    258, 4381, 258, 4382, 258, 4384, 258, 4386, 258, 4387, 258, 4391, 258, 
    4393, 258, 4395, 258, 4396, 258, 4397, 258, 4398, 258, 4399, 258, 4402, 
    258, 4406, 258, 4416, 258, 4423, 258, 4428, 258, 4593, 258, 4594, 258, 
    4439, 258, 4440, 258, 4441, 258, 4484, 258, 4485, 258, 4488, 258, 4497, 
    258, 4498, 258, 4500, 258, 4510, 258, 4513, 259, 19968, 259, 20108, 259, 
    19977, 259, 22235, 259, 19978, 259, 20013, 259, 19979, 259, 30002, 259, 
    20057, 259, 19993, 259, 19969, 259, 22825, 259, 22320, 259, 20154, 770, 
    40, 4352, 41, 770, 40, 4354, 41, 770, 40, 4355, 41, 770, 40, 4357, 41, 
    770, 40, 4358, 41, 770, 40, 4359, 41, 770, 40, 4361, 41, 770, 40, 4363, 
    41, 770, 40, 4364, 41, 770, 40, 4366, 41, 770, 40, 4367, 41, 770, 40, 
    4368, 41, 770, 40, 4369, 41, 770, 40, 4370, 41, 1026, 40, 4352, 4449, 41, 
    1026, 40, 4354, 4449, 41, 1026, 40, 4355, 4449, 41, 1026, 40, 4357, 4449, 
    41, 1026, 40, 4358, 4449, 41, 1026, 40, 4359, 4449, 41, 1026, 40, 4361, 
    4449, 41, 1026, 40, 4363, 4449, 41, 1026, 40, 4364, 4449, 41, 1026, 40, 
    4366, 4449, 41, 1026, 40, 4367, 4449, 41, 1026, 40, 4368, 4449, 41, 1026, 
    40, 4369, 4449, 41, 1026, 40, 4370, 4449, 41, 1026, 40, 4364, 4462, 41, 
    1794, 40, 4363, 4457, 4364, 4453, 4523, 41, 1538, 40, 4363, 4457, 4370, 
    4462, 41, 770, 40, 19968, 41, 770, 40, 20108, 41, 770, 40, 19977, 41, 
    770, 40, 22235, 41, 770, 40, 20116, 41, 770, 40, 20845, 41, 770, 40, 
    19971, 41, 770, 40, 20843, 41, 770, 40, 20061, 41, 770, 40, 21313, 41, 
    770, 40, 26376, 41, 770, 40, 28779, 41, 770, 40, 27700, 41, 770, 40, 
    26408, 41, 770, 40, 37329, 41, 770, 40, 22303, 41, 770, 40, 26085, 41, 
    770, 40, 26666, 41, 770, 40, 26377, 41, 770, 40, 31038, 41, 770, 40, 
    21517, 41, 770, 40, 29305, 41, 770, 40, 36001, 41, 770, 40, 31069, 41, 
    770, 40, 21172, 41, 770, 40, 20195, 41, 770, 40, 21628, 41, 770, 40, 
    23398, 41, 770, 40, 30435, 41, 770, 40, 20225, 41, 770, 40, 36039, 41, 
    770, 40, 21332, 41, 770, 40, 31085, 41, 770, 40, 20241, 41, 770, 40, 
    33258, 41, 770, 40, 33267, 41, 263, 21839, 263, 24188, 263, 25991, 263, 
    31631, 778, 80, 84, 69, 519, 50, 49, 519, 50, 50, 519, 50, 51, 519, 50, 
    52, 519, 50, 53, 519, 50, 54, 519, 50, 55, 519, 50, 56, 519, 50, 57, 519, 
    51, 48, 519, 51, 49, 519, 51, 50, 519, 51, 51, 519, 51, 52, 519, 51, 53, 
    263, 4352, 263, 4354, 263, 4355, 263, 4357, 263, 4358, 263, 4359, 263, 
    4361, 263, 4363, 263, 4364, 263, 4366, 263, 4367, 263, 4368, 263, 4369, 
    263, 4370, 519, 4352, 4449, 519, 4354, 4449, 519, 4355, 4449, 519, 4357, 
    4449, 519, 4358, 4449, 519, 4359, 4449, 519, 4361, 4449, 519, 4363, 4449, 
    519, 4364, 4449, 519, 4366, 4449, 519, 4367, 4449, 519, 4368, 4449, 519, 
    4369, 4449, 519, 4370, 4449, 1287, 4366, 4449, 4535, 4352, 4457, 1031, 
    4364, 4462, 4363, 4468, 519, 4363, 4462, 263, 19968, 263, 20108, 263, 
    19977, 263, 22235, 263, 20116, 263, 20845, 263, 19971, 263, 20843, 263, 
    20061, 263, 21313, 263, 26376, 263, 28779, 263, 27700, 263, 26408, 263, 
    37329, 263, 22303, 263, 26085, 263, 26666, 263, 26377, 263, 31038, 263, 
    21517, 263, 29305, 263, 36001, 263, 31069, 263, 21172, 263, 31192, 263, 
    30007, 263, 22899, 263, 36969, 263, 20778, 263, 21360, 263, 27880, 263, 
    38917, 263, 20241, 263, 20889, 263, 27491, 263, 19978, 263, 20013, 263, 
    19979, 263, 24038, 263, 21491, 263, 21307, 263, 23447, 263, 23398, 263, 
    30435, 263, 20225, 263, 36039, 263, 21332, 263, 22812, 519, 51, 54, 519, 
    51, 55, 519, 51, 56, 519, 51, 57, 519, 52, 48, 519, 52, 49, 519, 52, 50, 
    519, 52, 51, 519, 52, 52, 519, 52, 53, 519, 52, 54, 519, 52, 55, 519, 52, 
    56, 519, 52, 57, 519, 53, 48, 514, 49, 26376, 514, 50, 26376, 514, 51, 
    26376, 514, 52, 26376, 514, 53, 26376, 514, 54, 26376, 514, 55, 26376, 
    514, 56, 26376, 514, 57, 26376, 770, 49, 48, 26376, 770, 49, 49, 26376, 
    770, 49, 50, 26376, 522, 72, 103, 778, 101, 114, 103, 522, 101, 86, 778, 
    76, 84, 68, 263, 12450, 263, 12452, 263, 12454, 263, 12456, 263, 12458, 
    263, 12459, 263, 12461, 263, 12463, 263, 12465, 263, 12467, 263, 12469, 
    263, 12471, 263, 12473, 263, 12475, 263, 12477, 263, 12479, 263, 12481, 
    263, 12484, 263, 12486, 263, 12488, 263, 12490, 263, 12491, 263, 12492, 
    263, 12493, 263, 12494, 263, 12495, 263, 12498, 263, 12501, 263, 12504, 
    263, 12507, 263, 12510, 263, 12511, 263, 12512, 263, 12513, 263, 12514, 
    263, 12516, 263, 12518, 263, 12520, 263, 12521, 263, 12522, 263, 12523, 
    263, 12524, 263, 12525, 263, 12527, 263, 12528, 263, 12529, 263, 12530, 
    1034, 12450, 12497, 12540, 12488, 1034, 12450, 12523, 12501, 12449, 1034, 
    12450, 12531, 12506, 12450, 778, 12450, 12540, 12523, 1034, 12452, 12491, 
    12531, 12464, 778, 12452, 12531, 12481, 778, 12454, 12457, 12531, 1290, 
    12456, 12473, 12463, 12540, 12489, 1034, 12456, 12540, 12459, 12540, 778, 
    12458, 12531, 12473, 778, 12458, 12540, 12512, 778, 12459, 12452, 12522, 
    1034, 12459, 12521, 12483, 12488, 1034, 12459, 12525, 12522, 12540, 778, 
    12460, 12525, 12531, 778, 12460, 12531, 12510, 522, 12462, 12460, 778, 
    12462, 12491, 12540, 1034, 12461, 12517, 12522, 12540, 1034, 12462, 
    12523, 12480, 12540, 522, 12461, 12525, 1290, 12461, 12525, 12464, 12521, 
    12512, 1546, 12461, 12525, 12513, 12540, 12488, 12523, 1290, 12461, 
    12525, 12527, 12483, 12488, 778, 12464, 12521, 12512, 1290, 12464, 12521, 
    12512, 12488, 12531, 1290, 12463, 12523, 12476, 12452, 12525, 1034, 
    12463, 12525, 12540, 12493, 778, 12465, 12540, 12473, 778, 12467, 12523, 
    12490, 778, 12467, 12540, 12509, 1034, 12469, 12452, 12463, 12523, 1290, 
    12469, 12531, 12481, 12540, 12512, 1034, 12471, 12522, 12531, 12464, 778, 
    12475, 12531, 12481, 778, 12475, 12531, 12488, 778, 12480, 12540, 12473, 
    522, 12487, 12471, 522, 12489, 12523, 522, 12488, 12531, 522, 12490, 
    12494, 778, 12494, 12483, 12488, 778, 12495, 12452, 12484, 1290, 12497, 
    12540, 12475, 12531, 12488, 778, 12497, 12540, 12484, 1034, 12496, 12540, 
    12524, 12523, 1290, 12500, 12450, 12473, 12488, 12523, 778, 12500, 12463, 
    12523, 522, 12500, 12467, 522, 12499, 12523, 1290, 12501, 12449, 12521, 
    12483, 12489, 1034, 12501, 12451, 12540, 12488, 1290, 12502, 12483, 
    12471, 12455, 12523, 778, 12501, 12521, 12531, 1290, 12504, 12463, 12479, 
    12540, 12523, 522, 12506, 12477, 778, 12506, 12491, 12498, 778, 12504, 
    12523, 12484, 778, 12506, 12531, 12473, 778, 12506, 12540, 12472, 778, 
    12505, 12540, 12479, 1034, 12509, 12452, 12531, 12488, 778, 12508, 12523, 
    12488, 522, 12507, 12531, 778, 12509, 12531, 12489, 778, 12507, 12540, 
    12523, 778, 12507, 12540, 12531, 1034, 12510, 12452, 12463, 12525, 778, 
    12510, 12452, 12523, 778, 12510, 12483, 12495, 778, 12510, 12523, 12463, 
    1290, 12510, 12531, 12471, 12519, 12531, 1034, 12511, 12463, 12525, 
    12531, 522, 12511, 12522, 1290, 12511, 12522, 12496, 12540, 12523, 522, 
    12513, 12460, 1034, 12513, 12460, 12488, 12531, 1034, 12513, 12540, 
    12488, 12523, 778, 12516, 12540, 12489, 778, 12516, 12540, 12523, 778, 
    12518, 12450, 12531, 1034, 12522, 12483, 12488, 12523, 522, 12522, 12521, 
    778, 12523, 12500, 12540, 1034, 12523, 12540, 12502, 12523, 522, 12524, 
    12512, 1290, 12524, 12531, 12488, 12466, 12531, 778, 12527, 12483, 12488, 
    514, 48, 28857, 514, 49, 28857, 514, 50, 28857, 514, 51, 28857, 514, 52, 
    28857, 514, 53, 28857, 514, 54, 28857, 514, 55, 28857, 514, 56, 28857, 
    514, 57, 28857, 770, 49, 48, 28857, 770, 49, 49, 28857, 770, 49, 50, 
    28857, 770, 49, 51, 28857, 770, 49, 52, 28857, 770, 49, 53, 28857, 770, 
    49, 54, 28857, 770, 49, 55, 28857, 770, 49, 56, 28857, 770, 49, 57, 
    28857, 770, 50, 48, 28857, 770, 50, 49, 28857, 770, 50, 50, 28857, 770, 
    50, 51, 28857, 770, 50, 52, 28857, 778, 104, 80, 97, 522, 100, 97, 522, 
    65, 85, 778, 98, 97, 114, 522, 111, 86, 522, 112, 99, 522, 100, 109, 778, 
    100, 109, 178, 778, 100, 109, 179, 522, 73, 85, 522, 24179, 25104, 522, 
    26157, 21644, 522, 22823, 27491, 522, 26126, 27835, 1034, 26666, 24335, 
    20250, 31038, 522, 112, 65, 522, 110, 65, 522, 956, 65, 522, 109, 65, 
    522, 107, 65, 522, 75, 66, 522, 77, 66, 522, 71, 66, 778, 99, 97, 108, 
    1034, 107, 99, 97, 108, 522, 112, 70, 522, 110, 70, 522, 956, 70, 522, 
    956, 103, 522, 109, 103, 522, 107, 103, 522, 72, 122, 778, 107, 72, 122, 
    778, 77, 72, 122, 778, 71, 72, 122, 778, 84, 72, 122, 522, 956, 8467, 
    522, 109, 8467, 522, 100, 8467, 522, 107, 8467, 522, 102, 109, 522, 110, 
    109, 522, 956, 109, 522, 109, 109, 522, 99, 109, 522, 107, 109, 778, 109, 
    109, 178, 778, 99, 109, 178, 522, 109, 178, 778, 107, 109, 178, 778, 109, 
    109, 179, 778, 99, 109, 179, 522, 109, 179, 778, 107, 109, 179, 778, 109, 
    8725, 115, 1034, 109, 8725, 115, 178, 522, 80, 97, 778, 107, 80, 97, 778, 
    77, 80, 97, 778, 71, 80, 97, 778, 114, 97, 100, 1290, 114, 97, 100, 8725, 
    115, 1546, 114, 97, 100, 8725, 115, 178, 522, 112, 115, 522, 110, 115, 
    522, 956, 115, 522, 109, 115, 522, 112, 86, 522, 110, 86, 522, 956, 86, 
    522, 109, 86, 522, 107, 86, 522, 77, 86, 522, 112, 87, 522, 110, 87, 522, 
    956, 87, 522, 109, 87, 522, 107, 87, 522, 77, 87, 522, 107, 937, 522, 77, 
    937, 1034, 97, 46, 109, 46, 522, 66, 113, 522, 99, 99, 522, 99, 100, 
    1034, 67, 8725, 107, 103, 778, 67, 111, 46, 522, 100, 66, 522, 71, 121, 
    522, 104, 97, 522, 72, 80, 522, 105, 110, 522, 75, 75, 522, 75, 77, 522, 
    107, 116, 522, 108, 109, 522, 108, 110, 778, 108, 111, 103, 522, 108, 
    120, 522, 109, 98, 778, 109, 105, 108, 778, 109, 111, 108, 522, 80, 72, 
    1034, 112, 46, 109, 46, 778, 80, 80, 77, 522, 80, 82, 522, 115, 114, 522, 
    83, 118, 522, 87, 98, 778, 86, 8725, 109, 778, 65, 8725, 109, 514, 49, 
    26085, 514, 50, 26085, 514, 51, 26085, 514, 52, 26085, 514, 53, 26085, 
    514, 54, 26085, 514, 55, 26085, 514, 56, 26085, 514, 57, 26085, 770, 49, 
    48, 26085, 770, 49, 49, 26085, 770, 49, 50, 26085, 770, 49, 51, 26085, 
    770, 49, 52, 26085, 770, 49, 53, 26085, 770, 49, 54, 26085, 770, 49, 55, 
    26085, 770, 49, 56, 26085, 770, 49, 57, 26085, 770, 50, 48, 26085, 770, 
    50, 49, 26085, 770, 50, 50, 26085, 770, 50, 51, 26085, 770, 50, 52, 
    26085, 770, 50, 53, 26085, 770, 50, 54, 26085, 770, 50, 55, 26085, 770, 
    50, 56, 26085, 770, 50, 57, 26085, 770, 51, 48, 26085, 770, 51, 49, 
    26085, 778, 103, 97, 108, 259, 42863, 259, 294, 259, 339, 256, 35912, 
    256, 26356, 256, 36554, 256, 36040, 256, 28369, 256, 20018, 256, 21477, 
    256, 40860, 256, 40860, 256, 22865, 256, 37329, 256, 21895, 256, 22856, 
    256, 25078, 256, 30313, 256, 32645, 256, 34367, 256, 34746, 256, 35064, 
    256, 37007, 256, 27138, 256, 27931, 256, 28889, 256, 29662, 256, 33853, 
    256, 37226, 256, 39409, 256, 20098, 256, 21365, 256, 27396, 256, 29211, 
    256, 34349, 256, 40478, 256, 23888, 256, 28651, 256, 34253, 256, 35172, 
    256, 25289, 256, 33240, 256, 34847, 256, 24266, 256, 26391, 256, 28010, 
    256, 29436, 256, 37070, 256, 20358, 256, 20919, 256, 21214, 256, 25796, 
    256, 27347, 256, 29200, 256, 30439, 256, 32769, 256, 34310, 256, 34396, 
    256, 36335, 256, 38706, 256, 39791, 256, 40442, 256, 30860, 256, 31103, 
    256, 32160, 256, 33737, 256, 37636, 256, 40575, 256, 35542, 256, 22751, 
    256, 24324, 256, 31840, 256, 32894, 256, 29282, 256, 30922, 256, 36034, 
    256, 38647, 256, 22744, 256, 23650, 256, 27155, 256, 28122, 256, 28431, 
    256, 32047, 256, 32311, 256, 38475, 256, 21202, 256, 32907, 256, 20956, 
    256, 20940, 256, 31260, 256, 32190, 256, 33777, 256, 38517, 256, 35712, 
    256, 25295, 256, 27138, 256, 35582, 256, 20025, 256, 23527, 256, 24594, 
    256, 29575, 256, 30064, 256, 21271, 256, 30971, 256, 20415, 256, 24489, 
    256, 19981, 256, 27852, 256, 25976, 256, 32034, 256, 21443, 256, 22622, 
    256, 30465, 256, 33865, 256, 35498, 256, 27578, 256, 36784, 256, 27784, 
    256, 25342, 256, 33509, 256, 25504, 256, 30053, 256, 20142, 256, 20841, 
    256, 20937, 256, 26753, 256, 31975, 256, 33391, 256, 35538, 256, 37327, 
    256, 21237, 256, 21570, 256, 22899, 256, 24300, 256, 26053, 256, 28670, 
    256, 31018, 256, 38317, 256, 39530, 256, 40599, 256, 40654, 256, 21147, 
    256, 26310, 256, 27511, 256, 36706, 256, 24180, 256, 24976, 256, 25088, 
    256, 25754, 256, 28451, 256, 29001, 256, 29833, 256, 31178, 256, 32244, 
    256, 32879, 256, 36646, 256, 34030, 256, 36899, 256, 37706, 256, 21015, 
    256, 21155, 256, 21693, 256, 28872, 256, 35010, 256, 35498, 256, 24265, 
    256, 24565, 256, 25467, 256, 27566, 256, 31806, 256, 29557, 256, 20196, 
    256, 22265, 256, 23527, 256, 23994, 256, 24604, 256, 29618, 256, 29801, 
    256, 32666, 256, 32838, 256, 37428, 256, 38646, 256, 38728, 256, 38936, 
    256, 20363, 256, 31150, 256, 37300, 256, 38584, 256, 24801, 256, 20102, 
    256, 20698, 256, 23534, 256, 23615, 256, 26009, 256, 27138, 256, 29134, 
    256, 30274, 256, 34044, 256, 36988, 256, 40845, 256, 26248, 256, 38446, 
    256, 21129, 256, 26491, 256, 26611, 256, 27969, 256, 28316, 256, 29705, 
    256, 30041, 256, 30827, 256, 32016, 256, 39006, 256, 20845, 256, 25134, 
    256, 38520, 256, 20523, 256, 23833, 256, 28138, 256, 36650, 256, 24459, 
    256, 24900, 256, 26647, 256, 29575, 256, 38534, 256, 21033, 256, 21519, 
    256, 23653, 256, 26131, 256, 26446, 256, 26792, 256, 27877, 256, 29702, 
    256, 30178, 256, 32633, 256, 35023, 256, 35041, 256, 37324, 256, 38626, 
    256, 21311, 256, 28346, 256, 21533, 256, 29136, 256, 29848, 256, 34298, 
    256, 38563, 256, 40023, 256, 40607, 256, 26519, 256, 28107, 256, 33256, 
    256, 31435, 256, 31520, 256, 31890, 256, 29376, 256, 28825, 256, 35672, 
    256, 20160, 256, 33590, 256, 21050, 256, 20999, 256, 24230, 256, 25299, 
    256, 31958, 256, 23429, 256, 27934, 256, 26292, 256, 36667, 256, 34892, 
    256, 38477, 256, 35211, 256, 24275, 256, 20800, 256, 21952, 256, 22618, 
    256, 26228, 256, 20958, 256, 29482, 256, 30410, 256, 31036, 256, 31070, 
    256, 31077, 256, 31119, 256, 38742, 256, 31934, 256, 32701, 256, 34322, 
    256, 35576, 256, 36920, 256, 37117, 256, 39151, 256, 39164, 256, 39208, 
    256, 40372, 256, 37086, 256, 38583, 256, 20398, 256, 20711, 256, 20813, 
    256, 21193, 256, 21220, 256, 21329, 256, 21917, 256, 22022, 256, 22120, 
    256, 22592, 256, 22696, 256, 23652, 256, 23662, 256, 24724, 256, 24936, 
    256, 24974, 256, 25074, 256, 25935, 256, 26082, 256, 26257, 256, 26757, 
    256, 28023, 256, 28186, 256, 28450, 256, 29038, 256, 29227, 256, 29730, 
    256, 30865, 256, 31038, 256, 31049, 256, 31048, 256, 31056, 256, 31062, 
    256, 31069, 256, 31117, 256, 31118, 256, 31296, 256, 31361, 256, 31680, 
    256, 32244, 256, 32265, 256, 32321, 256, 32626, 256, 32773, 256, 33261, 
    256, 33401, 256, 33401, 256, 33879, 256, 35088, 256, 35222, 256, 35585, 
    256, 35641, 256, 36051, 256, 36104, 256, 36790, 256, 36920, 256, 38627, 
    256, 38911, 256, 38971, 256, 24693, 256, 148206, 256, 33304, 256, 20006, 
    256, 20917, 256, 20840, 256, 20352, 256, 20805, 256, 20864, 256, 21191, 
    256, 21242, 256, 21917, 256, 21845, 256, 21913, 256, 21986, 256, 22618, 
    256, 22707, 256, 22852, 256, 22868, 256, 23138, 256, 23336, 256, 24274, 
    256, 24281, 256, 24425, 256, 24493, 256, 24792, 256, 24910, 256, 24840, 
    256, 24974, 256, 24928, 256, 25074, 256, 25140, 256, 25540, 256, 25628, 
    256, 25682, 256, 25942, 256, 26228, 256, 26391, 256, 26395, 256, 26454, 
    256, 27513, 256, 27578, 256, 27969, 256, 28379, 256, 28363, 256, 28450, 
    256, 28702, 256, 29038, 256, 30631, 256, 29237, 256, 29359, 256, 29482, 
    256, 29809, 256, 29958, 256, 30011, 256, 30237, 256, 30239, 256, 30410, 
    256, 30427, 256, 30452, 256, 30538, 256, 30528, 256, 30924, 256, 31409, 
    256, 31680, 256, 31867, 256, 32091, 256, 32244, 256, 32574, 256, 32773, 
    256, 33618, 256, 33775, 256, 34681, 256, 35137, 256, 35206, 256, 35222, 
    256, 35519, 256, 35576, 256, 35531, 256, 35585, 256, 35582, 256, 35565, 
    256, 35641, 256, 35722, 256, 36104, 256, 36664, 256, 36978, 256, 37273, 
    256, 37494, 256, 38524, 256, 38627, 256, 38742, 256, 38875, 256, 38911, 
    256, 38923, 256, 38971, 256, 39698, 256, 40860, 256, 141386, 256, 141380, 
    256, 144341, 256, 15261, 256, 16408, 256, 16441, 256, 152137, 256, 
    154832, 256, 163539, 256, 40771, 256, 40846, 514, 102, 102, 514, 102, 
    105, 514, 102, 108, 770, 102, 102, 105, 770, 102, 102, 108, 514, 383, 
    116, 514, 115, 116, 514, 1396, 1398, 514, 1396, 1381, 514, 1396, 1387, 
    514, 1406, 1398, 514, 1396, 1389, 512, 1497, 1460, 512, 1522, 1463, 262, 
    1506, 262, 1488, 262, 1491, 262, 1492, 262, 1499, 262, 1500, 262, 1501, 
    262, 1512, 262, 1514, 262, 43, 512, 1513, 1473, 512, 1513, 1474, 512, 
    64329, 1473, 512, 64329, 1474, 512, 1488, 1463, 512, 1488, 1464, 512, 
    1488, 1468, 512, 1489, 1468, 512, 1490, 1468, 512, 1491, 1468, 512, 1492, 
    1468, 512, 1493, 1468, 512, 1494, 1468, 512, 1496, 1468, 512, 1497, 1468, 
    512, 1498, 1468, 512, 1499, 1468, 512, 1500, 1468, 512, 1502, 1468, 512, 
    1504, 1468, 512, 1505, 1468, 512, 1507, 1468, 512, 1508, 1468, 512, 1510, 
    1468, 512, 1511, 1468, 512, 1512, 1468, 512, 1513, 1468, 512, 1514, 1468, 
    512, 1493, 1465, 512, 1489, 1471, 512, 1499, 1471, 512, 1508, 1471, 514, 
    1488, 1500, 267, 1649, 268, 1649, 267, 1659, 268, 1659, 269, 1659, 270, 
    1659, 267, 1662, 268, 1662, 269, 1662, 270, 1662, 267, 1664, 268, 1664, 
    269, 1664, 270, 1664, 267, 1658, 268, 1658, 269, 1658, 270, 1658, 267, 
    1663, 268, 1663, 269, 1663, 270, 1663, 267, 1657, 268, 1657, 269, 1657, 
    270, 1657, 267, 1700, 268, 1700, 269, 1700, 270, 1700, 267, 1702, 268, 
    1702, 269, 1702, 270, 1702, 267, 1668, 268, 1668, 269, 1668, 270, 1668, 
    267, 1667, 268, 1667, 269, 1667, 270, 1667, 267, 1670, 268, 1670, 269, 
    1670, 270, 1670, 267, 1671, 268, 1671, 269, 1671, 270, 1671, 267, 1677, 
    268, 1677, 267, 1676, 268, 1676, 267, 1678, 268, 1678, 267, 1672, 268, 
    1672, 267, 1688, 268, 1688, 267, 1681, 268, 1681, 267, 1705, 268, 1705, 
    269, 1705, 270, 1705, 267, 1711, 268, 1711, 269, 1711, 270, 1711, 267, 
    1715, 268, 1715, 269, 1715, 270, 1715, 267, 1713, 268, 1713, 269, 1713, 
    270, 1713, 267, 1722, 268, 1722, 267, 1723, 268, 1723, 269, 1723, 270, 
    1723, 267, 1728, 268, 1728, 267, 1729, 268, 1729, 269, 1729, 270, 1729, 
    267, 1726, 268, 1726, 269, 1726, 270, 1726, 267, 1746, 268, 1746, 267, 
    1747, 268, 1747, 267, 1709, 268, 1709, 269, 1709, 270, 1709, 267, 1735, 
    268, 1735, 267, 1734, 268, 1734, 267, 1736, 268, 1736, 267, 1655, 267, 
    1739, 268, 1739, 267, 1733, 268, 1733, 267, 1737, 268, 1737, 267, 1744, 
    268, 1744, 269, 1744, 270, 1744, 269, 1609, 270, 1609, 523, 1574, 1575, 
    524, 1574, 1575, 523, 1574, 1749, 524, 1574, 1749, 523, 1574, 1608, 524, 
    1574, 1608, 523, 1574, 1735, 524, 1574, 1735, 523, 1574, 1734, 524, 1574, 
    1734, 523, 1574, 1736, 524, 1574, 1736, 523, 1574, 1744, 524, 1574, 1744, 
    525, 1574, 1744, 523, 1574, 1609, 524, 1574, 1609, 525, 1574, 1609, 267, 
    1740, 268, 1740, 269, 1740, 270, 1740, 523, 1574, 1580, 523, 1574, 1581, 
    523, 1574, 1605, 523, 1574, 1609, 523, 1574, 1610, 523, 1576, 1580, 523, 
    1576, 1581, 523, 1576, 1582, 523, 1576, 1605, 523, 1576, 1609, 523, 1576, 
    1610, 523, 1578, 1580, 523, 1578, 1581, 523, 1578, 1582, 523, 1578, 1605, 
    523, 1578, 1609, 523, 1578, 1610, 523, 1579, 1580, 523, 1579, 1605, 523, 
    1579, 1609, 523, 1579, 1610, 523, 1580, 1581, 523, 1580, 1605, 523, 1581, 
    1580, 523, 1581, 1605, 523, 1582, 1580, 523, 1582, 1581, 523, 1582, 1605, 
    523, 1587, 1580, 523, 1587, 1581, 523, 1587, 1582, 523, 1587, 1605, 523, 
    1589, 1581, 523, 1589, 1605, 523, 1590, 1580, 523, 1590, 1581, 523, 1590, 
    1582, 523, 1590, 1605, 523, 1591, 1581, 523, 1591, 1605, 523, 1592, 1605, 
    523, 1593, 1580, 523, 1593, 1605, 523, 1594, 1580, 523, 1594, 1605, 523, 
    1601, 1580, 523, 1601, 1581, 523, 1601, 1582, 523, 1601, 1605, 523, 1601, 
    1609, 523, 1601, 1610, 523, 1602, 1581, 523, 1602, 1605, 523, 1602, 1609, 
    523, 1602, 1610, 523, 1603, 1575, 523, 1603, 1580, 523, 1603, 1581, 523, 
    1603, 1582, 523, 1603, 1604, 523, 1603, 1605, 523, 1603, 1609, 523, 1603, 
    1610, 523, 1604, 1580, 523, 1604, 1581, 523, 1604, 1582, 523, 1604, 1605, 
    523, 1604, 1609, 523, 1604, 1610, 523, 1605, 1580, 523, 1605, 1581, 523, 
    1605, 1582, 523, 1605, 1605, 523, 1605, 1609, 523, 1605, 1610, 523, 1606, 
    1580, 523, 1606, 1581, 523, 1606, 1582, 523, 1606, 1605, 523, 1606, 1609, 
    523, 1606, 1610, 523, 1607, 1580, 523, 1607, 1605, 523, 1607, 1609, 523, 
    1607, 1610, 523, 1610, 1580, 523, 1610, 1581, 523, 1610, 1582, 523, 1610, 
    1605, 523, 1610, 1609, 523, 1610, 1610, 523, 1584, 1648, 523, 1585, 1648, 
    523, 1609, 1648, 779, 32, 1612, 1617, 779, 32, 1613, 1617, 779, 32, 1614, 
    1617, 779, 32, 1615, 1617, 779, 32, 1616, 1617, 779, 32, 1617, 1648, 524, 
    1574, 1585, 524, 1574, 1586, 524, 1574, 1605, 524, 1574, 1606, 524, 1574, 
    1609, 524, 1574, 1610, 524, 1576, 1585, 524, 1576, 1586, 524, 1576, 1605, 
    524, 1576, 1606, 524, 1576, 1609, 524, 1576, 1610, 524, 1578, 1585, 524, 
    1578, 1586, 524, 1578, 1605, 524, 1578, 1606, 524, 1578, 1609, 524, 1578, 
    1610, 524, 1579, 1585, 524, 1579, 1586, 524, 1579, 1605, 524, 1579, 1606, 
    524, 1579, 1609, 524, 1579, 1610, 524, 1601, 1609, 524, 1601, 1610, 524, 
    1602, 1609, 524, 1602, 1610, 524, 1603, 1575, 524, 1603, 1604, 524, 1603, 
    1605, 524, 1603, 1609, 524, 1603, 1610, 524, 1604, 1605, 524, 1604, 1609, 
    524, 1604, 1610, 524, 1605, 1575, 524, 1605, 1605, 524, 1606, 1585, 524, 
    1606, 1586, 524, 1606, 1605, 524, 1606, 1606, 524, 1606, 1609, 524, 1606, 
    1610, 524, 1609, 1648, 524, 1610, 1585, 524, 1610, 1586, 524, 1610, 1605, 
    524, 1610, 1606, 524, 1610, 1609, 524, 1610, 1610, 525, 1574, 1580, 525, 
    1574, 1581, 525, 1574, 1582, 525, 1574, 1605, 525, 1574, 1607, 525, 1576, 
    1580, 525, 1576, 1581, 525, 1576, 1582, 525, 1576, 1605, 525, 1576, 1607, 
    525, 1578, 1580, 525, 1578, 1581, 525, 1578, 1582, 525, 1578, 1605, 525, 
    1578, 1607, 525, 1579, 1605, 525, 1580, 1581, 525, 1580, 1605, 525, 1581, 
    1580, 525, 1581, 1605, 525, 1582, 1580, 525, 1582, 1605, 525, 1587, 1580, 
    525, 1587, 1581, 525, 1587, 1582, 525, 1587, 1605, 525, 1589, 1581, 525, 
    1589, 1582, 525, 1589, 1605, 525, 1590, 1580, 525, 1590, 1581, 525, 1590, 
    1582, 525, 1590, 1605, 525, 1591, 1581, 525, 1592, 1605, 525, 1593, 1580, 
    525, 1593, 1605, 525, 1594, 1580, 525, 1594, 1605, 525, 1601, 1580, 525, 
    1601, 1581, 525, 1601, 1582, 525, 1601, 1605, 525, 1602, 1581, 525, 1602, 
    1605, 525, 1603, 1580, 525, 1603, 1581, 525, 1603, 1582, 525, 1603, 1604, 
    525, 1603, 1605, 525, 1604, 1580, 525, 1604, 1581, 525, 1604, 1582, 525, 
    1604, 1605, 525, 1604, 1607, 525, 1605, 1580, 525, 1605, 1581, 525, 1605, 
    1582, 525, 1605, 1605, 525, 1606, 1580, 525, 1606, 1581, 525, 1606, 1582, 
    525, 1606, 1605, 525, 1606, 1607, 525, 1607, 1580, 525, 1607, 1605, 525, 
    1607, 1648, 525, 1610, 1580, 525, 1610, 1581, 525, 1610, 1582, 525, 1610, 
    1605, 525, 1610, 1607, 526, 1574, 1605, 526, 1574, 1607, 526, 1576, 1605, 
    526, 1576, 1607, 526, 1578, 1605, 526, 1578, 1607, 526, 1579, 1605, 526, 
    1579, 1607, 526, 1587, 1605, 526, 1587, 1607, 526, 1588, 1605, 526, 1588, 
    1607, 526, 1603, 1604, 526, 1603, 1605, 526, 1604, 1605, 526, 1606, 1605, 
    526, 1606, 1607, 526, 1610, 1605, 526, 1610, 1607, 782, 1600, 1614, 1617, 
    782, 1600, 1615, 1617, 782, 1600, 1616, 1617, 523, 1591, 1609, 523, 1591, 
    1610, 523, 1593, 1609, 523, 1593, 1610, 523, 1594, 1609, 523, 1594, 1610, 
    523, 1587, 1609, 523, 1587, 1610, 523, 1588, 1609, 523, 1588, 1610, 523, 
    1581, 1609, 523, 1581, 1610, 523, 1580, 1609, 523, 1580, 1610, 523, 1582, 
    1609, 523, 1582, 1610, 523, 1589, 1609, 523, 1589, 1610, 523, 1590, 1609, 
    523, 1590, 1610, 523, 1588, 1580, 523, 1588, 1581, 523, 1588, 1582, 523, 
    1588, 1605, 523, 1588, 1585, 523, 1587, 1585, 523, 1589, 1585, 523, 1590, 
    1585, 524, 1591, 1609, 524, 1591, 1610, 524, 1593, 1609, 524, 1593, 1610, 
    524, 1594, 1609, 524, 1594, 1610, 524, 1587, 1609, 524, 1587, 1610, 524, 
    1588, 1609, 524, 1588, 1610, 524, 1581, 1609, 524, 1581, 1610, 524, 1580, 
    1609, 524, 1580, 1610, 524, 1582, 1609, 524, 1582, 1610, 524, 1589, 1609, 
    524, 1589, 1610, 524, 1590, 1609, 524, 1590, 1610, 524, 1588, 1580, 524, 
    1588, 1581, 524, 1588, 1582, 524, 1588, 1605, 524, 1588, 1585, 524, 1587, 
    1585, 524, 1589, 1585, 524, 1590, 1585, 525, 1588, 1580, 525, 1588, 1581, 
    525, 1588, 1582, 525, 1588, 1605, 525, 1587, 1607, 525, 1588, 1607, 525, 
    1591, 1605, 526, 1587, 1580, 526, 1587, 1581, 526, 1587, 1582, 526, 1588, 
    1580, 526, 1588, 1581, 526, 1588, 1582, 526, 1591, 1605, 526, 1592, 1605, 
    524, 1575, 1611, 523, 1575, 1611, 781, 1578, 1580, 1605, 780, 1578, 1581, 
    1580, 781, 1578, 1581, 1580, 781, 1578, 1581, 1605, 781, 1578, 1582, 
    1605, 781, 1578, 1605, 1580, 781, 1578, 1605, 1581, 781, 1578, 1605, 
    1582, 780, 1580, 1605, 1581, 781, 1580, 1605, 1581, 780, 1581, 1605, 
    1610, 780, 1581, 1605, 1609, 781, 1587, 1581, 1580, 781, 1587, 1580, 
    1581, 780, 1587, 1580, 1609, 780, 1587, 1605, 1581, 781, 1587, 1605, 
    1581, 781, 1587, 1605, 1580, 780, 1587, 1605, 1605, 781, 1587, 1605, 
    1605, 780, 1589, 1581, 1581, 781, 1589, 1581, 1581, 780, 1589, 1605, 
    1605, 780, 1588, 1581, 1605, 781, 1588, 1581, 1605, 780, 1588, 1580, 
    1610, 780, 1588, 1605, 1582, 781, 1588, 1605, 1582, 780, 1588, 1605, 
    1605, 781, 1588, 1605, 1605, 780, 1590, 1581, 1609, 780, 1590, 1582, 
    1605, 781, 1590, 1582, 1605, 780, 1591, 1605, 1581, 781, 1591, 1605, 
    1581, 781, 1591, 1605, 1605, 780, 1591, 1605, 1610, 780, 1593, 1580, 
    1605, 780, 1593, 1605, 1605, 781, 1593, 1605, 1605, 780, 1593, 1605, 
    1609, 780, 1594, 1605, 1605, 780, 1594, 1605, 1610, 780, 1594, 1605, 
    1609, 780, 1601, 1582, 1605, 781, 1601, 1582, 1605, 780, 1602, 1605, 
    1581, 780, 1602, 1605, 1605, 780, 1604, 1581, 1605, 780, 1604, 1581, 
    1610, 780, 1604, 1581, 1609, 781, 1604, 1580, 1580, 780, 1604, 1580, 
    1580, 780, 1604, 1582, 1605, 781, 1604, 1582, 1605, 780, 1604, 1605, 
    1581, 781, 1604, 1605, 1581, 781, 1605, 1581, 1580, 781, 1605, 1581, 
    1605, 780, 1605, 1581, 1610, 781, 1605, 1580, 1581, 781, 1605, 1580, 
    1605, 781, 1605, 1582, 1580, 781, 1605, 1582, 1605, 781, 1605, 1580, 
    1582, 781, 1607, 1605, 1580, 781, 1607, 1605, 1605, 781, 1606, 1581, 
    1605, 780, 1606, 1581, 1609, 780, 1606, 1580, 1605, 781, 1606, 1580, 
    1605, 780, 1606, 1580, 1609, 780, 1606, 1605, 1610, 780, 1606, 1605, 
    1609, 780, 1610, 1605, 1605, 781, 1610, 1605, 1605, 780, 1576, 1582, 
    1610, 780, 1578, 1580, 1610, 780, 1578, 1580, 1609, 780, 1578, 1582, 
    1610, 780, 1578, 1582, 1609, 780, 1578, 1605, 1610, 780, 1578, 1605, 
    1609, 780, 1580, 1605, 1610, 780, 1580, 1581, 1609, 780, 1580, 1605, 
    1609, 780, 1587, 1582, 1609, 780, 1589, 1581, 1610, 780, 1588, 1581, 
    1610, 780, 1590, 1581, 1610, 780, 1604, 1580, 1610, 780, 1604, 1605, 
    1610, 780, 1610, 1581, 1610, 780, 1610, 1580, 1610, 780, 1610, 1605, 
    1610, 780, 1605, 1605, 1610, 780, 1602, 1605, 1610, 780, 1606, 1581, 
    1610, 781, 1602, 1605, 1581, 781, 1604, 1581, 1605, 780, 1593, 1605, 
    1610, 780, 1603, 1605, 1610, 781, 1606, 1580, 1581, 780, 1605, 1582, 
    1610, 781, 1604, 1580, 1605, 780, 1603, 1605, 1605, 780, 1604, 1580, 
    1605, 780, 1606, 1580, 1581, 780, 1580, 1581, 1610, 780, 1581, 1580, 
    1610, 780, 1605, 1580, 1610, 780, 1601, 1605, 1610, 780, 1576, 1581, 
    1610, 781, 1603, 1605, 1605, 781, 1593, 1580, 1605, 781, 1589, 1605, 
    1605, 780, 1587, 1582, 1610, 780, 1606, 1580, 1610, 779, 1589, 1604, 
    1746, 779, 1602, 1604, 1746, 1035, 1575, 1604, 1604, 1607, 1035, 1575, 
    1603, 1576, 1585, 1035, 1605, 1581, 1605, 1583, 1035, 1589, 1604, 1593, 
    1605, 1035, 1585, 1587, 1608, 1604, 1035, 1593, 1604, 1610, 1607, 1035, 
    1608, 1587, 1604, 1605, 779, 1589, 1604, 1609, 4619, 1589, 1604, 1609, 
    32, 1575, 1604, 1604, 1607, 32, 1593, 1604, 1610, 1607, 32, 1608, 1587, 
    1604, 1605, 2059, 1580, 1604, 32, 1580, 1604, 1575, 1604, 1607, 1035, 
    1585, 1740, 1575, 1604, 265, 44, 265, 12289, 265, 12290, 265, 58, 265, 
    59, 265, 33, 265, 63, 265, 12310, 265, 12311, 265, 8230, 265, 8229, 265, 
    8212, 265, 8211, 265, 95, 265, 95, 265, 40, 265, 41, 265, 123, 265, 125, 
    265, 12308, 265, 12309, 265, 12304, 265, 12305, 265, 12298, 265, 12299, 
    265, 12296, 265, 12297, 265, 12300, 265, 12301, 265, 12302, 265, 12303, 
    265, 91, 265, 93, 258, 8254, 258, 8254, 258, 8254, 258, 8254, 258, 95, 
    258, 95, 258, 95, 271, 44, 271, 12289, 271, 46, 271, 59, 271, 58, 271, 
    63, 271, 33, 271, 8212, 271, 40, 271, 41, 271, 123, 271, 125, 271, 12308, 
    271, 12309, 271, 35, 271, 38, 271, 42, 271, 43, 271, 45, 271, 60, 271, 
    62, 271, 61, 271, 92, 271, 36, 271, 37, 271, 64, 523, 32, 1611, 526, 
    1600, 1611, 523, 32, 1612, 523, 32, 1613, 523, 32, 1614, 526, 1600, 1614, 
    523, 32, 1615, 526, 1600, 1615, 523, 32, 1616, 526, 1600, 1616, 523, 32, 
    1617, 526, 1600, 1617, 523, 32, 1618, 526, 1600, 1618, 267, 1569, 267, 
    1570, 268, 1570, 267, 1571, 268, 1571, 267, 1572, 268, 1572, 267, 1573, 
    268, 1573, 267, 1574, 268, 1574, 269, 1574, 270, 1574, 267, 1575, 268, 
    1575, 267, 1576, 268, 1576, 269, 1576, 270, 1576, 267, 1577, 268, 1577, 
    267, 1578, 268, 1578, 269, 1578, 270, 1578, 267, 1579, 268, 1579, 269, 
    1579, 270, 1579, 267, 1580, 268, 1580, 269, 1580, 270, 1580, 267, 1581, 
    268, 1581, 269, 1581, 270, 1581, 267, 1582, 268, 1582, 269, 1582, 270, 
    1582, 267, 1583, 268, 1583, 267, 1584, 268, 1584, 267, 1585, 268, 1585, 
    267, 1586, 268, 1586, 267, 1587, 268, 1587, 269, 1587, 270, 1587, 267, 
    1588, 268, 1588, 269, 1588, 270, 1588, 267, 1589, 268, 1589, 269, 1589, 
    270, 1589, 267, 1590, 268, 1590, 269, 1590, 270, 1590, 267, 1591, 268, 
    1591, 269, 1591, 270, 1591, 267, 1592, 268, 1592, 269, 1592, 270, 1592, 
    267, 1593, 268, 1593, 269, 1593, 270, 1593, 267, 1594, 268, 1594, 269, 
    1594, 270, 1594, 267, 1601, 268, 1601, 269, 1601, 270, 1601, 267, 1602, 
    268, 1602, 269, 1602, 270, 1602, 267, 1603, 268, 1603, 269, 1603, 270, 
    1603, 267, 1604, 268, 1604, 269, 1604, 270, 1604, 267, 1605, 268, 1605, 
    269, 1605, 270, 1605, 267, 1606, 268, 1606, 269, 1606, 270, 1606, 267, 
    1607, 268, 1607, 269, 1607, 270, 1607, 267, 1608, 268, 1608, 267, 1609, 
    268, 1609, 267, 1610, 268, 1610, 269, 1610, 270, 1610, 523, 1604, 1570, 
    524, 1604, 1570, 523, 1604, 1571, 524, 1604, 1571, 523, 1604, 1573, 524, 
    1604, 1573, 523, 1604, 1575, 524, 1604, 1575, 264, 33, 264, 34, 264, 35, 
    264, 36, 264, 37, 264, 38, 264, 39, 264, 40, 264, 41, 264, 42, 264, 43, 
    264, 44, 264, 45, 264, 46, 264, 47, 264, 48, 264, 49, 264, 50, 264, 51, 
    264, 52, 264, 53, 264, 54, 264, 55, 264, 56, 264, 57, 264, 58, 264, 59, 
    264, 60, 264, 61, 264, 62, 264, 63, 264, 64, 264, 65, 264, 66, 264, 67, 
    264, 68, 264, 69, 264, 70, 264, 71, 264, 72, 264, 73, 264, 74, 264, 75, 
    264, 76, 264, 77, 264, 78, 264, 79, 264, 80, 264, 81, 264, 82, 264, 83, 
    264, 84, 264, 85, 264, 86, 264, 87, 264, 88, 264, 89, 264, 90, 264, 91, 
    264, 92, 264, 93, 264, 94, 264, 95, 264, 96, 264, 97, 264, 98, 264, 99, 
    264, 100, 264, 101, 264, 102, 264, 103, 264, 104, 264, 105, 264, 106, 
    264, 107, 264, 108, 264, 109, 264, 110, 264, 111, 264, 112, 264, 113, 
    264, 114, 264, 115, 264, 116, 264, 117, 264, 118, 264, 119, 264, 120, 
    264, 121, 264, 122, 264, 123, 264, 124, 264, 125, 264, 126, 264, 10629, 
    264, 10630, 272, 12290, 272, 12300, 272, 12301, 272, 12289, 272, 12539, 
    272, 12530, 272, 12449, 272, 12451, 272, 12453, 272, 12455, 272, 12457, 
    272, 12515, 272, 12517, 272, 12519, 272, 12483, 272, 12540, 272, 12450, 
    272, 12452, 272, 12454, 272, 12456, 272, 12458, 272, 12459, 272, 12461, 
    272, 12463, 272, 12465, 272, 12467, 272, 12469, 272, 12471, 272, 12473, 
    272, 12475, 272, 12477, 272, 12479, 272, 12481, 272, 12484, 272, 12486, 
    272, 12488, 272, 12490, 272, 12491, 272, 12492, 272, 12493, 272, 12494, 
    272, 12495, 272, 12498, 272, 12501, 272, 12504, 272, 12507, 272, 12510, 
    272, 12511, 272, 12512, 272, 12513, 272, 12514, 272, 12516, 272, 12518, 
    272, 12520, 272, 12521, 272, 12522, 272, 12523, 272, 12524, 272, 12525, 
    272, 12527, 272, 12531, 272, 12441, 272, 12442, 272, 12644, 272, 12593, 
    272, 12594, 272, 12595, 272, 12596, 272, 12597, 272, 12598, 272, 12599, 
    272, 12600, 272, 12601, 272, 12602, 272, 12603, 272, 12604, 272, 12605, 
    272, 12606, 272, 12607, 272, 12608, 272, 12609, 272, 12610, 272, 12611, 
    272, 12612, 272, 12613, 272, 12614, 272, 12615, 272, 12616, 272, 12617, 
    272, 12618, 272, 12619, 272, 12620, 272, 12621, 272, 12622, 272, 12623, 
    272, 12624, 272, 12625, 272, 12626, 272, 12627, 272, 12628, 272, 12629, 
    272, 12630, 272, 12631, 272, 12632, 272, 12633, 272, 12634, 272, 12635, 
    272, 12636, 272, 12637, 272, 12638, 272, 12639, 272, 12640, 272, 12641, 
    272, 12642, 272, 12643, 264, 162, 264, 163, 264, 172, 264, 175, 264, 166, 
    264, 165, 264, 8361, 272, 9474, 272, 8592, 272, 8593, 272, 8594, 272, 
    8595, 272, 9632, 272, 9675, 512, 69785, 69818, 512, 69787, 69818, 512, 
    69797, 69818, 512, 69937, 69927, 512, 69938, 69927, 512, 119127, 119141, 
    512, 119128, 119141, 512, 119135, 119150, 512, 119135, 119151, 512, 
    119135, 119152, 512, 119135, 119153, 512, 119135, 119154, 512, 119225, 
    119141, 512, 119226, 119141, 512, 119227, 119150, 512, 119228, 119150, 
    512, 119227, 119151, 512, 119228, 119151, 262, 65, 262, 66, 262, 67, 262, 
    68, 262, 69, 262, 70, 262, 71, 262, 72, 262, 73, 262, 74, 262, 75, 262, 
    76, 262, 77, 262, 78, 262, 79, 262, 80, 262, 81, 262, 82, 262, 83, 262, 
    84, 262, 85, 262, 86, 262, 87, 262, 88, 262, 89, 262, 90, 262, 97, 262, 
    98, 262, 99, 262, 100, 262, 101, 262, 102, 262, 103, 262, 104, 262, 105, 
    262, 106, 262, 107, 262, 108, 262, 109, 262, 110, 262, 111, 262, 112, 
    262, 113, 262, 114, 262, 115, 262, 116, 262, 117, 262, 118, 262, 119, 
    262, 120, 262, 121, 262, 122, 262, 65, 262, 66, 262, 67, 262, 68, 262, 
    69, 262, 70, 262, 71, 262, 72, 262, 73, 262, 74, 262, 75, 262, 76, 262, 
    77, 262, 78, 262, 79, 262, 80, 262, 81, 262, 82, 262, 83, 262, 84, 262, 
    85, 262, 86, 262, 87, 262, 88, 262, 89, 262, 90, 262, 97, 262, 98, 262, 
    99, 262, 100, 262, 101, 262, 102, 262, 103, 262, 105, 262, 106, 262, 107, 
    262, 108, 262, 109, 262, 110, 262, 111, 262, 112, 262, 113, 262, 114, 
    262, 115, 262, 116, 262, 117, 262, 118, 262, 119, 262, 120, 262, 121, 
    262, 122, 262, 65, 262, 66, 262, 67, 262, 68, 262, 69, 262, 70, 262, 71, 
    262, 72, 262, 73, 262, 74, 262, 75, 262, 76, 262, 77, 262, 78, 262, 79, 
    262, 80, 262, 81, 262, 82, 262, 83, 262, 84, 262, 85, 262, 86, 262, 87, 
    262, 88, 262, 89, 262, 90, 262, 97, 262, 98, 262, 99, 262, 100, 262, 101, 
    262, 102, 262, 103, 262, 104, 262, 105, 262, 106, 262, 107, 262, 108, 
    262, 109, 262, 110, 262, 111, 262, 112, 262, 113, 262, 114, 262, 115, 
    262, 116, 262, 117, 262, 118, 262, 119, 262, 120, 262, 121, 262, 122, 
    262, 65, 262, 67, 262, 68, 262, 71, 262, 74, 262, 75, 262, 78, 262, 79, 
    262, 80, 262, 81, 262, 83, 262, 84, 262, 85, 262, 86, 262, 87, 262, 88, 
    262, 89, 262, 90, 262, 97, 262, 98, 262, 99, 262, 100, 262, 102, 262, 
    104, 262, 105, 262, 106, 262, 107, 262, 108, 262, 109, 262, 110, 262, 
    112, 262, 113, 262, 114, 262, 115, 262, 116, 262, 117, 262, 118, 262, 
    119, 262, 120, 262, 121, 262, 122, 262, 65, 262, 66, 262, 67, 262, 68, 
    262, 69, 262, 70, 262, 71, 262, 72, 262, 73, 262, 74, 262, 75, 262, 76, 
    262, 77, 262, 78, 262, 79, 262, 80, 262, 81, 262, 82, 262, 83, 262, 84, 
    262, 85, 262, 86, 262, 87, 262, 88, 262, 89, 262, 90, 262, 97, 262, 98, 
    262, 99, 262, 100, 262, 101, 262, 102, 262, 103, 262, 104, 262, 105, 262, 
    106, 262, 107, 262, 108, 262, 109, 262, 110, 262, 111, 262, 112, 262, 
    113, 262, 114, 262, 115, 262, 116, 262, 117, 262, 118, 262, 119, 262, 
    120, 262, 121, 262, 122, 262, 65, 262, 66, 262, 68, 262, 69, 262, 70, 
    262, 71, 262, 74, 262, 75, 262, 76, 262, 77, 262, 78, 262, 79, 262, 80, 
    262, 81, 262, 83, 262, 84, 262, 85, 262, 86, 262, 87, 262, 88, 262, 89, 
    262, 97, 262, 98, 262, 99, 262, 100, 262, 101, 262, 102, 262, 103, 262, 
    104, 262, 105, 262, 106, 262, 107, 262, 108, 262, 109, 262, 110, 262, 
    111, 262, 112, 262, 113, 262, 114, 262, 115, 262, 116, 262, 117, 262, 
    118, 262, 119, 262, 120, 262, 121, 262, 122, 262, 65, 262, 66, 262, 68, 
    262, 69, 262, 70, 262, 71, 262, 73, 262, 74, 262, 75, 262, 76, 262, 77, 
    262, 79, 262, 83, 262, 84, 262, 85, 262, 86, 262, 87, 262, 88, 262, 89, 
    262, 97, 262, 98, 262, 99, 262, 100, 262, 101, 262, 102, 262, 103, 262, 
    104, 262, 105, 262, 106, 262, 107, 262, 108, 262, 109, 262, 110, 262, 
    111, 262, 112, 262, 113, 262, 114, 262, 115, 262, 116, 262, 117, 262, 
    118, 262, 119, 262, 120, 262, 121, 262, 122, 262, 65, 262, 66, 262, 67, 
    262, 68, 262, 69, 262, 70, 262, 71, 262, 72, 262, 73, 262, 74, 262, 75, 
    262, 76, 262, 77, 262, 78, 262, 79, 262, 80, 262, 81, 262, 82, 262, 83, 
    262, 84, 262, 85, 262, 86, 262, 87, 262, 88, 262, 89, 262, 90, 262, 97, 
    262, 98, 262, 99, 262, 100, 262, 101, 262, 102, 262, 103, 262, 104, 262, 
    105, 262, 106, 262, 107, 262, 108, 262, 109, 262, 110, 262, 111, 262, 
    112, 262, 113, 262, 114, 262, 115, 262, 116, 262, 117, 262, 118, 262, 
    119, 262, 120, 262, 121, 262, 122, 262, 65, 262, 66, 262, 67, 262, 68, 
    262, 69, 262, 70, 262, 71, 262, 72, 262, 73, 262, 74, 262, 75, 262, 76, 
    262, 77, 262, 78, 262, 79, 262, 80, 262, 81, 262, 82, 262, 83, 262, 84, 
    262, 85, 262, 86, 262, 87, 262, 88, 262, 89, 262, 90, 262, 97, 262, 98, 
    262, 99, 262, 100, 262, 101, 262, 102, 262, 103, 262, 104, 262, 105, 262, 
    106, 262, 107, 262, 108, 262, 109, 262, 110, 262, 111, 262, 112, 262, 
    113, 262, 114, 262, 115, 262, 116, 262, 117, 262, 118, 262, 119, 262, 
    120, 262, 121, 262, 122, 262, 65, 262, 66, 262, 67, 262, 68, 262, 69, 
    262, 70, 262, 71, 262, 72, 262, 73, 262, 74, 262, 75, 262, 76, 262, 77, 
    262, 78, 262, 79, 262, 80, 262, 81, 262, 82, 262, 83, 262, 84, 262, 85, 
    262, 86, 262, 87, 262, 88, 262, 89, 262, 90, 262, 97, 262, 98, 262, 99, 
    262, 100, 262, 101, 262, 102, 262, 103, 262, 104, 262, 105, 262, 106, 
    262, 107, 262, 108, 262, 109, 262, 110, 262, 111, 262, 112, 262, 113, 
    262, 114, 262, 115, 262, 116, 262, 117, 262, 118, 262, 119, 262, 120, 
    262, 121, 262, 122, 262, 65, 262, 66, 262, 67, 262, 68, 262, 69, 262, 70, 
    262, 71, 262, 72, 262, 73, 262, 74, 262, 75, 262, 76, 262, 77, 262, 78, 
    262, 79, 262, 80, 262, 81, 262, 82, 262, 83, 262, 84, 262, 85, 262, 86, 
    262, 87, 262, 88, 262, 89, 262, 90, 262, 97, 262, 98, 262, 99, 262, 100, 
    262, 101, 262, 102, 262, 103, 262, 104, 262, 105, 262, 106, 262, 107, 
    262, 108, 262, 109, 262, 110, 262, 111, 262, 112, 262, 113, 262, 114, 
    262, 115, 262, 116, 262, 117, 262, 118, 262, 119, 262, 120, 262, 121, 
    262, 122, 262, 65, 262, 66, 262, 67, 262, 68, 262, 69, 262, 70, 262, 71, 
    262, 72, 262, 73, 262, 74, 262, 75, 262, 76, 262, 77, 262, 78, 262, 79, 
    262, 80, 262, 81, 262, 82, 262, 83, 262, 84, 262, 85, 262, 86, 262, 87, 
    262, 88, 262, 89, 262, 90, 262, 97, 262, 98, 262, 99, 262, 100, 262, 101, 
    262, 102, 262, 103, 262, 104, 262, 105, 262, 106, 262, 107, 262, 108, 
    262, 109, 262, 110, 262, 111, 262, 112, 262, 113, 262, 114, 262, 115, 
    262, 116, 262, 117, 262, 118, 262, 119, 262, 120, 262, 121, 262, 122, 
    262, 65, 262, 66, 262, 67, 262, 68, 262, 69, 262, 70, 262, 71, 262, 72, 
    262, 73, 262, 74, 262, 75, 262, 76, 262, 77, 262, 78, 262, 79, 262, 80, 
    262, 81, 262, 82, 262, 83, 262, 84, 262, 85, 262, 86, 262, 87, 262, 88, 
    262, 89, 262, 90, 262, 97, 262, 98, 262, 99, 262, 100, 262, 101, 262, 
    102, 262, 103, 262, 104, 262, 105, 262, 106, 262, 107, 262, 108, 262, 
    109, 262, 110, 262, 111, 262, 112, 262, 113, 262, 114, 262, 115, 262, 
    116, 262, 117, 262, 118, 262, 119, 262, 120, 262, 121, 262, 122, 262, 
    305, 262, 567, 262, 913, 262, 914, 262, 915, 262, 916, 262, 917, 262, 
    918, 262, 919, 262, 920, 262, 921, 262, 922, 262, 923, 262, 924, 262, 
    925, 262, 926, 262, 927, 262, 928, 262, 929, 262, 1012, 262, 931, 262, 
    932, 262, 933, 262, 934, 262, 935, 262, 936, 262, 937, 262, 8711, 262, 
    945, 262, 946, 262, 947, 262, 948, 262, 949, 262, 950, 262, 951, 262, 
    952, 262, 953, 262, 954, 262, 955, 262, 956, 262, 957, 262, 958, 262, 
    959, 262, 960, 262, 961, 262, 962, 262, 963, 262, 964, 262, 965, 262, 
    966, 262, 967, 262, 968, 262, 969, 262, 8706, 262, 1013, 262, 977, 262, 
    1008, 262, 981, 262, 1009, 262, 982, 262, 913, 262, 914, 262, 915, 262, 
    916, 262, 917, 262, 918, 262, 919, 262, 920, 262, 921, 262, 922, 262, 
    923, 262, 924, 262, 925, 262, 926, 262, 927, 262, 928, 262, 929, 262, 
    1012, 262, 931, 262, 932, 262, 933, 262, 934, 262, 935, 262, 936, 262, 
    937, 262, 8711, 262, 945, 262, 946, 262, 947, 262, 948, 262, 949, 262, 
    950, 262, 951, 262, 952, 262, 953, 262, 954, 262, 955, 262, 956, 262, 
    957, 262, 958, 262, 959, 262, 960, 262, 961, 262, 962, 262, 963, 262, 
    964, 262, 965, 262, 966, 262, 967, 262, 968, 262, 969, 262, 8706, 262, 
    1013, 262, 977, 262, 1008, 262, 981, 262, 1009, 262, 982, 262, 913, 262, 
    914, 262, 915, 262, 916, 262, 917, 262, 918, 262, 919, 262, 920, 262, 
    921, 262, 922, 262, 923, 262, 924, 262, 925, 262, 926, 262, 927, 262, 
    928, 262, 929, 262, 1012, 262, 931, 262, 932, 262, 933, 262, 934, 262, 
    935, 262, 936, 262, 937, 262, 8711, 262, 945, 262, 946, 262, 947, 262, 
    948, 262, 949, 262, 950, 262, 951, 262, 952, 262, 953, 262, 954, 262, 
    955, 262, 956, 262, 957, 262, 958, 262, 959, 262, 960, 262, 961, 262, 
    962, 262, 963, 262, 964, 262, 965, 262, 966, 262, 967, 262, 968, 262, 
    969, 262, 8706, 262, 1013, 262, 977, 262, 1008, 262, 981, 262, 1009, 262, 
    982, 262, 913, 262, 914, 262, 915, 262, 916, 262, 917, 262, 918, 262, 
    919, 262, 920, 262, 921, 262, 922, 262, 923, 262, 924, 262, 925, 262, 
    926, 262, 927, 262, 928, 262, 929, 262, 1012, 262, 931, 262, 932, 262, 
    933, 262, 934, 262, 935, 262, 936, 262, 937, 262, 8711, 262, 945, 262, 
    946, 262, 947, 262, 948, 262, 949, 262, 950, 262, 951, 262, 952, 262, 
    953, 262, 954, 262, 955, 262, 956, 262, 957, 262, 958, 262, 959, 262, 
    960, 262, 961, 262, 962, 262, 963, 262, 964, 262, 965, 262, 966, 262, 
    967, 262, 968, 262, 969, 262, 8706, 262, 1013, 262, 977, 262, 1008, 262, 
    981, 262, 1009, 262, 982, 262, 913, 262, 914, 262, 915, 262, 916, 262, 
    917, 262, 918, 262, 919, 262, 920, 262, 921, 262, 922, 262, 923, 262, 
    924, 262, 925, 262, 926, 262, 927, 262, 928, 262, 929, 262, 1012, 262, 
    931, 262, 932, 262, 933, 262, 934, 262, 935, 262, 936, 262, 937, 262, 
    8711, 262, 945, 262, 946, 262, 947, 262, 948, 262, 949, 262, 950, 262, 
    951, 262, 952, 262, 953, 262, 954, 262, 955, 262, 956, 262, 957, 262, 
    958, 262, 959, 262, 960, 262, 961, 262, 962, 262, 963, 262, 964, 262, 
    965, 262, 966, 262, 967, 262, 968, 262, 969, 262, 8706, 262, 1013, 262, 
    977, 262, 1008, 262, 981, 262, 1009, 262, 982, 262, 988, 262, 989, 262, 
    48, 262, 49, 262, 50, 262, 51, 262, 52, 262, 53, 262, 54, 262, 55, 262, 
    56, 262, 57, 262, 48, 262, 49, 262, 50, 262, 51, 262, 52, 262, 53, 262, 
    54, 262, 55, 262, 56, 262, 57, 262, 48, 262, 49, 262, 50, 262, 51, 262, 
    52, 262, 53, 262, 54, 262, 55, 262, 56, 262, 57, 262, 48, 262, 49, 262, 
    50, 262, 51, 262, 52, 262, 53, 262, 54, 262, 55, 262, 56, 262, 57, 262, 
    48, 262, 49, 262, 50, 262, 51, 262, 52, 262, 53, 262, 54, 262, 55, 262, 
    56, 262, 57, 262, 1575, 262, 1576, 262, 1580, 262, 1583, 262, 1608, 262, 
    1586, 262, 1581, 262, 1591, 262, 1610, 262, 1603, 262, 1604, 262, 1605, 
    262, 1606, 262, 1587, 262, 1593, 262, 1601, 262, 1589, 262, 1602, 262, 
    1585, 262, 1588, 262, 1578, 262, 1579, 262, 1582, 262, 1584, 262, 1590, 
    262, 1592, 262, 1594, 262, 1646, 262, 1722, 262, 1697, 262, 1647, 262, 
    1576, 262, 1580, 262, 1607, 262, 1581, 262, 1610, 262, 1603, 262, 1604, 
    262, 1605, 262, 1606, 262, 1587, 262, 1593, 262, 1601, 262, 1589, 262, 
    1602, 262, 1588, 262, 1578, 262, 1579, 262, 1582, 262, 1590, 262, 1594, 
    262, 1580, 262, 1581, 262, 1610, 262, 1604, 262, 1606, 262, 1587, 262, 
    1593, 262, 1589, 262, 1602, 262, 1588, 262, 1582, 262, 1590, 262, 1594, 
    262, 1722, 262, 1647, 262, 1576, 262, 1580, 262, 1607, 262, 1581, 262, 
    1591, 262, 1610, 262, 1603, 262, 1605, 262, 1606, 262, 1587, 262, 1593, 
    262, 1601, 262, 1589, 262, 1602, 262, 1588, 262, 1578, 262, 1579, 262, 
    1582, 262, 1590, 262, 1592, 262, 1594, 262, 1646, 262, 1697, 262, 1575, 
    262, 1576, 262, 1580, 262, 1583, 262, 1607, 262, 1608, 262, 1586, 262, 
    1581, 262, 1591, 262, 1610, 262, 1604, 262, 1605, 262, 1606, 262, 1587, 
    262, 1593, 262, 1601, 262, 1589, 262, 1602, 262, 1585, 262, 1588, 262, 
    1578, 262, 1579, 262, 1582, 262, 1584, 262, 1590, 262, 1592, 262, 1594, 
    262, 1576, 262, 1580, 262, 1583, 262, 1608, 262, 1586, 262, 1581, 262, 
    1591, 262, 1610, 262, 1604, 262, 1605, 262, 1606, 262, 1587, 262, 1593, 
    262, 1601, 262, 1589, 262, 1602, 262, 1585, 262, 1588, 262, 1578, 262, 
    1579, 262, 1582, 262, 1584, 262, 1590, 262, 1592, 262, 1594, 514, 48, 46, 
    514, 48, 44, 514, 49, 44, 514, 50, 44, 514, 51, 44, 514, 52, 44, 514, 53, 
    44, 514, 54, 44, 514, 55, 44, 514, 56, 44, 514, 57, 44, 770, 40, 65, 41, 
    770, 40, 66, 41, 770, 40, 67, 41, 770, 40, 68, 41, 770, 40, 69, 41, 770, 
    40, 70, 41, 770, 40, 71, 41, 770, 40, 72, 41, 770, 40, 73, 41, 770, 40, 
    74, 41, 770, 40, 75, 41, 770, 40, 76, 41, 770, 40, 77, 41, 770, 40, 78, 
    41, 770, 40, 79, 41, 770, 40, 80, 41, 770, 40, 81, 41, 770, 40, 82, 41, 
    770, 40, 83, 41, 770, 40, 84, 41, 770, 40, 85, 41, 770, 40, 86, 41, 770, 
    40, 87, 41, 770, 40, 88, 41, 770, 40, 89, 41, 770, 40, 90, 41, 770, 
    12308, 83, 12309, 263, 67, 263, 82, 519, 67, 68, 519, 87, 90, 266, 65, 
    266, 66, 266, 67, 266, 68, 266, 69, 266, 70, 266, 71, 266, 72, 266, 73, 
    266, 74, 266, 75, 266, 76, 266, 77, 266, 78, 266, 79, 266, 80, 266, 81, 
    266, 82, 266, 83, 266, 84, 266, 85, 266, 86, 266, 87, 266, 88, 266, 89, 
    266, 90, 522, 72, 86, 522, 77, 86, 522, 83, 68, 522, 83, 83, 778, 80, 80, 
    86, 522, 87, 67, 515, 77, 67, 515, 77, 68, 522, 68, 74, 522, 12411, 
    12363, 522, 12467, 12467, 266, 12469, 266, 25163, 266, 23383, 266, 21452, 
    266, 12487, 266, 20108, 266, 22810, 266, 35299, 266, 22825, 266, 20132, 
    266, 26144, 266, 28961, 266, 26009, 266, 21069, 266, 24460, 266, 20877, 
    266, 26032, 266, 21021, 266, 32066, 266, 29983, 266, 36009, 266, 22768, 
    266, 21561, 266, 28436, 266, 25237, 266, 25429, 266, 19968, 266, 19977, 
    266, 36938, 266, 24038, 266, 20013, 266, 21491, 266, 25351, 266, 36208, 
    266, 25171, 266, 31105, 266, 31354, 266, 21512, 266, 28288, 266, 26377, 
    266, 26376, 266, 30003, 266, 21106, 266, 21942, 770, 12308, 26412, 12309, 
    770, 12308, 19977, 12309, 770, 12308, 20108, 12309, 770, 12308, 23433, 
    12309, 770, 12308, 28857, 12309, 770, 12308, 25171, 12309, 770, 12308, 
    30423, 12309, 770, 12308, 21213, 12309, 770, 12308, 25943, 12309, 263, 
    24471, 263, 21487, 256, 20029, 256, 20024, 256, 20033, 256, 131362, 256, 
    20320, 256, 20398, 256, 20411, 256, 20482, 256, 20602, 256, 20633, 256, 
    20711, 256, 20687, 256, 13470, 256, 132666, 256, 20813, 256, 20820, 256, 
    20836, 256, 20855, 256, 132380, 256, 13497, 256, 20839, 256, 20877, 256, 
    132427, 256, 20887, 256, 20900, 256, 20172, 256, 20908, 256, 20917, 256, 
    168415, 256, 20981, 256, 20995, 256, 13535, 256, 21051, 256, 21062, 256, 
    21106, 256, 21111, 256, 13589, 256, 21191, 256, 21193, 256, 21220, 256, 
    21242, 256, 21253, 256, 21254, 256, 21271, 256, 21321, 256, 21329, 256, 
    21338, 256, 21363, 256, 21373, 256, 21375, 256, 21375, 256, 21375, 256, 
    133676, 256, 28784, 256, 21450, 256, 21471, 256, 133987, 256, 21483, 256, 
    21489, 256, 21510, 256, 21662, 256, 21560, 256, 21576, 256, 21608, 256, 
    21666, 256, 21750, 256, 21776, 256, 21843, 256, 21859, 256, 21892, 256, 
    21892, 256, 21913, 256, 21931, 256, 21939, 256, 21954, 256, 22294, 256, 
    22022, 256, 22295, 256, 22097, 256, 22132, 256, 20999, 256, 22766, 256, 
    22478, 256, 22516, 256, 22541, 256, 22411, 256, 22578, 256, 22577, 256, 
    22700, 256, 136420, 256, 22770, 256, 22775, 256, 22790, 256, 22810, 256, 
    22818, 256, 22882, 256, 136872, 256, 136938, 256, 23020, 256, 23067, 256, 
    23079, 256, 23000, 256, 23142, 256, 14062, 256, 14076, 256, 23304, 256, 
    23358, 256, 23358, 256, 137672, 256, 23491, 256, 23512, 256, 23527, 256, 
    23539, 256, 138008, 256, 23551, 256, 23558, 256, 24403, 256, 23586, 256, 
    14209, 256, 23648, 256, 23662, 256, 23744, 256, 23693, 256, 138724, 256, 
    23875, 256, 138726, 256, 23918, 256, 23915, 256, 23932, 256, 24033, 256, 
    24034, 256, 14383, 256, 24061, 256, 24104, 256, 24125, 256, 24169, 256, 
    14434, 256, 139651, 256, 14460, 256, 24240, 256, 24243, 256, 24246, 256, 
    24266, 256, 172946, 256, 24318, 256, 140081, 256, 140081, 256, 33281, 
    256, 24354, 256, 24354, 256, 14535, 256, 144056, 256, 156122, 256, 24418, 
    256, 24427, 256, 14563, 256, 24474, 256, 24525, 256, 24535, 256, 24569, 
    256, 24705, 256, 14650, 256, 14620, 256, 24724, 256, 141012, 256, 24775, 
    256, 24904, 256, 24908, 256, 24910, 256, 24908, 256, 24954, 256, 24974, 
    256, 25010, 256, 24996, 256, 25007, 256, 25054, 256, 25074, 256, 25078, 
    256, 25104, 256, 25115, 256, 25181, 256, 25265, 256, 25300, 256, 25424, 
    256, 142092, 256, 25405, 256, 25340, 256, 25448, 256, 25475, 256, 25572, 
    256, 142321, 256, 25634, 256, 25541, 256, 25513, 256, 14894, 256, 25705, 
    256, 25726, 256, 25757, 256, 25719, 256, 14956, 256, 25935, 256, 25964, 
    256, 143370, 256, 26083, 256, 26360, 256, 26185, 256, 15129, 256, 26257, 
    256, 15112, 256, 15076, 256, 20882, 256, 20885, 256, 26368, 256, 26268, 
    256, 32941, 256, 17369, 256, 26391, 256, 26395, 256, 26401, 256, 26462, 
    256, 26451, 256, 144323, 256, 15177, 256, 26618, 256, 26501, 256, 26706, 
    256, 26757, 256, 144493, 256, 26766, 256, 26655, 256, 26900, 256, 15261, 
    256, 26946, 256, 27043, 256, 27114, 256, 27304, 256, 145059, 256, 27355, 
    256, 15384, 256, 27425, 256, 145575, 256, 27476, 256, 15438, 256, 27506, 
    256, 27551, 256, 27578, 256, 27579, 256, 146061, 256, 138507, 256, 
    146170, 256, 27726, 256, 146620, 256, 27839, 256, 27853, 256, 27751, 256, 
    27926, 256, 27966, 256, 28023, 256, 27969, 256, 28009, 256, 28024, 256, 
    28037, 256, 146718, 256, 27956, 256, 28207, 256, 28270, 256, 15667, 256, 
    28363, 256, 28359, 256, 147153, 256, 28153, 256, 28526, 256, 147294, 256, 
    147342, 256, 28614, 256, 28729, 256, 28702, 256, 28699, 256, 15766, 256, 
    28746, 256, 28797, 256, 28791, 256, 28845, 256, 132389, 256, 28997, 256, 
    148067, 256, 29084, 256, 148395, 256, 29224, 256, 29237, 256, 29264, 256, 
    149000, 256, 29312, 256, 29333, 256, 149301, 256, 149524, 256, 29562, 
    256, 29579, 256, 16044, 256, 29605, 256, 16056, 256, 16056, 256, 29767, 
    256, 29788, 256, 29809, 256, 29829, 256, 29898, 256, 16155, 256, 29988, 
    256, 150582, 256, 30014, 256, 150674, 256, 30064, 256, 139679, 256, 
    30224, 256, 151457, 256, 151480, 256, 151620, 256, 16380, 256, 16392, 
    256, 30452, 256, 151795, 256, 151794, 256, 151833, 256, 151859, 256, 
    30494, 256, 30495, 256, 30495, 256, 30538, 256, 16441, 256, 30603, 256, 
    16454, 256, 16534, 256, 152605, 256, 30798, 256, 30860, 256, 30924, 256, 
    16611, 256, 153126, 256, 31062, 256, 153242, 256, 153285, 256, 31119, 
    256, 31211, 256, 16687, 256, 31296, 256, 31306, 256, 31311, 256, 153980, 
    256, 154279, 256, 154279, 256, 31470, 256, 16898, 256, 154539, 256, 
    31686, 256, 31689, 256, 16935, 256, 154752, 256, 31954, 256, 17056, 256, 
    31976, 256, 31971, 256, 32000, 256, 155526, 256, 32099, 256, 17153, 256, 
    32199, 256, 32258, 256, 32325, 256, 17204, 256, 156200, 256, 156231, 256, 
    17241, 256, 156377, 256, 32634, 256, 156478, 256, 32661, 256, 32762, 256, 
    32773, 256, 156890, 256, 156963, 256, 32864, 256, 157096, 256, 32880, 
    256, 144223, 256, 17365, 256, 32946, 256, 33027, 256, 17419, 256, 33086, 
    256, 23221, 256, 157607, 256, 157621, 256, 144275, 256, 144284, 256, 
    33281, 256, 33284, 256, 36766, 256, 17515, 256, 33425, 256, 33419, 256, 
    33437, 256, 21171, 256, 33457, 256, 33459, 256, 33469, 256, 33510, 256, 
    158524, 256, 33509, 256, 33565, 256, 33635, 256, 33709, 256, 33571, 256, 
    33725, 256, 33767, 256, 33879, 256, 33619, 256, 33738, 256, 33740, 256, 
    33756, 256, 158774, 256, 159083, 256, 158933, 256, 17707, 256, 34033, 
    256, 34035, 256, 34070, 256, 160714, 256, 34148, 256, 159532, 256, 17757, 
    256, 17761, 256, 159665, 256, 159954, 256, 17771, 256, 34384, 256, 34396, 
    256, 34407, 256, 34409, 256, 34473, 256, 34440, 256, 34574, 256, 34530, 
    256, 34681, 256, 34600, 256, 34667, 256, 34694, 256, 17879, 256, 34785, 
    256, 34817, 256, 17913, 256, 34912, 256, 34915, 256, 161383, 256, 35031, 
    256, 35038, 256, 17973, 256, 35066, 256, 13499, 256, 161966, 256, 162150, 
    256, 18110, 256, 18119, 256, 35488, 256, 35565, 256, 35722, 256, 35925, 
    256, 162984, 256, 36011, 256, 36033, 256, 36123, 256, 36215, 256, 163631, 
    256, 133124, 256, 36299, 256, 36284, 256, 36336, 256, 133342, 256, 36564, 
    256, 36664, 256, 165330, 256, 165357, 256, 37012, 256, 37105, 256, 37137, 
    256, 165678, 256, 37147, 256, 37432, 256, 37591, 256, 37592, 256, 37500, 
    256, 37881, 256, 37909, 256, 166906, 256, 38283, 256, 18837, 256, 38327, 
    256, 167287, 256, 18918, 256, 38595, 256, 23986, 256, 38691, 256, 168261, 
    256, 168474, 256, 19054, 256, 19062, 256, 38880, 256, 168970, 256, 19122, 
    256, 169110, 256, 38923, 256, 38923, 256, 38953, 256, 169398, 256, 39138, 
    256, 19251, 256, 39209, 256, 39335, 256, 39362, 256, 39422, 256, 19406, 
    256, 170800, 256, 39698, 256, 40000, 256, 40189, 256, 19662, 256, 19693, 
    256, 40295, 256, 172238, 256, 19704, 256, 172293, 256, 172558, 256, 
    172689, 256, 40635, 256, 19798, 256, 40697, 256, 40702, 256, 40709, 256, 
    40719, 256, 40726, 256, 40763, 256, 173568, 
};

/* index tables for the decomposition data */
#define DECOMP_SHIFT 8
static unsigned char decomp_index1[] = {
    0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 16, 7, 17, 18, 19, 20, 21, 22, 23, 24, 7, 7, 7, 7, 7, 25, 
    7, 26, 27, 28, 29, 30, 31, 32, 33, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 34, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 35, 36, 37, 38, 39, 40, 
    41, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 42, 43, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 44, 7, 7, 45, 
    46, 47, 48, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 49, 7, 7, 50, 51, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 52, 53, 54, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
};

static unsigned short decomp_index2[] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
    3, 0, 6, 0, 0, 0, 0, 8, 0, 0, 11, 13, 15, 18, 0, 0, 20, 23, 25, 0, 27, 
    31, 35, 0, 39, 42, 45, 48, 51, 54, 0, 57, 60, 63, 66, 69, 72, 75, 78, 81, 
    0, 84, 87, 90, 93, 96, 99, 0, 0, 102, 105, 108, 111, 114, 0, 0, 117, 120, 
    123, 126, 129, 132, 0, 135, 138, 141, 144, 147, 150, 153, 156, 159, 0, 
    162, 165, 168, 171, 174, 177, 0, 0, 180, 183, 186, 189, 192, 0, 195, 198, 
    201, 204, 207, 210, 213, 216, 219, 222, 225, 228, 231, 234, 237, 240, 
    243, 0, 0, 246, 249, 252, 255, 258, 261, 264, 267, 270, 273, 276, 279, 
    282, 285, 288, 291, 294, 297, 300, 303, 0, 0, 306, 309, 312, 315, 318, 
    321, 324, 327, 330, 0, 333, 336, 339, 342, 345, 348, 0, 351, 354, 357, 
    360, 363, 366, 369, 372, 0, 0, 375, 378, 381, 384, 387, 390, 393, 0, 0, 
    396, 399, 402, 405, 408, 411, 0, 0, 414, 417, 420, 423, 426, 429, 432, 
    435, 438, 441, 444, 447, 450, 453, 456, 459, 462, 465, 0, 0, 468, 471, 
    474, 477, 480, 483, 486, 489, 492, 495, 498, 501, 504, 507, 510, 513, 
    516, 519, 522, 525, 528, 531, 534, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 539, 542, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 548, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 554, 557, 560, 563, 566, 569, 572, 
    575, 578, 581, 584, 587, 590, 593, 596, 599, 602, 605, 608, 611, 614, 
    617, 620, 623, 0, 626, 629, 632, 635, 638, 641, 0, 0, 644, 647, 650, 653, 
    656, 659, 662, 665, 668, 671, 674, 677, 680, 683, 686, 689, 0, 0, 692, 
    695, 698, 701, 704, 707, 710, 713, 716, 719, 722, 725, 728, 731, 734, 
    737, 740, 743, 746, 749, 752, 755, 758, 761, 764, 767, 770, 773, 776, 
    779, 782, 785, 788, 791, 794, 797, 0, 0, 800, 803, 0, 0, 0, 0, 0, 0, 806, 
    809, 812, 815, 818, 821, 824, 827, 830, 833, 836, 839, 842, 845, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 848, 850, 852, 854, 856, 858, 860, 862, 864, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 866, 
    869, 872, 875, 878, 881, 0, 0, 884, 886, 888, 890, 892, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 894, 896, 0, 898, 900, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 0, 0, 
    0, 905, 0, 0, 0, 908, 0, 0, 0, 0, 0, 910, 913, 916, 919, 921, 924, 927, 
    0, 930, 0, 933, 936, 939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 942, 945, 948, 951, 954, 957, 960, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 963, 966, 
    969, 972, 975, 0, 978, 980, 982, 984, 987, 990, 992, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 994, 996, 998, 0, 
    1000, 1002, 0, 0, 0, 1004, 0, 0, 0, 0, 0, 0, 1006, 1009, 0, 1012, 0, 0, 
    0, 1015, 0, 0, 0, 0, 1018, 1021, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 1030, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 1033, 1036, 0, 1039, 0, 0, 0, 1042, 0, 0, 0, 
    0, 1045, 1048, 1051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 1054, 1057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1060, 1063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 1066, 1069, 1072, 1075, 0, 0, 1078, 1081, 0, 0, 1084, 1087, 
    1090, 1093, 1096, 1099, 0, 0, 1102, 1105, 1108, 1111, 1114, 1117, 0, 0, 
    1120, 1123, 1126, 1129, 1132, 1135, 1138, 1141, 1144, 1147, 1150, 1153, 
    0, 0, 1156, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 1162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1165, 1168, 1171, 1174, 
    1177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 1180, 1183, 1186, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1192, 0, 1195, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1201, 0, 0, 0, 
    0, 0, 0, 0, 1204, 0, 0, 1207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1210, 
    1213, 1216, 1219, 1222, 1225, 1228, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 1234, 1237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1240, 1243, 
    0, 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1249, 0, 0, 1252, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 1255, 1258, 1261, 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 1267, 0, 0, 1270, 1273, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 1276, 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1282, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 1285, 1288, 1291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1297, 0, 0, 0, 0, 0, 0, 1300, 1303, 0, 
    1306, 1309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1312, 1315, 1318, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1321, 0, 1324, 1327, 1330, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1336, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, 1342, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1345, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    1347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1350, 0, 0, 0, 0, 1353, 0, 0, 0, 0, 
    1356, 0, 0, 0, 0, 1359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1362, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 1365, 0, 1368, 1371, 1374, 1377, 1380, 0, 0, 0, 0, 
    0, 0, 0, 1383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1386, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 1389, 0, 0, 0, 0, 1392, 0, 0, 0, 0, 1395, 0, 
    0, 0, 0, 1398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1401, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 1404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 1407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1409, 0, 1412, 0, 
    1415, 0, 1418, 0, 1421, 0, 0, 0, 1424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 1427, 0, 1430, 0, 0, 1433, 1436, 0, 1439, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1442, 1444, 1446, 0, 1448, 1450, 1452, 
    1454, 1456, 1458, 1460, 1462, 1464, 1466, 1468, 0, 1470, 1472, 1474, 
    1476, 1478, 1480, 1482, 1484, 1486, 1488, 1490, 1492, 1494, 1496, 1498, 
    1500, 1502, 1504, 0, 1506, 1508, 1510, 1512, 1514, 1516, 1518, 1520, 
    1522, 1524, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540, 1542, 1544, 
    1546, 1548, 1550, 1552, 1554, 1556, 1558, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1564, 1566, 1568, 
    1570, 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1588, 1590, 1592, 
    1594, 1596, 1598, 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 
    1618, 1620, 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1638, 1641, 1644, 1647, 1650, 1653, 
    1656, 1659, 1662, 1665, 1668, 1671, 1674, 1677, 1680, 1683, 1686, 1689, 
    1692, 1695, 1698, 1701, 1704, 1707, 1710, 1713, 1716, 1719, 1722, 1725, 
    1728, 1731, 1734, 1737, 1740, 1743, 1746, 1749, 1752, 1755, 1758, 1761, 
    1764, 1767, 1770, 1773, 1776, 1779, 1782, 1785, 1788, 1791, 1794, 1797, 
    1800, 1803, 1806, 1809, 1812, 1815, 1818, 1821, 1824, 1827, 1830, 1833, 
    1836, 1839, 1842, 1845, 1848, 1851, 1854, 1857, 1860, 1863, 1866, 1869, 
    1872, 1875, 1878, 1881, 1884, 1887, 1890, 1893, 1896, 1899, 1902, 1905, 
    1908, 1911, 1914, 1917, 1920, 1923, 1926, 1929, 1932, 1935, 1938, 1941, 
    1944, 1947, 1950, 1953, 1956, 1959, 1962, 1965, 1968, 1971, 1974, 1977, 
    1980, 1983, 1986, 1989, 1992, 1995, 1998, 2001, 2004, 2007, 2010, 2013, 
    2016, 2019, 2022, 2025, 2028, 2031, 2034, 2037, 2040, 2043, 2046, 2049, 
    2052, 2055, 2058, 2061, 2064, 2067, 2070, 2073, 2076, 2079, 2082, 2085, 
    2088, 2091, 2094, 2097, 2100, 2103, 0, 0, 0, 0, 2106, 2109, 2112, 2115, 
    2118, 2121, 2124, 2127, 2130, 2133, 2136, 2139, 2142, 2145, 2148, 2151, 
    2154, 2157, 2160, 2163, 2166, 2169, 2172, 2175, 2178, 2181, 2184, 2187, 
    2190, 2193, 2196, 2199, 2202, 2205, 2208, 2211, 2214, 2217, 2220, 2223, 
    2226, 2229, 2232, 2235, 2238, 2241, 2244, 2247, 2250, 2253, 2256, 2259, 
    2262, 2265, 2268, 2271, 2274, 2277, 2280, 2283, 2286, 2289, 2292, 2295, 
    2298, 2301, 2304, 2307, 2310, 2313, 2316, 2319, 2322, 2325, 2328, 2331, 
    2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355, 2358, 2361, 2364, 2367, 
    2370, 2373, 0, 0, 0, 0, 0, 0, 2376, 2379, 2382, 2385, 2388, 2391, 2394, 
    2397, 2400, 2403, 2406, 2409, 2412, 2415, 2418, 2421, 2424, 2427, 2430, 
    2433, 2436, 2439, 0, 0, 2442, 2445, 2448, 2451, 2454, 2457, 0, 0, 2460, 
    2463, 2466, 2469, 2472, 2475, 2478, 2481, 2484, 2487, 2490, 2493, 2496, 
    2499, 2502, 2505, 2508, 2511, 2514, 2517, 2520, 2523, 2526, 2529, 2532, 
    2535, 2538, 2541, 2544, 2547, 2550, 2553, 2556, 2559, 2562, 2565, 2568, 
    2571, 0, 0, 2574, 2577, 2580, 2583, 2586, 2589, 0, 0, 2592, 2595, 2598, 
    2601, 2604, 2607, 2610, 2613, 0, 2616, 0, 2619, 0, 2622, 0, 2625, 2628, 
    2631, 2634, 2637, 2640, 2643, 2646, 2649, 2652, 2655, 2658, 2661, 2664, 
    2667, 2670, 2673, 2676, 2679, 2681, 2684, 2686, 2689, 2691, 2694, 2696, 
    2699, 2701, 2704, 2706, 2709, 0, 0, 2711, 2714, 2717, 2720, 2723, 2726, 
    2729, 2732, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756, 2759, 2762, 
    2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786, 2789, 2792, 2795, 2798, 
    2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822, 2825, 2828, 2831, 2834, 
    2837, 2840, 2843, 2846, 2849, 2852, 2855, 2858, 2861, 2864, 2867, 0, 
    2870, 2873, 2876, 2879, 2882, 2885, 2887, 2890, 2893, 2895, 2898, 2901, 
    2904, 2907, 2910, 0, 2913, 2916, 2919, 2922, 2924, 2927, 2929, 2932, 
    2935, 2938, 2941, 2944, 2947, 2950, 0, 0, 2952, 2955, 2958, 2961, 2964, 
    2967, 0, 2969, 2972, 2975, 2978, 2981, 2984, 2987, 2989, 2992, 2995, 
    2998, 3001, 3004, 3007, 3010, 3012, 3015, 3018, 3020, 0, 0, 3022, 3025, 
    3028, 0, 3031, 3034, 3037, 3040, 3042, 3045, 3047, 3050, 3052, 0, 3055, 
    3057, 3059, 3061, 3063, 3065, 3067, 3069, 3071, 3073, 3075, 0, 0, 0, 0, 
    0, 0, 3077, 0, 0, 0, 0, 0, 3079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    3082, 3084, 3087, 0, 0, 0, 0, 0, 0, 0, 0, 3091, 0, 0, 0, 3093, 3096, 0, 
    3100, 3103, 0, 0, 0, 0, 3107, 0, 3110, 0, 0, 0, 0, 0, 0, 0, 0, 3113, 
    3116, 3119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3122, 0, 0, 0, 0, 0, 
    0, 0, 3127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3129, 3131, 
    0, 0, 3133, 3135, 3137, 3139, 3141, 3143, 3145, 3147, 3149, 3151, 3153, 
    3155, 3157, 3159, 3161, 3163, 3165, 3167, 3169, 3171, 3173, 3175, 3177, 
    3179, 3181, 3183, 3185, 0, 3187, 3189, 3191, 3193, 3195, 3197, 3199, 
    3201, 3203, 3205, 3207, 3209, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    3213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3216, 3220, 3224, 
    3226, 0, 3229, 3233, 3237, 0, 3239, 3242, 3244, 3246, 3248, 3250, 3252, 
    3254, 3256, 3258, 3260, 0, 3262, 3264, 0, 0, 3267, 3269, 3271, 3273, 
    3275, 0, 0, 3277, 3280, 3284, 0, 3287, 0, 3289, 0, 3291, 0, 3293, 3295, 
    3297, 3299, 0, 3301, 3303, 3305, 0, 3307, 3309, 3311, 3313, 3315, 3317, 
    3319, 0, 3321, 3325, 3327, 3329, 3331, 3333, 0, 0, 0, 0, 3335, 3337, 
    3339, 3341, 3343, 0, 0, 0, 0, 0, 0, 3345, 3349, 3353, 3358, 3362, 3366, 
    3370, 3374, 3378, 3382, 3386, 3390, 3394, 3398, 3402, 3406, 3409, 3411, 
    3414, 3418, 3421, 3423, 3426, 3430, 3435, 3438, 3440, 3443, 3447, 3449, 
    3451, 3453, 3455, 3457, 3460, 3464, 3467, 3469, 3472, 3476, 3481, 3484, 
    3486, 3489, 3493, 3495, 3497, 3499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3501, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3505, 3508, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3514, 
    3517, 3520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 3523, 0, 0, 0, 0, 3526, 0, 0, 3529, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3532, 0, 3535, 
    0, 0, 0, 0, 0, 3538, 3541, 0, 3545, 3548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 3552, 0, 0, 3555, 0, 0, 3558, 0, 3561, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3564, 0, 3567, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 3570, 3573, 3576, 3579, 3582, 0, 0, 3585, 3588, 
    0, 0, 3591, 3594, 0, 0, 0, 0, 0, 0, 3597, 3600, 0, 0, 3603, 3606, 0, 0, 
    3609, 3612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3615, 3618, 3621, 3624, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3627, 
    3630, 3633, 3636, 0, 0, 0, 0, 0, 0, 3639, 3642, 3645, 3648, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 3651, 3653, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 3655, 3657, 3659, 3661, 3663, 3665, 3667, 3669, 
    3671, 3673, 3676, 3679, 3682, 3685, 3688, 3691, 3694, 3697, 3700, 3703, 
    3706, 3710, 3714, 3718, 3722, 3726, 3730, 3734, 3738, 3742, 3747, 3752, 
    3757, 3762, 3767, 3772, 3777, 3782, 3787, 3792, 3797, 3800, 3803, 3806, 
    3809, 3812, 3815, 3818, 3821, 3824, 3828, 3832, 3836, 3840, 3844, 3848, 
    3852, 3856, 3860, 3864, 3868, 3872, 3876, 3880, 3884, 3888, 3892, 3896, 
    3900, 3904, 3908, 3912, 3916, 3920, 3924, 3928, 3932, 3936, 3940, 3944, 
    3948, 3952, 3956, 3960, 3964, 3968, 3972, 3974, 3976, 3978, 3980, 3982, 
    3984, 3986, 3988, 3990, 3992, 3994, 3996, 3998, 4000, 4002, 4004, 4006, 
    4008, 4010, 4012, 4014, 4016, 4018, 4020, 4022, 4024, 4026, 4028, 4030, 
    4032, 4034, 4036, 4038, 4040, 4042, 4044, 4046, 4048, 4050, 4052, 4054, 
    4056, 4058, 4060, 4062, 4064, 4066, 4068, 4070, 4072, 4074, 4076, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 4078, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4083, 4087, 4090, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 4094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4097, 4099, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 4101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4103, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 4105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4107, 
    4109, 4111, 4113, 4115, 4117, 4119, 4121, 4123, 4125, 4127, 4129, 4131, 
    4133, 4135, 4137, 4139, 4141, 4143, 4145, 4147, 4149, 4151, 4153, 4155, 
    4157, 4159, 4161, 4163, 4165, 4167, 4169, 4171, 4173, 4175, 4177, 4179, 
    4181, 4183, 4185, 4187, 4189, 4191, 4193, 4195, 4197, 4199, 4201, 4203, 
    4205, 4207, 4209, 4211, 4213, 4215, 4217, 4219, 4221, 4223, 4225, 4227, 
    4229, 4231, 4233, 4235, 4237, 4239, 4241, 4243, 4245, 4247, 4249, 4251, 
    4253, 4255, 4257, 4259, 4261, 4263, 4265, 4267, 4269, 4271, 4273, 4275, 
    4277, 4279, 4281, 4283, 4285, 4287, 4289, 4291, 4293, 4295, 4297, 4299, 
    4301, 4303, 4305, 4307, 4309, 4311, 4313, 4315, 4317, 4319, 4321, 4323, 
    4325, 4327, 4329, 4331, 4333, 4335, 4337, 4339, 4341, 4343, 4345, 4347, 
    4349, 4351, 4353, 4355, 4357, 4359, 4361, 4363, 4365, 4367, 4369, 4371, 
    4373, 4375, 4377, 4379, 4381, 4383, 4385, 4387, 4389, 4391, 4393, 4395, 
    4397, 4399, 4401, 4403, 4405, 4407, 4409, 4411, 4413, 4415, 4417, 4419, 
    4421, 4423, 4425, 4427, 4429, 4431, 4433, 4435, 4437, 4439, 4441, 4443, 
    4445, 4447, 4449, 4451, 4453, 4455, 4457, 4459, 4461, 4463, 4465, 4467, 
    4469, 4471, 4473, 4475, 4477, 4479, 4481, 4483, 4485, 4487, 4489, 4491, 
    4493, 4495, 4497, 4499, 4501, 4503, 4505, 4507, 4509, 4511, 4513, 4515, 
    4517, 4519, 4521, 4523, 4525, 4527, 4529, 4531, 4533, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4537, 0, 4539, 
    4541, 4543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4545, 0, 
    4548, 0, 4551, 0, 4554, 0, 4557, 0, 4560, 0, 4563, 0, 4566, 0, 4569, 0, 
    4572, 0, 4575, 0, 4578, 0, 0, 4581, 0, 4584, 0, 4587, 0, 0, 0, 0, 0, 0, 
    4590, 4593, 0, 4596, 4599, 0, 4602, 4605, 0, 4608, 4611, 0, 4614, 4617, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4620, 
    0, 0, 0, 0, 0, 0, 4623, 4626, 0, 4629, 4632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 4635, 0, 4638, 0, 4641, 0, 4644, 0, 4647, 0, 4650, 0, 4653, 0, 
    4656, 0, 4659, 0, 4662, 0, 4665, 0, 4668, 0, 0, 4671, 0, 4674, 0, 4677, 
    0, 0, 0, 0, 0, 0, 4680, 4683, 0, 4686, 4689, 0, 4692, 4695, 0, 4698, 
    4701, 0, 4704, 4707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 4710, 0, 0, 4713, 4716, 4719, 4722, 0, 0, 0, 4725, 4728, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 4731, 4733, 4735, 4737, 4739, 4741, 4743, 4745, 4747, 4749, 4751, 
    4753, 4755, 4757, 4759, 4761, 4763, 4765, 4767, 4769, 4771, 4773, 4775, 
    4777, 4779, 4781, 4783, 4785, 4787, 4789, 4791, 4793, 4795, 4797, 4799, 
    4801, 4803, 4805, 4807, 4809, 4811, 4813, 4815, 4817, 4819, 4821, 4823, 
    4825, 4827, 4829, 4831, 4833, 4835, 4837, 4839, 4841, 4843, 4845, 4847, 
    4849, 4851, 4853, 4855, 4857, 4859, 4861, 4863, 4865, 4867, 4869, 4871, 
    4873, 4875, 4877, 4879, 4881, 4883, 4885, 4887, 4889, 4891, 4893, 4895, 
    4897, 4899, 4901, 4903, 4905, 4907, 4909, 4911, 4913, 4915, 4917, 0, 0, 
    0, 4919, 4921, 4923, 4925, 4927, 4929, 4931, 4933, 4935, 4937, 4939, 
    4941, 4943, 4945, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 4947, 4951, 4955, 4959, 4963, 4967, 4971, 4975, 4979, 
    4983, 4987, 4991, 4995, 4999, 5003, 5008, 5013, 5018, 5023, 5028, 5033, 
    5038, 5043, 5048, 5053, 5058, 5063, 5068, 5073, 5078, 5086, 0, 5093, 
    5097, 5101, 5105, 5109, 5113, 5117, 5121, 5125, 5129, 5133, 5137, 5141, 
    5145, 5149, 5153, 5157, 5161, 5165, 5169, 5173, 5177, 5181, 5185, 5189, 
    5193, 5197, 5201, 5205, 5209, 5213, 5217, 5221, 5225, 5229, 5233, 5237, 
    5239, 5241, 5243, 0, 0, 0, 0, 0, 0, 0, 0, 5245, 5249, 5252, 5255, 5258, 
    5261, 5264, 5267, 5270, 5273, 5276, 5279, 5282, 5285, 5288, 5291, 5294, 
    5296, 5298, 5300, 5302, 5304, 5306, 5308, 5310, 5312, 5314, 5316, 5318, 
    5320, 5322, 5325, 5328, 5331, 5334, 5337, 5340, 5343, 5346, 5349, 5352, 
    5355, 5358, 5361, 5364, 5370, 5375, 0, 5378, 5380, 5382, 5384, 5386, 
    5388, 5390, 5392, 5394, 5396, 5398, 5400, 5402, 5404, 5406, 5408, 5410, 
    5412, 5414, 5416, 5418, 5420, 5422, 5424, 5426, 5428, 5430, 5432, 5434, 
    5436, 5438, 5440, 5442, 5444, 5446, 5448, 5450, 5452, 5454, 5456, 5458, 
    5460, 5462, 5464, 5466, 5468, 5470, 5472, 5474, 5476, 5479, 5482, 5485, 
    5488, 5491, 5494, 5497, 5500, 5503, 5506, 5509, 5512, 5515, 5518, 5521, 
    5524, 5527, 5530, 5533, 5536, 5539, 5542, 5545, 5548, 5552, 5556, 5560, 
    5563, 5567, 5570, 5574, 5576, 5578, 5580, 5582, 5584, 5586, 5588, 5590, 
    5592, 5594, 5596, 5598, 5600, 5602, 5604, 5606, 5608, 5610, 5612, 5614, 
    5616, 5618, 5620, 5622, 5624, 5626, 5628, 5630, 5632, 5634, 5636, 5638, 
    5640, 5642, 5644, 5646, 5648, 5650, 5652, 5654, 5656, 5658, 5660, 5662, 
    5664, 5666, 0, 5668, 5673, 5678, 5683, 5687, 5692, 5696, 5700, 5706, 
    5711, 5715, 5719, 5723, 5728, 5733, 5737, 5741, 5744, 5748, 5753, 5758, 
    5761, 5767, 5774, 5780, 5784, 5790, 5796, 5801, 5805, 5809, 5813, 5818, 
    5824, 5829, 5833, 5837, 5841, 5844, 5847, 5850, 5853, 5857, 5861, 5867, 
    5871, 5876, 5882, 5886, 5889, 5892, 5898, 5903, 5909, 5913, 5919, 5922, 
    5926, 5930, 5934, 5938, 5942, 5947, 5951, 5954, 5958, 5962, 5966, 5971, 
    5975, 5979, 5983, 5989, 5994, 5997, 6003, 6006, 6011, 6016, 6020, 6024, 
    6028, 6033, 6036, 6040, 6045, 6048, 6054, 6058, 6061, 6064, 6067, 6070, 
    6073, 6076, 6079, 6082, 6085, 6088, 6092, 6096, 6100, 6104, 6108, 6112, 
    6116, 6120, 6124, 6128, 6132, 6136, 6140, 6144, 6148, 6152, 6155, 6158, 
    6162, 6165, 6168, 6171, 6175, 6179, 6182, 6185, 6188, 6191, 6194, 6199, 
    6202, 6205, 6208, 6211, 6214, 6217, 6220, 6223, 6227, 6232, 6235, 6238, 
    6241, 6244, 6247, 6250, 6253, 6257, 6261, 6265, 6269, 6272, 6275, 6278, 
    6281, 6284, 6287, 6290, 6293, 6296, 6299, 6303, 6307, 6310, 6314, 6318, 
    6322, 6325, 6329, 6333, 6338, 6341, 6345, 6349, 6353, 6357, 6363, 6370, 
    6373, 6376, 6379, 6382, 6385, 6388, 6391, 6394, 6397, 6400, 6403, 6406, 
    6409, 6412, 6415, 6418, 6421, 6424, 6429, 6432, 6435, 6438, 6443, 6447, 
    6450, 6453, 6456, 6459, 6462, 6465, 6468, 6471, 6474, 6477, 6481, 6484, 
    6487, 6491, 6495, 6498, 6503, 6507, 6510, 6513, 6516, 6519, 6523, 6527, 
    6530, 6533, 6536, 6539, 6542, 6545, 6548, 6551, 6554, 6558, 6562, 6566, 
    6570, 6574, 6578, 6582, 6586, 6590, 6594, 6598, 6602, 6606, 6610, 6614, 
    6618, 6622, 6626, 6630, 6634, 6638, 6642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 6646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    6648, 6650, 0, 0, 0, 0, 0, 0, 6652, 6654, 6656, 6658, 6660, 6662, 6664, 
    6666, 6668, 6670, 6672, 6674, 6676, 6678, 6680, 6682, 6684, 6686, 6688, 
    6690, 6692, 6694, 6696, 6698, 6700, 6702, 6704, 6706, 6708, 6710, 6712, 
    6714, 6716, 6718, 6720, 6722, 6724, 6726, 6728, 6730, 6732, 6734, 6736, 
    6738, 6740, 6742, 6744, 6746, 6748, 6750, 6752, 6754, 6756, 6758, 6760, 
    6762, 6764, 6766, 6768, 6770, 6772, 6774, 6776, 6778, 6780, 6782, 6784, 
    6786, 6788, 6790, 6792, 6794, 6796, 6798, 6800, 6802, 6804, 6806, 6808, 
    6810, 6812, 6814, 6816, 6818, 6820, 6822, 6824, 6826, 6828, 6830, 6832, 
    6834, 6836, 6838, 6840, 6842, 6844, 6846, 6848, 6850, 6852, 6854, 6856, 
    6858, 6860, 6862, 6864, 6866, 6868, 6870, 6872, 6874, 6876, 6878, 6880, 
    6882, 6884, 6886, 6888, 6890, 6892, 6894, 6896, 6898, 6900, 6902, 6904, 
    6906, 6908, 6910, 6912, 6914, 6916, 6918, 6920, 6922, 6924, 6926, 6928, 
    6930, 6932, 6934, 6936, 6938, 6940, 6942, 6944, 6946, 6948, 6950, 6952, 
    6954, 6956, 6958, 6960, 6962, 6964, 6966, 6968, 6970, 6972, 6974, 6976, 
    6978, 6980, 6982, 6984, 6986, 6988, 6990, 6992, 6994, 6996, 6998, 7000, 
    7002, 7004, 7006, 7008, 7010, 7012, 7014, 7016, 7018, 7020, 7022, 7024, 
    7026, 7028, 7030, 7032, 7034, 7036, 7038, 7040, 7042, 7044, 7046, 7048, 
    7050, 7052, 7054, 7056, 7058, 7060, 7062, 7064, 7066, 7068, 7070, 7072, 
    7074, 7076, 7078, 7080, 7082, 7084, 7086, 7088, 7090, 7092, 7094, 7096, 
    7098, 7100, 7102, 7104, 7106, 7108, 7110, 7112, 7114, 7116, 7118, 7120, 
    7122, 7124, 7126, 7128, 7130, 7132, 7134, 7136, 7138, 7140, 7142, 7144, 
    7146, 7148, 7150, 7152, 7154, 7156, 7158, 7160, 7162, 7164, 7166, 7168, 
    7170, 7172, 7174, 7176, 7178, 7180, 7182, 7184, 7186, 7188, 7190, 0, 0, 
    7192, 0, 7194, 0, 0, 7196, 7198, 7200, 7202, 7204, 7206, 7208, 7210, 
    7212, 7214, 0, 7216, 0, 7218, 0, 0, 7220, 7222, 0, 0, 0, 7224, 7226, 
    7228, 7230, 7232, 7234, 7236, 7238, 7240, 7242, 7244, 7246, 7248, 7250, 
    7252, 7254, 7256, 7258, 7260, 7262, 7264, 7266, 7268, 7270, 7272, 7274, 
    7276, 7278, 7280, 7282, 7284, 7286, 7288, 7290, 7292, 7294, 7296, 7298, 
    7300, 7302, 7304, 7306, 7308, 7310, 7312, 7314, 7316, 7318, 7320, 7322, 
    7324, 7326, 7328, 7330, 7332, 7334, 7336, 7338, 7340, 7342, 7344, 7346, 
    7348, 7350, 7352, 7354, 7356, 7358, 0, 0, 7360, 7362, 7364, 7366, 7368, 
    7370, 7372, 7374, 7376, 7378, 7380, 7382, 7384, 7386, 7388, 7390, 7392, 
    7394, 7396, 7398, 7400, 7402, 7404, 7406, 7408, 7410, 7412, 7414, 7416, 
    7418, 7420, 7422, 7424, 7426, 7428, 7430, 7432, 7434, 7436, 7438, 7440, 
    7442, 7444, 7446, 7448, 7450, 7452, 7454, 7456, 7458, 7460, 7462, 7464, 
    7466, 7468, 7470, 7472, 7474, 7476, 7478, 7480, 7482, 7484, 7486, 7488, 
    7490, 7492, 7494, 7496, 7498, 7500, 7502, 7504, 7506, 7508, 7510, 7512, 
    7514, 7516, 7518, 7520, 7522, 7524, 7526, 7528, 7530, 7532, 7534, 7536, 
    7538, 7540, 7542, 7544, 7546, 7548, 7550, 7552, 7554, 7556, 7558, 7560, 
    7562, 7564, 7566, 7568, 7570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    7572, 7575, 7578, 7581, 7585, 7589, 7592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 7595, 7598, 7601, 7604, 7607, 0, 0, 0, 0, 0, 7610, 0, 7613, 7616, 
    7618, 7620, 7622, 7624, 7626, 7628, 7630, 7632, 7634, 7636, 7639, 7642, 
    7645, 7648, 7651, 7654, 7657, 7660, 7663, 7666, 7669, 7672, 0, 7675, 
    7678, 7681, 7684, 7687, 0, 7690, 0, 7693, 7696, 0, 7699, 7702, 0, 7705, 
    7708, 7711, 7714, 7717, 7720, 7723, 7726, 7729, 7732, 7735, 7737, 7739, 
    7741, 7743, 7745, 7747, 7749, 7751, 7753, 7755, 7757, 7759, 7761, 7763, 
    7765, 7767, 7769, 7771, 7773, 7775, 7777, 7779, 7781, 7783, 7785, 7787, 
    7789, 7791, 7793, 7795, 7797, 7799, 7801, 7803, 7805, 7807, 7809, 7811, 
    7813, 7815, 7817, 7819, 7821, 7823, 7825, 7827, 7829, 7831, 7833, 7835, 
    7837, 7839, 7841, 7843, 7845, 7847, 7849, 7851, 7853, 7855, 7857, 7859, 
    7861, 7863, 7865, 7867, 7869, 7871, 7873, 7875, 7877, 7879, 7881, 7883, 
    7885, 7887, 7889, 7891, 7893, 7895, 7897, 7899, 7901, 7903, 7905, 7907, 
    7909, 7911, 7913, 7915, 7917, 7919, 7921, 7923, 7925, 7927, 7929, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 7931, 7933, 7935, 7937, 7939, 7941, 7943, 7945, 
    7947, 7949, 7951, 7953, 7955, 7957, 7959, 7961, 7963, 7965, 7967, 7969, 
    7971, 7973, 7975, 7977, 7980, 7983, 7986, 7989, 7992, 7995, 7998, 8001, 
    8004, 8007, 8010, 8013, 8016, 8019, 8022, 8025, 8028, 8031, 8033, 8035, 
    8037, 8039, 8042, 8045, 8048, 8051, 8054, 8057, 8060, 8063, 8066, 8069, 
    8072, 8075, 8078, 8081, 8084, 8087, 8090, 8093, 8096, 8099, 8102, 8105, 
    8108, 8111, 8114, 8117, 8120, 8123, 8126, 8129, 8132, 8135, 8138, 8141, 
    8144, 8147, 8150, 8153, 8156, 8159, 8162, 8165, 8168, 8171, 8174, 8177, 
    8180, 8183, 8186, 8189, 8192, 8195, 8198, 8201, 8204, 8207, 8210, 8213, 
    8216, 8219, 8222, 8225, 8228, 8231, 8234, 8237, 8240, 8243, 8246, 8249, 
    8252, 8255, 8258, 8261, 8264, 8267, 8270, 8273, 8276, 8279, 8282, 8285, 
    8288, 8291, 8294, 8297, 8300, 8303, 8306, 8309, 8312, 8315, 8318, 8321, 
    8325, 8329, 8333, 8337, 8341, 8345, 8348, 8351, 8354, 8357, 8360, 8363, 
    8366, 8369, 8372, 8375, 8378, 8381, 8384, 8387, 8390, 8393, 8396, 8399, 
    8402, 8405, 8408, 8411, 8414, 8417, 8420, 8423, 8426, 8429, 8432, 8435, 
    8438, 8441, 8444, 8447, 8450, 8453, 8456, 8459, 8462, 8465, 8468, 8471, 
    8474, 8477, 8480, 8483, 8486, 8489, 8492, 8495, 8498, 8501, 8504, 8507, 
    8510, 8513, 8516, 8519, 8522, 8525, 8528, 8531, 8534, 8537, 8540, 8543, 
    8546, 8549, 8552, 8555, 8558, 8561, 8564, 8567, 8570, 8573, 8576, 8579, 
    8582, 8585, 8588, 8591, 8594, 8597, 8600, 8603, 8606, 8609, 8612, 8615, 
    8618, 8621, 8624, 8627, 8630, 8633, 8636, 8639, 8642, 8645, 8648, 8651, 
    8654, 8657, 8660, 8663, 8666, 8669, 8672, 8675, 8678, 8681, 8684, 8687, 
    8690, 8693, 8696, 8699, 8702, 8705, 8708, 8711, 8714, 8717, 8720, 8723, 
    8726, 8729, 8732, 8735, 8738, 8741, 8744, 8747, 8750, 8753, 8756, 8759, 
    8762, 8765, 8768, 8771, 8775, 8779, 8783, 8786, 8789, 8792, 8795, 8798, 
    8801, 8804, 8807, 8810, 8813, 8816, 8819, 8822, 8825, 8828, 8831, 8834, 
    8837, 8840, 8843, 8846, 8849, 8852, 8855, 8858, 8861, 8864, 8867, 8870, 
    8873, 8876, 8879, 8882, 8885, 8888, 8891, 8894, 8897, 8900, 8903, 8906, 
    8909, 8912, 8915, 8918, 8921, 8924, 8927, 8930, 8933, 8936, 8939, 8942, 
    8945, 8948, 8951, 8954, 8957, 8960, 8963, 8966, 8969, 8972, 8975, 8978, 
    8981, 8984, 8987, 8990, 8993, 8996, 8999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 9002, 9006, 9010, 9014, 9018, 9022, 9026, 9030, 
    9034, 9038, 9042, 9046, 9050, 9054, 9058, 9062, 9066, 9070, 9074, 9078, 
    9082, 9086, 9090, 9094, 9098, 9102, 9106, 9110, 9114, 9118, 9122, 9126, 
    9130, 9134, 9138, 9142, 9146, 9150, 9154, 9158, 9162, 9166, 9170, 9174, 
    9178, 9182, 9186, 9190, 9194, 9198, 9202, 9206, 9210, 9214, 9218, 9222, 
    9226, 9230, 9234, 9238, 9242, 9246, 9250, 9254, 0, 0, 9258, 9262, 9266, 
    9270, 9274, 9278, 9282, 9286, 9290, 9294, 9298, 9302, 9306, 9310, 9314, 
    9318, 9322, 9326, 9330, 9334, 9338, 9342, 9346, 9350, 9354, 9358, 9362, 
    9366, 9370, 9374, 9378, 9382, 9386, 9390, 9394, 9398, 9402, 9406, 9410, 
    9414, 9418, 9422, 9426, 9430, 9434, 9438, 9442, 9446, 9450, 9454, 9458, 
    9462, 9466, 9470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9474, 
    9478, 9482, 9487, 9492, 9497, 9502, 9507, 9512, 9517, 9521, 9540, 9549, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9554, 9556, 
    9558, 9560, 9562, 9564, 9566, 9568, 9570, 9572, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9574, 9576, 9578, 9580, 9582, 
    9584, 9586, 9588, 9590, 9592, 9594, 9596, 9598, 9600, 9602, 9604, 9606, 
    9608, 9610, 9612, 9614, 0, 0, 9616, 9618, 9620, 9622, 9624, 9626, 9628, 
    9630, 9632, 9634, 9636, 9638, 0, 9640, 9642, 9644, 9646, 9648, 9650, 
    9652, 9654, 9656, 9658, 9660, 9662, 9664, 9666, 9668, 9670, 9672, 9674, 
    9676, 0, 9678, 9680, 9682, 9684, 0, 0, 0, 0, 9686, 9689, 9692, 0, 9695, 
    0, 9698, 9701, 9704, 9707, 9710, 9713, 9716, 9719, 9722, 9725, 9728, 
    9730, 9732, 9734, 9736, 9738, 9740, 9742, 9744, 9746, 9748, 9750, 9752, 
    9754, 9756, 9758, 9760, 9762, 9764, 9766, 9768, 9770, 9772, 9774, 9776, 
    9778, 9780, 9782, 9784, 9786, 9788, 9790, 9792, 9794, 9796, 9798, 9800, 
    9802, 9804, 9806, 9808, 9810, 9812, 9814, 9816, 9818, 9820, 9822, 9824, 
    9826, 9828, 9830, 9832, 9834, 9836, 9838, 9840, 9842, 9844, 9846, 9848, 
    9850, 9852, 9854, 9856, 9858, 9860, 9862, 9864, 9866, 9868, 9870, 9872, 
    9874, 9876, 9878, 9880, 9882, 9884, 9886, 9888, 9890, 9892, 9894, 9896, 
    9898, 9900, 9902, 9904, 9906, 9908, 9910, 9912, 9914, 9916, 9918, 9920, 
    9922, 9924, 9926, 9928, 9930, 9932, 9934, 9936, 9938, 9940, 9942, 9944, 
    9946, 9948, 9950, 9952, 9954, 9956, 9958, 9960, 9962, 9965, 9968, 9971, 
    9974, 9977, 9980, 9983, 0, 0, 0, 0, 9986, 9988, 9990, 9992, 9994, 9996, 
    9998, 10000, 10002, 10004, 10006, 10008, 10010, 10012, 10014, 10016, 
    10018, 10020, 10022, 10024, 10026, 10028, 10030, 10032, 10034, 10036, 
    10038, 10040, 10042, 10044, 10046, 10048, 10050, 10052, 10054, 10056, 
    10058, 10060, 10062, 10064, 10066, 10068, 10070, 10072, 10074, 10076, 
    10078, 10080, 10082, 10084, 10086, 10088, 10090, 10092, 10094, 10096, 
    10098, 10100, 10102, 10104, 10106, 10108, 10110, 10112, 10114, 10116, 
    10118, 10120, 10122, 10124, 10126, 10128, 10130, 10132, 10134, 10136, 
    10138, 10140, 10142, 10144, 10146, 10148, 10150, 10152, 10154, 10156, 
    10158, 10160, 10162, 10164, 10166, 10168, 10170, 10172, 10174, 10176, 
    10178, 10180, 10182, 10184, 10186, 10188, 10190, 10192, 10194, 10196, 
    10198, 10200, 10202, 10204, 10206, 10208, 10210, 10212, 10214, 10216, 
    10218, 10220, 10222, 10224, 10226, 10228, 10230, 10232, 10234, 10236, 
    10238, 10240, 10242, 10244, 10246, 10248, 10250, 10252, 10254, 10256, 
    10258, 10260, 10262, 10264, 10266, 10268, 10270, 10272, 10274, 10276, 
    10278, 10280, 10282, 10284, 10286, 10288, 10290, 10292, 10294, 10296, 
    10298, 10300, 10302, 10304, 10306, 10308, 10310, 10312, 10314, 10316, 
    10318, 10320, 10322, 10324, 10326, 10328, 10330, 10332, 10334, 10336, 
    10338, 10340, 10342, 10344, 10346, 10348, 10350, 10352, 10354, 10356, 
    10358, 10360, 10362, 10364, 0, 0, 0, 10366, 10368, 10370, 10372, 10374, 
    10376, 0, 0, 10378, 10380, 10382, 10384, 10386, 10388, 0, 0, 10390, 
    10392, 10394, 10396, 10398, 10400, 0, 0, 10402, 10404, 10406, 0, 0, 0, 
    10408, 10410, 10412, 10414, 10416, 10418, 10420, 0, 10422, 10424, 10426, 
    10428, 10430, 10432, 10434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10436, 0, 10439, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 10442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10445, 10448, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10451, 10454, 10457, 10460, 10463, 
    10466, 10469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10472, 10475, 
    10478, 10481, 10484, 10487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    10490, 10492, 10494, 10496, 10498, 10500, 10502, 10504, 10506, 10508, 
    10510, 10512, 10514, 10516, 10518, 10520, 10522, 10524, 10526, 10528, 
    10530, 10532, 10534, 10536, 10538, 10540, 10542, 10544, 10546, 10548, 
    10550, 10552, 10554, 10556, 10558, 10560, 10562, 10564, 10566, 10568, 
    10570, 10572, 10574, 10576, 10578, 10580, 10582, 10584, 10586, 10588, 
    10590, 10592, 10594, 10596, 10598, 10600, 10602, 10604, 10606, 10608, 
    10610, 10612, 10614, 10616, 10618, 10620, 10622, 10624, 10626, 10628, 
    10630, 10632, 10634, 10636, 10638, 10640, 10642, 10644, 10646, 10648, 
    10650, 10652, 10654, 10656, 10658, 0, 10660, 10662, 10664, 10666, 10668, 
    10670, 10672, 10674, 10676, 10678, 10680, 10682, 10684, 10686, 10688, 
    10690, 10692, 10694, 10696, 10698, 10700, 10702, 10704, 10706, 10708, 
    10710, 10712, 10714, 10716, 10718, 10720, 10722, 10724, 10726, 10728, 
    10730, 10732, 10734, 10736, 10738, 10740, 10742, 10744, 10746, 10748, 
    10750, 10752, 10754, 10756, 10758, 10760, 10762, 10764, 10766, 10768, 
    10770, 10772, 10774, 10776, 10778, 10780, 10782, 10784, 10786, 10788, 
    10790, 10792, 10794, 10796, 10798, 10800, 0, 10802, 10804, 0, 0, 10806, 
    0, 0, 10808, 10810, 0, 0, 10812, 10814, 10816, 10818, 0, 10820, 10822, 
    10824, 10826, 10828, 10830, 10832, 10834, 10836, 10838, 10840, 10842, 0, 
    10844, 0, 10846, 10848, 10850, 10852, 10854, 10856, 10858, 0, 10860, 
    10862, 10864, 10866, 10868, 10870, 10872, 10874, 10876, 10878, 10880, 
    10882, 10884, 10886, 10888, 10890, 10892, 10894, 10896, 10898, 10900, 
    10902, 10904, 10906, 10908, 10910, 10912, 10914, 10916, 10918, 10920, 
    10922, 10924, 10926, 10928, 10930, 10932, 10934, 10936, 10938, 10940, 
    10942, 10944, 10946, 10948, 10950, 10952, 10954, 10956, 10958, 10960, 
    10962, 10964, 10966, 10968, 10970, 10972, 10974, 10976, 10978, 10980, 
    10982, 10984, 10986, 10988, 0, 10990, 10992, 10994, 10996, 0, 0, 10998, 
    11000, 11002, 11004, 11006, 11008, 11010, 11012, 0, 11014, 11016, 11018, 
    11020, 11022, 11024, 11026, 0, 11028, 11030, 11032, 11034, 11036, 11038, 
    11040, 11042, 11044, 11046, 11048, 11050, 11052, 11054, 11056, 11058, 
    11060, 11062, 11064, 11066, 11068, 11070, 11072, 11074, 11076, 11078, 
    11080, 11082, 0, 11084, 11086, 11088, 11090, 0, 11092, 11094, 11096, 
    11098, 11100, 0, 11102, 0, 0, 0, 11104, 11106, 11108, 11110, 11112, 
    11114, 11116, 0, 11118, 11120, 11122, 11124, 11126, 11128, 11130, 11132, 
    11134, 11136, 11138, 11140, 11142, 11144, 11146, 11148, 11150, 11152, 
    11154, 11156, 11158, 11160, 11162, 11164, 11166, 11168, 11170, 11172, 
    11174, 11176, 11178, 11180, 11182, 11184, 11186, 11188, 11190, 11192, 
    11194, 11196, 11198, 11200, 11202, 11204, 11206, 11208, 11210, 11212, 
    11214, 11216, 11218, 11220, 11222, 11224, 11226, 11228, 11230, 11232, 
    11234, 11236, 11238, 11240, 11242, 11244, 11246, 11248, 11250, 11252, 
    11254, 11256, 11258, 11260, 11262, 11264, 11266, 11268, 11270, 11272, 
    11274, 11276, 11278, 11280, 11282, 11284, 11286, 11288, 11290, 11292, 
    11294, 11296, 11298, 11300, 11302, 11304, 11306, 11308, 11310, 11312, 
    11314, 11316, 11318, 11320, 11322, 11324, 11326, 11328, 11330, 11332, 
    11334, 11336, 11338, 11340, 11342, 11344, 11346, 11348, 11350, 11352, 
    11354, 11356, 11358, 11360, 11362, 11364, 11366, 11368, 11370, 11372, 
    11374, 11376, 11378, 11380, 11382, 11384, 11386, 11388, 11390, 11392, 
    11394, 11396, 11398, 11400, 11402, 11404, 11406, 11408, 11410, 11412, 
    11414, 11416, 11418, 11420, 11422, 11424, 11426, 11428, 11430, 11432, 
    11434, 11436, 11438, 11440, 11442, 11444, 11446, 11448, 11450, 11452, 
    11454, 11456, 11458, 11460, 11462, 11464, 11466, 11468, 11470, 11472, 
    11474, 11476, 11478, 11480, 11482, 11484, 11486, 11488, 11490, 11492, 
    11494, 11496, 11498, 11500, 11502, 11504, 11506, 11508, 11510, 11512, 
    11514, 11516, 11518, 11520, 11522, 11524, 11526, 11528, 11530, 11532, 
    11534, 11536, 11538, 11540, 11542, 11544, 11546, 11548, 11550, 11552, 
    11554, 11556, 11558, 11560, 11562, 11564, 11566, 11568, 11570, 11572, 
    11574, 11576, 11578, 11580, 11582, 11584, 11586, 11588, 11590, 11592, 
    11594, 11596, 11598, 11600, 11602, 11604, 11606, 11608, 11610, 11612, 
    11614, 11616, 11618, 11620, 11622, 11624, 11626, 11628, 11630, 11632, 
    11634, 11636, 11638, 11640, 11642, 11644, 11646, 11648, 11650, 11652, 
    11654, 11656, 11658, 11660, 11662, 11664, 11666, 11668, 11670, 11672, 
    11674, 11676, 11678, 11680, 11682, 11684, 11686, 11688, 11690, 11692, 
    11694, 11696, 11698, 11700, 11702, 11704, 11706, 11708, 11710, 11712, 
    11714, 11716, 11718, 11720, 11722, 11724, 11726, 11728, 11730, 11732, 
    11734, 11736, 11738, 11740, 11742, 11744, 11746, 11748, 11750, 11752, 
    11754, 11756, 11758, 11760, 11762, 11764, 11766, 11768, 11770, 11772, 
    11774, 11776, 11778, 11780, 11782, 11784, 11786, 11788, 11790, 11792, 
    11794, 11796, 0, 0, 11798, 11800, 11802, 11804, 11806, 11808, 11810, 
    11812, 11814, 11816, 11818, 11820, 11822, 11824, 11826, 11828, 11830, 
    11832, 11834, 11836, 11838, 11840, 11842, 11844, 11846, 11848, 11850, 
    11852, 11854, 11856, 11858, 11860, 11862, 11864, 11866, 11868, 11870, 
    11872, 11874, 11876, 11878, 11880, 11882, 11884, 11886, 11888, 11890, 
    11892, 11894, 11896, 11898, 11900, 11902, 11904, 11906, 11908, 11910, 
    11912, 11914, 11916, 11918, 11920, 11922, 11924, 11926, 11928, 11930, 
    11932, 11934, 11936, 11938, 11940, 11942, 11944, 11946, 11948, 11950, 
    11952, 11954, 11956, 11958, 11960, 11962, 11964, 11966, 11968, 11970, 
    11972, 11974, 11976, 11978, 11980, 11982, 11984, 11986, 11988, 11990, 
    11992, 11994, 11996, 11998, 12000, 12002, 12004, 12006, 12008, 12010, 
    12012, 12014, 12016, 12018, 12020, 12022, 12024, 12026, 12028, 12030, 
    12032, 12034, 12036, 12038, 12040, 12042, 12044, 12046, 12048, 12050, 
    12052, 12054, 12056, 12058, 12060, 12062, 12064, 12066, 12068, 12070, 
    12072, 12074, 12076, 12078, 12080, 12082, 12084, 12086, 12088, 12090, 
    12092, 12094, 12096, 12098, 12100, 12102, 12104, 12106, 12108, 12110, 
    12112, 12114, 12116, 12118, 12120, 12122, 12124, 12126, 12128, 12130, 
    12132, 12134, 12136, 12138, 12140, 12142, 12144, 12146, 12148, 12150, 
    12152, 12154, 12156, 12158, 12160, 12162, 12164, 12166, 12168, 12170, 
    12172, 12174, 12176, 12178, 12180, 12182, 12184, 12186, 12188, 12190, 
    12192, 12194, 12196, 12198, 12200, 12202, 12204, 12206, 12208, 12210, 
    12212, 12214, 12216, 12218, 12220, 12222, 12224, 12226, 12228, 12230, 
    12232, 12234, 12236, 12238, 12240, 12242, 12244, 12246, 12248, 12250, 
    12252, 12254, 12256, 12258, 12260, 12262, 12264, 12266, 12268, 12270, 
    12272, 12274, 12276, 12278, 12280, 12282, 12284, 12286, 12288, 12290, 
    12292, 12294, 12296, 12298, 12300, 12302, 12304, 12306, 12308, 12310, 
    12312, 12314, 12316, 12318, 12320, 12322, 12324, 12326, 12328, 12330, 
    12332, 12334, 12336, 12338, 12340, 12342, 12344, 12346, 12348, 12350, 
    12352, 12354, 12356, 12358, 12360, 12362, 12364, 12366, 12368, 12370, 
    12372, 12374, 12376, 12378, 12380, 0, 0, 12382, 12384, 12386, 12388, 
    12390, 12392, 12394, 12396, 12398, 12400, 12402, 12404, 12406, 12408, 
    12410, 12412, 12414, 12416, 12418, 12420, 12422, 12424, 12426, 12428, 
    12430, 12432, 12434, 12436, 12438, 12440, 12442, 12444, 12446, 12448, 
    12450, 12452, 12454, 12456, 12458, 12460, 12462, 12464, 12466, 12468, 
    12470, 12472, 12474, 12476, 12478, 12480, 12482, 12484, 12486, 12488, 0, 
    12490, 12492, 12494, 12496, 12498, 12500, 12502, 12504, 12506, 12508, 
    12510, 12512, 12514, 12516, 12518, 12520, 12522, 12524, 12526, 12528, 
    12530, 12532, 12534, 12536, 12538, 12540, 12542, 0, 12544, 12546, 0, 
    12548, 0, 0, 12550, 0, 12552, 12554, 12556, 12558, 12560, 12562, 12564, 
    12566, 12568, 12570, 0, 12572, 12574, 12576, 12578, 0, 12580, 0, 12582, 
    0, 0, 0, 0, 0, 0, 12584, 0, 0, 0, 0, 12586, 0, 12588, 0, 12590, 0, 12592, 
    12594, 12596, 0, 12598, 12600, 0, 12602, 0, 0, 12604, 0, 12606, 0, 12608, 
    0, 12610, 0, 12612, 0, 12614, 12616, 0, 12618, 0, 0, 12620, 12622, 12624, 
    12626, 0, 12628, 12630, 12632, 12634, 12636, 12638, 12640, 0, 12642, 
    12644, 12646, 12648, 0, 12650, 12652, 12654, 12656, 0, 12658, 0, 12660, 
    12662, 12664, 12666, 12668, 12670, 12672, 12674, 12676, 12678, 0, 12680, 
    12682, 12684, 12686, 12688, 12690, 12692, 12694, 12696, 12698, 12700, 
    12702, 12704, 12706, 12708, 12710, 12712, 0, 0, 0, 0, 0, 12714, 12716, 
    12718, 0, 12720, 12722, 12724, 12726, 12728, 0, 12730, 12732, 12734, 
    12736, 12738, 12740, 12742, 12744, 12746, 12748, 12750, 12752, 12754, 
    12756, 12758, 12760, 12762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 12764, 12767, 12770, 12773, 12776, 12779, 12782, 12785, 
    12788, 12791, 12794, 0, 0, 0, 0, 0, 12797, 12801, 12805, 12809, 12813, 
    12817, 12821, 12825, 12829, 12833, 12837, 12841, 12845, 12849, 12853, 
    12857, 12861, 12865, 12869, 12873, 12877, 12881, 12885, 12889, 12893, 
    12897, 12901, 12905, 12907, 12909, 12912, 0, 12915, 12917, 12919, 12921, 
    12923, 12925, 12927, 12929, 12931, 12933, 12935, 12937, 12939, 12941, 
    12943, 12945, 12947, 12949, 12951, 12953, 12955, 12957, 12959, 12961, 
    12963, 12965, 12967, 12970, 12973, 12976, 12979, 12983, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12989, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 12995, 12998, 13001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 13003, 13005, 13007, 13009, 13011, 13013, 13015, 13017, 13019, 13021, 
    13023, 13025, 13027, 13029, 13031, 13033, 13035, 13037, 13039, 13041, 
    13043, 13045, 13047, 13049, 13051, 13053, 13055, 13057, 13059, 13061, 
    13063, 13065, 13067, 13069, 13071, 13073, 13075, 13077, 13079, 13081, 
    13083, 13085, 13087, 0, 0, 0, 0, 0, 13089, 13093, 13097, 13101, 13105, 
    13109, 13113, 13117, 13121, 0, 0, 0, 0, 0, 0, 0, 13125, 13127, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 13129, 13131, 13133, 13135, 13137, 13139, 13141, 13143, 13145, 
    13147, 13149, 13151, 13153, 13155, 13157, 13159, 13161, 13163, 13165, 
    13167, 13169, 13171, 13173, 13175, 13177, 13179, 13181, 13183, 13185, 
    13187, 13189, 13191, 13193, 13195, 13197, 13199, 13201, 13203, 13205, 
    13207, 13209, 13211, 13213, 13215, 13217, 13219, 13221, 13223, 13225, 
    13227, 13229, 13231, 13233, 13235, 13237, 13239, 13241, 13243, 13245, 
    13247, 13249, 13251, 13253, 13255, 13257, 13259, 13261, 13263, 13265, 
    13267, 13269, 13271, 13273, 13275, 13277, 13279, 13281, 13283, 13285, 
    13287, 13289, 13291, 13293, 13295, 13297, 13299, 13301, 13303, 13305, 
    13307, 13309, 13311, 13313, 13315, 13317, 13319, 13321, 13323, 13325, 
    13327, 13329, 13331, 13333, 13335, 13337, 13339, 13341, 13343, 13345, 
    13347, 13349, 13351, 13353, 13355, 13357, 13359, 13361, 13363, 13365, 
    13367, 13369, 13371, 13373, 13375, 13377, 13379, 13381, 13383, 13385, 
    13387, 13389, 13391, 13393, 13395, 13397, 13399, 13401, 13403, 13405, 
    13407, 13409, 13411, 13413, 13415, 13417, 13419, 13421, 13423, 13425, 
    13427, 13429, 13431, 13433, 13435, 13437, 13439, 13441, 13443, 13445, 
    13447, 13449, 13451, 13453, 13455, 13457, 13459, 13461, 13463, 13465, 
    13467, 13469, 13471, 13473, 13475, 13477, 13479, 13481, 13483, 13485, 
    13487, 13489, 13491, 13493, 13495, 13497, 13499, 13501, 13503, 13505, 
    13507, 13509, 13511, 13513, 13515, 13517, 13519, 13521, 13523, 13525, 
    13527, 13529, 13531, 13533, 13535, 13537, 13539, 13541, 13543, 13545, 
    13547, 13549, 13551, 13553, 13555, 13557, 13559, 13561, 13563, 13565, 
    13567, 13569, 13571, 13573, 13575, 13577, 13579, 13581, 13583, 13585, 
    13587, 13589, 13591, 13593, 13595, 13597, 13599, 13601, 13603, 13605, 
    13607, 13609, 13611, 13613, 13615, 13617, 13619, 13621, 13623, 13625, 
    13627, 13629, 13631, 13633, 13635, 13637, 13639, 13641, 13643, 13645, 
    13647, 13649, 13651, 13653, 13655, 13657, 13659, 13661, 13663, 13665, 
    13667, 13669, 13671, 13673, 13675, 13677, 13679, 13681, 13683, 13685, 
    13687, 13689, 13691, 13693, 13695, 13697, 13699, 13701, 13703, 13705, 
    13707, 13709, 13711, 13713, 13715, 13717, 13719, 13721, 13723, 13725, 
    13727, 13729, 13731, 13733, 13735, 13737, 13739, 13741, 13743, 13745, 
    13747, 13749, 13751, 13753, 13755, 13757, 13759, 13761, 13763, 13765, 
    13767, 13769, 13771, 13773, 13775, 13777, 13779, 13781, 13783, 13785, 
    13787, 13789, 13791, 13793, 13795, 13797, 13799, 13801, 13803, 13805, 
    13807, 13809, 13811, 13813, 13815, 13817, 13819, 13821, 13823, 13825, 
    13827, 13829, 13831, 13833, 13835, 13837, 13839, 13841, 13843, 13845, 
    13847, 13849, 13851, 13853, 13855, 13857, 13859, 13861, 13863, 13865, 
    13867, 13869, 13871, 13873, 13875, 13877, 13879, 13881, 13883, 13885, 
    13887, 13889, 13891, 13893, 13895, 13897, 13899, 13901, 13903, 13905, 
    13907, 13909, 13911, 13913, 13915, 13917, 13919, 13921, 13923, 13925, 
    13927, 13929, 13931, 13933, 13935, 13937, 13939, 13941, 13943, 13945, 
    13947, 13949, 13951, 13953, 13955, 13957, 13959, 13961, 13963, 13965, 
    13967, 13969, 13971, 13973, 13975, 13977, 13979, 13981, 13983, 13985, 
    13987, 13989, 13991, 13993, 13995, 13997, 13999, 14001, 14003, 14005, 
    14007, 14009, 14011, 14013, 14015, 14017, 14019, 14021, 14023, 14025, 
    14027, 14029, 14031, 14033, 14035, 14037, 14039, 14041, 14043, 14045, 
    14047, 14049, 14051, 14053, 14055, 14057, 14059, 14061, 14063, 14065, 
    14067, 14069, 14071, 14073, 14075, 14077, 14079, 14081, 14083, 14085, 
    14087, 14089, 14091, 14093, 14095, 14097, 14099, 14101, 14103, 14105, 
    14107, 14109, 14111, 14113, 14115, 14117, 14119, 14121, 14123, 14125, 
    14127, 14129, 14131, 14133, 14135, 14137, 14139, 14141, 14143, 14145, 
    14147, 14149, 14151, 14153, 14155, 14157, 14159, 14161, 14163, 14165, 
    14167, 14169, 14171, 14173, 14175, 14177, 14179, 14181, 14183, 14185, 
    14187, 14189, 14191, 14193, 14195, 14197, 14199, 14201, 14203, 14205, 
    14207, 14209, 14211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
};

/* NFC pairs */
#define COMP_SHIFT 2
static unsigned short comp_index[] = {
    0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 11, 0, 12, 0, 0, 0, 0, 0, 0, 0, 13, 
    14, 15, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 0, 19, 20, 21, 0, 0, 
    0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 0, 0, 33, 0, 0, 0, 0, 0, 0, 
    0, 0, 34, 35, 36, 0, 37, 38, 39, 0, 0, 0, 0, 0, 0, 0, 40, 41, 42, 43, 44, 
    45, 46, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    48, 0, 49, 0, 50, 51, 52, 0, 0, 0, 0, 0, 0, 0, 53, 0, 54, 0, 55, 56, 57, 
    0, 0, 0, 0, 0, 0, 0, 58, 59, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 
    63, 0, 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, 67, 68, 69, 70, 71, 72, 0, 0, 0, 
    0, 0, 0, 0, 0, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 
    78, 79, 80, 81, 0, 0, 0, 0, 0, 0, 0, 82, 83, 84, 0, 85, 86, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 87, 88, 0, 89, 90, 91, 0, 0, 0, 0, 0, 0, 0, 92, 93, 94, 
    95, 96, 97, 98, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 101, 102, 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 106, 107, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 109, 110, 111, 0, 112, 0, 113, 0, 0, 0, 0, 0, 0, 0, 114, 115, 116, 
    117, 118, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 121, 0, 122, 0, 0, 
    0, 0, 0, 0, 0, 123, 124, 125, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 
    128, 0, 129, 130, 131, 0, 0, 0, 0, 0, 0, 0, 132, 133, 134, 135, 136, 137, 
    138, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    140, 141, 142, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 0, 144, 145, 146, 0, 147, 
    148, 149, 0, 0, 0, 0, 0, 0, 0, 150, 151, 152, 153, 154, 155, 156, 0, 0, 
    0, 0, 0, 0, 0, 157, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 0, 160, 
    0, 161, 162, 163, 0, 0, 0, 0, 0, 0, 0, 164, 0, 165, 0, 166, 167, 168, 0, 
    0, 0, 0, 0, 0, 0, 169, 170, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 
    173, 174, 0, 175, 176, 177, 0, 0, 0, 0, 0, 0, 0, 178, 179, 180, 181, 182, 
    183, 0, 0, 0, 0, 0, 0, 0, 0, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 186, 187, 188, 189, 190, 191, 192, 0, 0, 0, 0, 0, 0, 0, 193, 194, 195, 
    0, 196, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 199, 0, 200, 201, 202, 0, 0, 
    0, 0, 0, 0, 0, 203, 204, 205, 206, 207, 208, 209, 0, 0, 0, 0, 0, 0, 0, 
    210, 0, 0, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 213, 214, 0, 215, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217, 
    218, 219, 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, 222, 223, 0, 224, 0, 
    225, 0, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 0, 0, 0, 227, 0, 0, 0, 0, 0, 0, 
    228, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 233, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 235, 0, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 238, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    240, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 245, 
    246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 0, 248, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 250, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 251, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 255, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 257, 0, 
    258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 260, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 263, 264, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 266, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 268, 0, 269, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 274, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 283, 0, 284, 0, 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 287, 0, 
    288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 290, 0, 291, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 292, 0, 293, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 306, 0, 307, 
    0, 0, 0, 308, 0, 0, 0, 0, 0, 0, 309, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 311, 0, 0, 312, 0, 0, 0, 313, 0, 0, 0, 0, 0, 0, 314, 315, 0, 316, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 317, 0, 0, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 321, 0, 322, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 323, 0, 0, 324, 0, 0, 0, 325, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 327, 0, 0, 
    0, 0, 0, 0, 328, 329, 0, 330, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 332, 0, 0, 
    333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 334, 0, 0, 335, 0, 0, 0, 336, 0, 0, 0, 
    0, 0, 0, 337, 338, 0, 339, 0, 0, 0, 340, 0, 0, 0, 0, 0, 0, 341, 0, 0, 
    342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 344, 345, 0, 346, 0, 0, 0, 347, 0, 0, 0, 0, 0, 0, 348, 0, 0, 349, 
    0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 351, 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 0, 
    0, 0, 353, 0, 0, 0, 0, 0, 0, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    355, 0, 0, 0, 0, 0, 0, 356, 357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 359, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 361, 362, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365, 366, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 368, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 369, 370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 372, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 374, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 376, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 380, 
    381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 385, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 388, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 390, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 394, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 395, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 396, 397, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 407, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 409, 410, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 414, 415, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 417, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    419, 420, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 426, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 428, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 431, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, 0, 
    0, 434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 441, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 442, 443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 446, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 448, 0, 0, 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, 450, 
    0, 0, 0, 0, 0, 0, 451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 452, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 455, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 457, 0, 0, 
    0, 0, 0, 0, 458, 0, 0, 0, 0, 0, 0, 459, 0, 0, 0, 0, 0, 0, 460, 0, 0, 0, 
    0, 0, 0, 461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 462, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 464, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 466, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 0, 0, 0, 0, 
    0, 468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 469, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 471, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 472, 0, 0, 0, 0, 0, 0, 473, 0, 0, 0, 0, 
    0, 0, 474, 0, 0, 0, 0, 0, 0, 475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 477, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 479, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    481, 0, 0, 0, 0, 0, 0, 482, 0, 0, 0, 0, 0, 0, 483, 0, 0, 0, 0, 0, 0, 484, 
    0, 0, 0, 0, 0, 0, 485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 486, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 489, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0, 
    0, 0, 0, 0, 492, 0, 0, 0, 0, 0, 0, 493, 0, 0, 0, 0, 0, 0, 494, 0, 0, 0, 
    0, 0, 0, 495, 0, 0, 0, 0, 0, 0, 496, 0, 0, 0, 0, 0, 0, 497, 0, 0, 0, 0, 
    0, 0, 498, 0, 0, 0, 0, 0, 0, 499, 0, 0, 0, 0, 0, 0, 500, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 504, 0, 0, 0, 0, 0, 0, 505, 0, 0, 0, 0, 0, 0, 506, 0, 0, 0, 0, 
    0, 0, 507, 0, 0, 0, 0, 0, 0, 508, 0, 0, 0, 0, 0, 0, 509, 0, 0, 0, 0, 0, 
    0, 510, 0, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, 
    513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 514, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 516, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 519, 0, 0, 0, 0, 0, 0, 520, 
    0, 0, 0, 0, 0, 0, 521, 0, 0, 0, 0, 0, 0, 522, 0, 0, 0, 0, 0, 0, 523, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 526, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 528, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 531, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 533, 0, 
    0, 0, 0, 0, 0, 534, 0, 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 537, 0, 0, 0, 0, 0, 
    0, 538, 0, 0, 0, 0, 0, 0, 539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 540, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 543, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 545, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 550, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 553, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 554, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 555, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 560, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 563, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 565, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 568, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 570, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 573, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 575, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 578, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 580, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 584, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 585, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 586, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    588, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 591, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 592, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 599, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 606, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 609, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 619, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 621, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 626, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 629, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    633, 
};

static unsigned int comp_data[] = {
    0, 0, 0, 0, 0, 0, 0, 8814, 0, 0, 0, 8800, 0, 0, 0, 8815, 192, 193, 194, 
    195, 256, 258, 550, 196, 7842, 197, 0, 461, 512, 514, 0, 0, 0, 7840, 0, 
    7680, 0, 0, 260, 0, 0, 0, 7682, 0, 0, 7684, 0, 0, 0, 0, 7686, 0, 0, 262, 
    264, 0, 0, 0, 266, 0, 0, 0, 0, 268, 0, 199, 0, 0, 0, 0, 7690, 0, 0, 0, 0, 
    270, 0, 7692, 0, 0, 0, 7696, 0, 7698, 0, 0, 7694, 0, 200, 201, 202, 7868, 
    274, 276, 278, 203, 7866, 0, 0, 282, 516, 518, 0, 0, 0, 7864, 0, 0, 0, 
    552, 280, 7704, 0, 7706, 0, 0, 0, 0, 7710, 0, 0, 500, 284, 0, 7712, 286, 
    288, 0, 0, 0, 0, 486, 0, 290, 0, 0, 0, 0, 292, 0, 0, 0, 7714, 7718, 0, 0, 
    0, 542, 0, 7716, 0, 0, 0, 7720, 0, 0, 7722, 0, 0, 0, 204, 205, 206, 296, 
    298, 300, 304, 207, 7880, 0, 0, 463, 520, 522, 0, 0, 0, 7882, 0, 0, 0, 0, 
    302, 0, 0, 7724, 0, 0, 0, 0, 308, 0, 0, 7728, 0, 0, 0, 0, 0, 488, 0, 
    7730, 0, 0, 0, 310, 0, 0, 0, 0, 7732, 0, 0, 313, 0, 0, 0, 0, 0, 317, 0, 
    7734, 0, 0, 0, 315, 0, 7740, 0, 0, 7738, 0, 0, 7742, 0, 0, 0, 0, 7744, 0, 
    0, 7746, 0, 0, 504, 323, 0, 209, 0, 0, 7748, 0, 0, 0, 0, 327, 0, 7750, 0, 
    0, 0, 325, 0, 7754, 0, 0, 7752, 0, 210, 211, 212, 213, 332, 334, 558, 
    214, 7886, 0, 336, 465, 524, 526, 0, 0, 416, 7884, 0, 0, 0, 0, 490, 0, 0, 
    7764, 0, 0, 0, 0, 7766, 0, 0, 340, 0, 0, 0, 0, 7768, 0, 0, 0, 0, 344, 
    528, 530, 0, 0, 0, 7770, 0, 0, 0, 342, 0, 0, 0, 0, 7774, 0, 0, 346, 348, 
    0, 0, 0, 7776, 0, 0, 0, 0, 352, 0, 7778, 0, 0, 536, 350, 0, 0, 0, 0, 
    7786, 0, 0, 0, 0, 356, 0, 7788, 0, 0, 538, 354, 0, 7792, 0, 0, 7790, 0, 
    217, 218, 219, 360, 362, 364, 0, 220, 7910, 366, 368, 467, 532, 534, 0, 
    0, 431, 7908, 7794, 0, 0, 0, 370, 7798, 0, 7796, 0, 0, 0, 0, 0, 7804, 0, 
    7806, 0, 0, 7808, 7810, 372, 0, 0, 0, 7814, 7812, 0, 7816, 0, 0, 0, 0, 
    7818, 7820, 7922, 221, 374, 7928, 562, 0, 7822, 376, 7926, 0, 0, 0, 0, 
    7924, 0, 0, 0, 377, 7824, 0, 0, 0, 379, 0, 0, 0, 0, 381, 0, 7826, 0, 0, 
    0, 0, 7828, 0, 224, 225, 226, 227, 257, 259, 551, 228, 7843, 229, 0, 462, 
    513, 515, 0, 0, 0, 7841, 0, 7681, 0, 0, 261, 0, 0, 0, 7683, 0, 0, 7685, 
    0, 0, 0, 0, 7687, 0, 0, 263, 265, 0, 0, 0, 267, 0, 0, 0, 0, 269, 0, 231, 
    0, 0, 0, 0, 7691, 0, 0, 0, 0, 271, 0, 7693, 0, 0, 0, 7697, 0, 7699, 0, 0, 
    7695, 0, 232, 233, 234, 7869, 275, 277, 279, 235, 7867, 0, 0, 283, 517, 
    519, 0, 0, 0, 7865, 0, 0, 0, 553, 281, 7705, 0, 7707, 0, 0, 0, 0, 7711, 
    0, 0, 501, 285, 0, 7713, 287, 289, 0, 0, 0, 0, 487, 0, 291, 0, 0, 0, 0, 
    293, 0, 0, 0, 7715, 7719, 0, 0, 0, 543, 0, 7717, 0, 0, 0, 7721, 0, 0, 
    7723, 0, 7830, 0, 236, 237, 238, 297, 299, 301, 0, 239, 7881, 0, 0, 464, 
    521, 523, 0, 0, 0, 7883, 0, 0, 0, 0, 303, 0, 0, 7725, 0, 0, 0, 0, 309, 0, 
    0, 0, 0, 496, 0, 7729, 0, 0, 0, 0, 0, 489, 0, 7731, 0, 0, 0, 311, 0, 0, 
    0, 0, 7733, 0, 0, 314, 0, 0, 0, 0, 0, 318, 0, 7735, 0, 0, 0, 316, 0, 
    7741, 0, 0, 7739, 0, 0, 7743, 0, 0, 0, 0, 7745, 0, 0, 7747, 0, 0, 505, 
    324, 0, 241, 0, 0, 7749, 0, 0, 0, 0, 328, 0, 7751, 0, 0, 0, 326, 0, 7755, 
    0, 0, 7753, 0, 242, 243, 244, 245, 333, 335, 559, 246, 7887, 0, 337, 466, 
    525, 527, 0, 0, 417, 7885, 0, 0, 0, 0, 491, 0, 0, 7765, 0, 0, 0, 0, 7767, 
    0, 0, 341, 0, 0, 0, 0, 7769, 0, 0, 0, 0, 345, 529, 531, 0, 0, 0, 7771, 0, 
    0, 0, 343, 0, 0, 0, 0, 7775, 0, 0, 347, 349, 0, 0, 0, 7777, 0, 0, 0, 0, 
    353, 0, 7779, 0, 0, 537, 351, 0, 0, 0, 0, 7787, 7831, 0, 0, 0, 357, 0, 
    7789, 0, 0, 539, 355, 0, 7793, 0, 0, 7791, 0, 249, 250, 251, 361, 363, 
    365, 0, 252, 7911, 367, 369, 468, 533, 535, 0, 0, 432, 7909, 7795, 0, 0, 
    0, 371, 7799, 0, 7797, 0, 0, 0, 0, 0, 7805, 0, 7807, 0, 0, 7809, 7811, 
    373, 0, 0, 0, 7815, 7813, 0, 7832, 0, 0, 0, 7817, 0, 0, 0, 0, 7819, 7821, 
    7923, 253, 375, 7929, 563, 0, 7823, 255, 7927, 7833, 0, 0, 0, 7925, 0, 0, 
    0, 378, 7825, 0, 0, 0, 380, 0, 0, 0, 0, 382, 0, 7827, 0, 0, 0, 0, 7829, 
    0, 8173, 901, 0, 0, 8129, 0, 0, 0, 7846, 7844, 0, 7850, 7848, 0, 0, 0, 
    478, 0, 0, 0, 0, 506, 0, 0, 0, 508, 0, 0, 482, 0, 0, 0, 0, 7688, 0, 0, 
    7872, 7870, 0, 7876, 7874, 0, 0, 0, 0, 7726, 0, 0, 7890, 7888, 0, 7894, 
    7892, 0, 0, 0, 0, 7756, 0, 0, 556, 0, 0, 7758, 554, 0, 0, 0, 0, 510, 0, 
    0, 475, 471, 0, 0, 469, 0, 0, 0, 0, 0, 0, 473, 7847, 7845, 0, 7851, 7849, 
    0, 0, 0, 479, 0, 0, 0, 0, 507, 0, 0, 0, 509, 0, 0, 483, 0, 0, 0, 0, 7689, 
    0, 0, 7873, 7871, 0, 7877, 7875, 0, 0, 0, 0, 7727, 0, 0, 7891, 7889, 0, 
    7895, 7893, 0, 0, 0, 0, 7757, 0, 0, 557, 0, 0, 7759, 555, 0, 0, 0, 0, 
    511, 0, 0, 476, 472, 0, 0, 470, 0, 0, 0, 0, 0, 0, 474, 7856, 7854, 0, 
    7860, 7858, 0, 0, 0, 7857, 7855, 0, 7861, 7859, 0, 0, 0, 7700, 7702, 0, 
    0, 7701, 7703, 0, 0, 7760, 7762, 0, 0, 7761, 7763, 0, 0, 0, 0, 7780, 0, 
    0, 0, 7781, 0, 0, 0, 7782, 0, 0, 0, 7783, 0, 0, 7800, 0, 0, 0, 7801, 0, 
    0, 0, 0, 0, 7802, 0, 0, 0, 7803, 0, 0, 7835, 0, 7900, 7898, 0, 7904, 
    7902, 0, 0, 0, 0, 7906, 0, 0, 7901, 7899, 0, 7905, 7903, 0, 0, 0, 0, 
    7907, 0, 0, 7914, 7912, 0, 7918, 7916, 0, 0, 0, 0, 7920, 0, 0, 7915, 
    7913, 0, 7919, 7917, 0, 0, 0, 0, 7921, 0, 0, 0, 0, 0, 494, 492, 0, 0, 0, 
    493, 0, 0, 0, 480, 0, 0, 0, 481, 0, 0, 0, 0, 7708, 0, 0, 0, 7709, 0, 0, 
    560, 0, 0, 0, 561, 0, 0, 0, 0, 0, 0, 495, 8122, 902, 0, 0, 8121, 8120, 0, 
    0, 0, 0, 7944, 7945, 0, 8124, 0, 0, 8136, 904, 0, 0, 0, 0, 7960, 7961, 
    8138, 905, 0, 0, 0, 0, 7976, 7977, 0, 8140, 0, 0, 8154, 906, 0, 0, 8153, 
    8152, 0, 938, 0, 0, 7992, 7993, 8184, 908, 0, 0, 0, 0, 8008, 8009, 0, 0, 
    0, 8172, 8170, 910, 0, 0, 8169, 8168, 0, 939, 0, 0, 0, 8025, 8186, 911, 
    0, 0, 0, 0, 8040, 8041, 0, 8188, 0, 0, 0, 8116, 0, 0, 0, 8132, 0, 0, 
    8048, 940, 0, 0, 8113, 8112, 0, 0, 0, 0, 7936, 7937, 8118, 8115, 0, 0, 
    8050, 941, 0, 0, 0, 0, 7952, 7953, 8052, 942, 0, 0, 0, 0, 7968, 7969, 
    8134, 8131, 0, 0, 8054, 943, 0, 0, 8145, 8144, 0, 970, 0, 0, 7984, 7985, 
    8150, 0, 0, 0, 8056, 972, 0, 0, 0, 0, 8000, 8001, 0, 0, 8164, 8165, 8058, 
    973, 0, 0, 8161, 8160, 0, 971, 0, 0, 8016, 8017, 8166, 0, 0, 0, 8060, 
    974, 0, 0, 0, 0, 8032, 8033, 8182, 8179, 0, 0, 8146, 912, 0, 0, 8151, 0, 
    0, 0, 8162, 944, 0, 0, 8167, 0, 0, 0, 0, 8180, 0, 0, 0, 979, 0, 0, 0, 0, 
    0, 980, 0, 0, 0, 1031, 0, 1232, 0, 1234, 0, 1027, 0, 0, 1024, 0, 0, 0, 0, 
    1238, 0, 1025, 0, 1217, 0, 1244, 0, 0, 0, 1246, 1037, 0, 0, 0, 1250, 
    1049, 0, 1252, 0, 1036, 0, 0, 0, 0, 0, 1254, 1262, 1038, 0, 1264, 0, 0, 
    1266, 0, 0, 0, 0, 1268, 0, 0, 0, 1272, 0, 0, 0, 1260, 0, 1233, 0, 1235, 
    0, 1107, 0, 0, 1104, 0, 0, 0, 0, 1239, 0, 1105, 0, 1218, 0, 1245, 0, 0, 
    0, 1247, 1117, 0, 0, 0, 1251, 1081, 0, 1253, 0, 1116, 0, 0, 0, 0, 0, 
    1255, 1263, 1118, 0, 1265, 0, 0, 1267, 0, 0, 0, 0, 1269, 0, 0, 0, 1273, 
    0, 0, 0, 1261, 0, 0, 0, 1111, 1142, 0, 0, 0, 1143, 0, 0, 0, 0, 0, 0, 
    1242, 0, 0, 0, 1243, 0, 0, 0, 1258, 0, 0, 0, 1259, 0, 0, 1570, 1571, 
    1573, 0, 0, 0, 0, 0, 0, 1572, 0, 0, 0, 1574, 0, 0, 0, 1730, 0, 0, 0, 
    1747, 0, 0, 0, 1728, 0, 2345, 0, 0, 0, 2353, 0, 0, 0, 2356, 0, 0, 0, 0, 
    2507, 2508, 2891, 2888, 2892, 0, 2964, 0, 0, 0, 0, 0, 0, 3018, 3020, 0, 
    0, 0, 0, 0, 0, 3019, 0, 3144, 0, 0, 0, 0, 0, 3264, 0, 0, 3274, 3271, 
    3272, 0, 0, 0, 0, 0, 0, 3275, 0, 3402, 3404, 0, 0, 3403, 0, 0, 0, 0, 0, 
    3546, 3548, 3550, 0, 0, 0, 0, 0, 3549, 0, 0, 4134, 0, 0, 0, 0, 6918, 0, 
    0, 0, 6920, 0, 0, 0, 6922, 0, 0, 0, 6924, 0, 0, 0, 6926, 0, 0, 0, 6930, 
    0, 0, 0, 6971, 0, 0, 0, 6973, 0, 0, 0, 6976, 0, 0, 0, 6977, 0, 0, 0, 
    6979, 7736, 0, 0, 0, 7737, 0, 0, 0, 7772, 0, 0, 0, 7773, 0, 0, 0, 0, 0, 
    7784, 0, 0, 0, 7785, 0, 0, 0, 7852, 0, 0, 7862, 0, 0, 0, 0, 7853, 0, 0, 
    7863, 0, 0, 0, 0, 7878, 0, 0, 0, 7879, 0, 0, 0, 7896, 0, 0, 0, 7897, 0, 
    7938, 7940, 0, 0, 7942, 8064, 0, 0, 7939, 7941, 0, 0, 7943, 8065, 0, 0, 
    0, 8066, 0, 0, 0, 8067, 0, 0, 0, 8068, 0, 0, 0, 8069, 0, 0, 0, 8070, 0, 
    0, 0, 8071, 0, 0, 7946, 7948, 0, 0, 7950, 8072, 0, 0, 7947, 7949, 0, 0, 
    7951, 8073, 0, 0, 0, 8074, 0, 0, 0, 8075, 0, 0, 0, 8076, 0, 0, 0, 8077, 
    0, 0, 0, 8078, 0, 0, 0, 8079, 0, 0, 7954, 7956, 0, 0, 7955, 7957, 0, 0, 
    7962, 7964, 0, 0, 7963, 7965, 0, 0, 7970, 7972, 0, 0, 7974, 8080, 0, 0, 
    7971, 7973, 0, 0, 7975, 8081, 0, 0, 0, 8082, 0, 0, 0, 8083, 0, 0, 0, 
    8084, 0, 0, 0, 8085, 0, 0, 0, 8086, 0, 0, 0, 8087, 0, 0, 7978, 7980, 0, 
    0, 7982, 8088, 0, 0, 7979, 7981, 0, 0, 7983, 8089, 0, 0, 0, 8090, 0, 0, 
    0, 8091, 0, 0, 0, 8092, 0, 0, 0, 8093, 0, 0, 0, 8094, 0, 0, 0, 8095, 0, 
    0, 7986, 7988, 0, 0, 7990, 0, 0, 0, 7987, 7989, 0, 0, 7991, 0, 0, 0, 
    7994, 7996, 0, 0, 7998, 0, 0, 0, 7995, 7997, 0, 0, 7999, 0, 0, 0, 8002, 
    8004, 0, 0, 8003, 8005, 0, 0, 8010, 8012, 0, 0, 8011, 8013, 0, 0, 8018, 
    8020, 0, 0, 8022, 0, 0, 0, 8019, 8021, 0, 0, 8023, 0, 0, 0, 8027, 8029, 
    0, 0, 8031, 0, 0, 0, 8034, 8036, 0, 0, 8038, 8096, 0, 0, 8035, 8037, 0, 
    0, 8039, 8097, 0, 0, 0, 8098, 0, 0, 0, 8099, 0, 0, 0, 8100, 0, 0, 0, 
    8101, 0, 0, 0, 8102, 0, 0, 0, 8103, 0, 0, 8042, 8044, 0, 0, 8046, 8104, 
    0, 0, 8043, 8045, 0, 0, 8047, 8105, 0, 0, 0, 8106, 0, 0, 0, 8107, 0, 0, 
    0, 8108, 0, 0, 0, 8109, 0, 0, 0, 8110, 0, 0, 0, 8111, 0, 0, 0, 8114, 0, 
    0, 0, 8130, 0, 0, 0, 8178, 0, 0, 0, 8119, 0, 0, 8141, 8142, 0, 0, 8143, 
    0, 0, 0, 0, 8135, 0, 0, 0, 8183, 0, 0, 8157, 8158, 0, 0, 8159, 0, 0, 0, 
    0, 0, 0, 8602, 0, 0, 0, 8603, 0, 0, 0, 8622, 0, 0, 0, 8653, 0, 0, 0, 
    8655, 0, 0, 0, 8654, 0, 0, 0, 8708, 0, 0, 0, 8713, 0, 0, 0, 8716, 0, 0, 
    0, 8740, 0, 0, 0, 8742, 0, 0, 0, 8769, 0, 0, 0, 8772, 0, 0, 0, 8775, 0, 
    0, 0, 8777, 0, 0, 0, 8813, 0, 0, 0, 8802, 0, 0, 0, 8816, 0, 0, 0, 8817, 
    0, 0, 0, 8820, 0, 0, 0, 8821, 0, 0, 0, 8824, 0, 0, 0, 8825, 0, 0, 0, 
    8832, 0, 0, 0, 8833, 0, 0, 0, 8928, 0, 0, 0, 8929, 0, 0, 0, 8836, 0, 0, 
    0, 8837, 0, 0, 0, 8840, 0, 0, 0, 8841, 0, 0, 0, 8930, 0, 0, 0, 8931, 0, 
    0, 0, 8876, 0, 0, 0, 8877, 0, 0, 0, 8878, 0, 0, 0, 8879, 0, 0, 0, 8938, 
    0, 0, 0, 8939, 0, 0, 0, 8940, 0, 0, 0, 8941, 12436, 0, 0, 0, 12364, 0, 0, 
    0, 12366, 0, 0, 0, 12368, 0, 0, 0, 12370, 0, 0, 0, 12372, 0, 0, 0, 12374, 
    0, 0, 0, 12376, 0, 0, 0, 12378, 0, 0, 0, 12380, 0, 0, 0, 12382, 0, 0, 0, 
    12384, 0, 0, 0, 12386, 0, 0, 0, 12389, 0, 0, 0, 12391, 0, 0, 0, 12393, 0, 
    0, 0, 12400, 12401, 0, 0, 12403, 12404, 0, 0, 12406, 12407, 0, 0, 12409, 
    12410, 0, 0, 12412, 12413, 0, 0, 12446, 0, 0, 0, 12532, 0, 0, 0, 12460, 
    0, 0, 0, 12462, 0, 0, 0, 12464, 0, 0, 0, 12466, 0, 0, 0, 12468, 0, 0, 0, 
    12470, 0, 0, 0, 12472, 0, 0, 0, 12474, 0, 0, 0, 12476, 0, 0, 0, 12478, 0, 
    0, 0, 12480, 0, 0, 0, 12482, 0, 0, 0, 12485, 0, 0, 0, 12487, 0, 0, 0, 
    12489, 0, 0, 0, 12496, 12497, 0, 0, 12499, 12500, 0, 0, 12502, 12503, 0, 
    0, 12505, 12506, 0, 0, 12508, 12509, 0, 0, 12535, 0, 0, 0, 12536, 0, 0, 
    0, 12537, 0, 0, 0, 12538, 0, 0, 0, 12542, 0, 0, 0, 0, 0, 69786, 0, 0, 0, 
    69788, 0, 0, 0, 69803, 0, 0, 0, 0, 69934, 0, 0, 0, 69935, 
};

static const change_record change_records_3_2_0[] = {
	{ 255, 255, 255, 255, 0 },
	{ 11, 255, 255, 255, 0 },
	{ 10, 255, 255, 255, 0 },
	{ 255, 30, 255, 255, 0 },
	{ 255, 2, 255, 255, 0 },
	{ 19, 21, 255, 255, 0 },
	{ 255, 255, 2, 255, 0 },
	{ 255, 255, 3, 255, 0 },
	{ 255, 255, 1, 255, 0 },
	{ 255, 0, 255, 255, 0 },
	{ 255, 29, 255, 255, 0 },
	{ 255, 26, 255, 255, 0 },
	{ 5, 255, 255, 255, 0 },
	{ 14, 6, 255, 255, 0 },
	{ 15, 255, 255, 255, 0 },
	{ 255, 255, 255, 255, 1.0 },
	{ 255, 255, 255, 255, 2.0 },
	{ 255, 255, 255, 255, 3.0 },
	{ 255, 255, 255, 255, 4.0 },
	{ 255, 255, 255, 255, -1 },
	{ 14, 255, 255, 255, 0 },
	{ 255, 255, 255, 0, 0 },
	{ 255, 7, 1, 255, 0 },
	{ 255, 7, 2, 255, 0 },
	{ 255, 7, 3, 255, 0 },
	{ 255, 7, 4, 255, 0 },
	{ 255, 7, 5, 255, 0 },
	{ 255, 7, 6, 255, 0 },
	{ 255, 7, 7, 255, 0 },
	{ 255, 7, 8, 255, 0 },
	{ 255, 7, 9, 255, 0 },
	{ 1, 5, 255, 255, 0 },
	{ 15, 14, 255, 255, 0 },
	{ 255, 10, 255, 255, 0 },
	{ 18, 255, 255, 255, 0 },
	{ 19, 255, 255, 255, 0 },
	{ 255, 255, 0, 255, 0 },
	{ 255, 255, 4, 255, 0 },
	{ 255, 255, 5, 255, 0 },
	{ 255, 255, 6, 255, 0 },
	{ 255, 255, 7, 255, 0 },
	{ 255, 255, 8, 255, 0 },
	{ 255, 255, 9, 255, 0 },
	{ 19, 30, 255, 255, 0 },
	{ 255, 8, 255, 255, 0 },
	{ 255, 22, 255, 255, 0 },
	{ 255, 23, 255, 255, 0 },
	{ 9, 255, 255, 255, 0 },
	{ 14, 4, 255, 255, 0 },
	{ 255, 20, 255, 255, 0 },
	{ 255, 255, 255, 255, 1e+16 },
	{ 255, 255, 255, 255, 1e+20 },
	{ 255, 19, 255, 255, 0 },
	{ 255, 19, 255, 255, -1 },
	{ 1, 255, 255, 0, 0 },
};
static unsigned char changes_3_2_0_index[] = {
    0, 1, 2, 2, 3, 4, 5, 6, 2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 
    19, 20, 21, 22, 23, 24, 2, 2, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 
    36, 2, 2, 2, 37, 38, 2, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 
    51, 2, 52, 2, 2, 53, 54, 55, 56, 57, 2, 2, 58, 59, 60, 2, 2, 61, 62, 63, 
    64, 65, 65, 2, 2, 2, 2, 66, 2, 67, 68, 69, 70, 71, 2, 2, 2, 72, 73, 74, 
    75, 76, 77, 78, 79, 80, 81, 2, 2, 2, 2, 2, 2, 82, 2, 2, 2, 2, 2, 83, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 84, 2, 85, 2, 2, 2, 2, 2, 2, 2, 2, 86, 
    87, 2, 2, 2, 2, 2, 2, 2, 88, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 89, 90, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 91, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 92, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 93, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 94, 95, 2, 2, 2, 2, 2, 2, 2, 2, 96, 50, 50, 
    97, 98, 50, 99, 100, 101, 102, 103, 104, 105, 106, 107, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 108, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 109, 110, 111, 112, 113, 114, 2, 2, 2, 115, 116, 2, 117, 118, 
    119, 120, 121, 122, 2, 123, 124, 125, 126, 127, 2, 2, 2, 2, 2, 2, 128, 2, 
    129, 130, 131, 2, 132, 2, 133, 2, 2, 2, 134, 2, 2, 2, 135, 136, 137, 138, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 139, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 50, 50, 50, 50, 50, 50, 140, 2, 141, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 50, 50, 50, 50, 50, 50, 50, 
    50, 142, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 50, 50, 50, 50, 143, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 144, 145, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 146, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 147, 2, 148, 2, 149, 2, 2, 150, 2, 2, 2, 151, 152, 
    153, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 154, 155, 
    2, 2, 156, 157, 158, 159, 160, 2, 161, 162, 163, 164, 165, 166, 167, 148, 
    168, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 169, 170, 93, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 82, 171, 2, 172, 173, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 174, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 175, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 176, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 177, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 50, 50, 50, 
    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 
    50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 178, 50, 179, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 174, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 50, 180, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 
};

static unsigned char changes_3_2_0_data[] = {
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 2, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 
    0, 0, 4, 0, 0, 5, 0, 0, 0, 0, 6, 7, 0, 0, 3, 0, 0, 8, 4, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 10, 0, 9, 9, 0, 0, 0, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 
    9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 0, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 
    9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 
    9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 16, 17, 18, 19, 0, 0, 9, 
    0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 20, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 
    9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    0, 0, 0, 0, 0, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 
    0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 
    0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 0, 
    0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 
    24, 25, 26, 27, 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 4, 0, 0, 37, 38, 39, 40, 
    41, 42, 1, 1, 0, 0, 0, 4, 36, 8, 6, 7, 37, 38, 39, 40, 41, 42, 1, 1, 0, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 
    0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 44, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 
    46, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 
    47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 9, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 9, 9, 9, 0, 9, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 
    35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 
    9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 
    9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 
    9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    19, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 
    9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 
    0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 19, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 21, 21, 21, 21, 21, 21, 0, 0, 0, 1, 1, 21, 21, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 14, 14, 14, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 
    0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 0, 0, 
    0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 9, 9, 0, 0, 0, 0, 
    0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 
    0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 0, 9, 0, 0, 9, 0, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 9, 0, 9, 0, 0, 0, 0, 0, 0, 9, 
    0, 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 9, 9, 0, 9, 9, 0, 9, 0, 0, 9, 0, 9, 0, 
    9, 0, 9, 0, 9, 0, 9, 9, 0, 9, 0, 0, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 
    0, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 
    9, 0, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 0, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    19, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 
    9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 
};

static const change_record* get_change_3_2_0(Py_UCS4 n)
{
	int index;
	if (n >= 0x110000) index = 0;
	else {
		index = changes_3_2_0_index[n>>7];
		index = changes_3_2_0_data[(index<<7)+(n & 127)];
	}
	return change_records_3_2_0+index;
}

static Py_UCS4 normalization_3_2_0(Py_UCS4 n)
{
	switch(n) {
	case 0x2f868: return 0x2136A;
	case 0x2f874: return 0x5F33;
	case 0x2f91f: return 0x43AB;
	case 0x2f95f: return 0x7AAE;
	case 0x2f9bf: return 0x4D57;
	default: return 0;
	}
}

38bd798a87ed1&id2=35665053a56f7c74e45d65234630a130ba24a27a'>src/3rdparty/webkit/WebCore/bindings/js/JSWorkerConstructor.h51
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextBase.h73
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerContextCustom.cpp172
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSWorkerCustom.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestConstructor.h38
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp181
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXMLHttpRequestUploadCustom.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorConstructor.h49
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSXSLTProcessorCustom.cpp121
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfile.cpp183
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfile.h46
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfileNode.cpp236
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JavaScriptProfileNode.h48
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.cpp152
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScheduledAction.h72
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptArray.h59
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.cpp109
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCachedFrameData.h61
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCallFrame.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCallFrame.h74
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCallStack.cpp109
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptCallStack.h69
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptController.cpp464
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptController.h202
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerBrew.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerGtk.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerHaiku.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerMac.mm171
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerQt.cpp63
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerWin.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptControllerWx.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptDebugServer.cpp586
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptDebugServer.h153
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.cpp124
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptEventListener.h52
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.cpp199
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptFunctionCall.h86
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptInstance.h44
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.cpp207
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptObject.h85
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptProfile.h41
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptProfiler.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptProfiler.h48
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceCode.h78
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptSourceProvider.h48
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptState.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptState.h56
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptString.h85
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptValue.h70
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/ScriptWrappable.h65
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/SerializedScriptValue.cpp999
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/SerializedScriptValue.h233
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/StringSourceProvider.h63
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WebCoreJSClientData.h78
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.cpp152
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/WorkerScriptController.h88
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGenerator.pm366
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorJS.pm2380
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorObjC.pm1688
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm2834
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/IDLParser.pm432
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/IDLStructure.pm105
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/scripts/InFilesParser.pm150
-rwxr-xr-xsrc/3rdparty/webkit/WebCore/bindings/scripts/generate-bindings.pl70
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/Bridge.h48
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/IdentifierRep.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/IdentifierRep.h76
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/NP_jsobject.cpp533
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/CRuntimeObject.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/CRuntimeObject.h55
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_class.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_class.h60
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_instance.cpp318
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_instance.h93
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_runtime.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_runtime.h68
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_utility.cpp153
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/c/c_utility.h58
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/JNIBridge.cpp181
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/JNIBridge.h123
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/JNIUtility.cpp343
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/JNIUtility.h275
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.h130
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_jsobject.mm705
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jni_objc.mm84
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIBridgeJSC.cpp445
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIBridgeJSC.h89
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp316
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JNIUtilityPrivate.h53
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaClassJSC.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaClassJSC.h62
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp381
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaInstanceJSC.h112
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaRuntimeObject.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaRuntimeObject.h52
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jni/jsc/JavaStringJSC.h84
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jsc/BridgeJSC.cpp126
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/jsc/BridgeJSC.h153
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npapi.h913
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npruntime.h357
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npruntime_internal.h51
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_class.cpp226
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_class.h59
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.cpp400
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_instance.h96
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.cpp369
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_pixmapruntime.h54
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.cpp1877
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/qt/qt_runtime.h242
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_array.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_array.h70
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_method.cpp127
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_method.h67
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_object.cpp324
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_object.h85
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_root.cpp187
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/runtime_root.h100
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/testbindings.cpp419
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/testbindings.mm287
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/testqtbindings.cpp139
-rwxr-xr-xsrc/3rdparty/webkit/WebCore/combine-javascript-resources79
-rw-r--r--src/3rdparty/webkit/WebCore/config.h235
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSBorderImageValue.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSBorderImageValue.h62
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSCanvasValue.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSCanvasValue.h69
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.cpp1534
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSComputedStyleDeclaration.h82
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSCursorImageValue.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSCursorImageValue.h63
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontFace.cpp122
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontFace.h98
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontFaceSource.cpp193
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontFaceSource.h83
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontFaceSrcValue.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontFaceSrcValue.h92
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontSelector.cpp538
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFontSelector.h77
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFunctionValue.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSFunctionValue.h58
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSGradientValue.cpp162
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSGradientValue.h112
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSGrammar.y1512
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSHelper.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSHelper.h43
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSImageGeneratorValue.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSImageGeneratorValue.h76
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSImageValue.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSImageValue.h59
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSImportRule.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSImportRule.h77
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSImportRule.idl30
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSInitialValue.h58
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSMediaRule.cpp131
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSMediaRule.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.cpp838
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSMutableStyleDeclaration.h222
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSNamespace.h57
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPageRule.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPageRule.h60
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPageRule.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.cpp5432
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParser.h325
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParserValues.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSParserValues.h100
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.cpp993
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValue.h218
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPrimitiveValueMappings.h2530
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSProperty.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSProperty.h79
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPropertyLonghand.cpp222
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSPropertyNames.in259
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSReflectValue.h70
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSRule.h72
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSRule.idl51
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSRuleList.cpp110
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSRuleList.h66
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSRuleList.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSegmentedFontFace.cpp135
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSegmentedFontFace.h70
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelector.cpp627
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelector.h280
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelectorList.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSSelectorList.h57
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleDeclaration.cpp163
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleDeclaration.h83
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleDeclaration.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleRule.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleRule.h78
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleRule.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSelector.cpp6385
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSelector.h352
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSheet.cpp266
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSheet.h124
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSStyleSheet.idl45
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSTimingFunctionValue.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSTimingFunctionValue.h67
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValue.h78
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValue.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueKeywords.in718
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueList.cpp141
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSValueList.h80
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariableDependentValue.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariableDependentValue.h57
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariablesDeclaration.cpp175
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariablesDeclaration.h82
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariablesDeclaration.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariablesRule.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariablesRule.h70
-rw-r--r--src/3rdparty/webkit/WebCore/css/CSSVariablesRule.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/css/FontFamilyValue.cpp107
-rw-r--r--src/3rdparty/webkit/WebCore/css/FontFamilyValue.h50
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaFeatureNames.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaFeatureNames.h84
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaList.cpp258
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaList.h92
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaList.idl45
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQuery.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQuery.h61
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.cpp552
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryEvaluator.h90
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryExp.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/css/MediaQueryExp.h75
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSComputedStyleDeclaration.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSParser.cpp350
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSPropertyNames.in50
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSStyleSelector.cpp565
-rw-r--r--src/3rdparty/webkit/WebCore/css/SVGCSSValueKeywords.in282
-rw-r--r--src/3rdparty/webkit/WebCore/css/ShadowValue.h65
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleBase.cpp68
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleBase.h86
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleMedia.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleMedia.h55
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleMedia.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleSheet.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleSheet.h85
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleSheet.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleSheetList.h63
-rw-r--r--src/3rdparty/webkit/WebCore/css/StyleSheetList.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/css/WCSSPropertyNames.in4
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframesRule.cpp146
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSKeyframesRule.h95
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.h159
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSMatrix.idl86
-rw-r--r--src/3rdparty/webkit/WebCore/css/WebKitCSSTransformValue.idl62
-rw-r--r--src/3rdparty/webkit/WebCore/css/html.css669
-rw-r--r--src/3rdparty/webkit/WebCore/css/makeprop.pl119
-rw-r--r--src/3rdparty/webkit/WebCore/css/makevalues.pl108
-rw-r--r--src/3rdparty/webkit/WebCore/css/mathml.css198
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControls.css133
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControlsChromium.css192
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControlsGtk.css65
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControlsQt.css140
-rw-r--r--src/3rdparty/webkit/WebCore/css/mediaControlsQuickTime.css187
-rw-r--r--src/3rdparty/webkit/WebCore/css/quirks.css54
-rw-r--r--src/3rdparty/webkit/WebCore/css/themeChromiumLinux.css36
-rw-r--r--src/3rdparty/webkit/WebCore/css/themeQtMaemo5.css86
-rw-r--r--src/3rdparty/webkit/WebCore/css/themeQtNoListboxes.css36
-rw-r--r--src/3rdparty/webkit/WebCore/css/themeWin.css102
-rw-r--r--src/3rdparty/webkit/WebCore/css/tokenizer.flex111
-rw-r--r--src/3rdparty/webkit/WebCore/css/view-source.css158
-rw-r--r--src/3rdparty/webkit/WebCore/css/wml.css256
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ActiveDOMObject.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ActiveDOMObject.h80
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Attr.cpp181
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Attr.h97
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Attr.idl49
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Attribute.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Attribute.h91
-rw-r--r--src/3rdparty/webkit/WebCore/dom/BeforeTextInsertedEvent.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/dom/BeforeTextInsertedEvent.h53
-rw-r--r--src/3rdparty/webkit/WebCore/dom/BeforeUnloadEvent.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/dom/BeforeUnloadEvent.h51
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CDATASection.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CDATASection.h46
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CanvasSurface.cpp31
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CanvasSurface.h41
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CharacterData.cpp224
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CharacterData.h68
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CheckedRadioButtons.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CheckedRadioButtons.h47
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClassNodeList.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClassNodeList.h55
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClientRect.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClientRect.h59
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Clipboard.cpp161
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Clipboard.h107
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Clipboard.idl47
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClipboardEvent.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ClipboardEvent.h56
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Comment.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Comment.h46
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ContainerNode.cpp981
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ContainerNode.h136
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CustomEvent.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CustomEvent.h57
-rw-r--r--src/3rdparty/webkit/WebCore/dom/CustomEvent.idl39
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DOMCoreException.idl76
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DOMImplementation.cpp370
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DOMImplementation.h70
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DOMImplementation.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.cpp4907
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.h1258
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Document.idl316
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentFragment.cpp71
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentFragment.h46
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentFragment.idl30
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentMarker.h64
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DocumentType.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DynamicNodeList.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/dom/DynamicNodeList.h82
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EditingText.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.cpp1553
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.h391
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.idl205
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ElementRareData.h63
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Entity.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EntityReference.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ErrorEvent.h74
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.cpp278
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.h195
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Event.idl84
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventException.idl50
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventListener.h75
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventNames.h179
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.cpp349
-rw-r--r--src/3rdparty/webkit/WebCore/dom/EventTarget.h245
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ExceptionBase.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ExceptionCode.cpp226
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ExceptionCode.h88
-rw-r--r--src/3rdparty/webkit/WebCore/dom/InputElement.cpp258
-rw-r--r--src/3rdparty/webkit/WebCore/dom/InputElement.h125
-rw-r--r--src/3rdparty/webkit/WebCore/dom/KeyboardEvent.cpp163
-rw-r--r--src/3rdparty/webkit/WebCore/dom/KeyboardEvent.h116
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MappedAttribute.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MappedAttribute.h68
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MappedAttributeEntry.h55
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessageChannel.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessageEvent.cpp93
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePort.cpp246
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePort.h130
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePort.idl57
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePortChannel.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MessagePortChannel.h114
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MouseEvent.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MouseEvent.h86
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MouseRelatedEvent.cpp195
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MouseRelatedEvent.h87
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MutationEvent.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/dom/MutationEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NameNodeList.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NameNodeList.h52
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedAttrMap.cpp322
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedAttrMap.h151
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedMappedAttrMap.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedMappedAttrMap.h62
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedNodeMap.h1
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NamedNodeMap.idl58
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Node.cpp3008
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Node.h659
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Node.idl147
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeFilter.h88
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeFilter.idl50
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeFilterCondition.h48
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeIterator.cpp228
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeIterator.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeList.h46
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeList.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeRareData.h123
-rw-r--r--src/3rdparty/webkit/WebCore/dom/NodeRenderStyle.h40
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Notation.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Notation.h51
-rw-r--r--src/3rdparty/webkit/WebCore/dom/OptionElement.cpp159
-rw-r--r--src/3rdparty/webkit/WebCore/dom/OptionElement.h82
-rw-r--r--src/3rdparty/webkit/WebCore/dom/OptionGroupElement.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/dom/OptionGroupElement.h41
-rw-r--r--src/3rdparty/webkit/WebCore/dom/OverflowEvent.h69
-rw-r--r--src/3rdparty/webkit/WebCore/dom/OverflowEvent.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/dom/PopStateEvent.cpp50
-rw-r--r--src/3rdparty/webkit/WebCore/dom/PopStateEvent.h57
-rw-r--r--src/3rdparty/webkit/WebCore/dom/PopStateEvent.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Position.cpp1205
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Position.h256
-rw-r--r--src/3rdparty/webkit/WebCore/dom/PositionIterator.cpp170
-rw-r--r--src/3rdparty/webkit/WebCore/dom/PositionIterator.h74
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp288
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.h100
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProgressEvent.cpp63
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProgressEvent.h69
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ProgressEvent.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/dom/QualifiedName.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/dom/QualifiedName.h175
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Range.cpp1971
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Range.h167
-rw-r--r--src/3rdparty/webkit/WebCore/dom/RangeException.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/dom/RegisteredEventListener.h51
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptElement.cpp312
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptElement.h107
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.cpp284
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h171
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.cpp994
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectElement.h195
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectorNodeList.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SelectorNodeList.h42
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SpaceSplitString.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/dom/SpaceSplitString.h89
-rw-r--r--src/3rdparty/webkit/WebCore/dom/StaticNodeList.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/dom/StyleElement.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/dom/StyleElement.h54
-rw-r--r--src/3rdparty/webkit/WebCore/dom/StyledElement.cpp500
-rw-r--r--src/3rdparty/webkit/WebCore/dom/StyledElement.h112
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TagNodeList.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TagNodeList.h51
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Text.cpp361
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Text.h67
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TextEvent.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TextEvent.h71
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Tokenizer.h84
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Touch.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Touch.h75
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TouchEvent.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TouchEvent.h82
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TouchList.h60
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TransformSource.h51
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Traversal.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Traversal.h57
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TreeWalker.cpp277
-rw-r--r--src/3rdparty/webkit/WebCore/dom/TreeWalker.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/dom/UIEvent.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/dom/UIEvent.h75
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ViewportArguments.cpp120
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ViewportArguments.h74
-rw-r--r--src/3rdparty/webkit/WebCore/dom/WheelEvent.cpp95
-rw-r--r--src/3rdparty/webkit/WebCore/dom/WheelEvent.h87
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizer.cpp353
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizer.h215
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerLibxml2.cpp1459
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerQt.cpp717
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.cpp68
-rw-r--r--src/3rdparty/webkit/WebCore/dom/XMLTokenizerScope.h62
-rw-r--r--src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.cpp244
-rw-r--r--src/3rdparty/webkit/WebCore/dom/default/PlatformMessagePortChannel.h116
-rwxr-xr-xsrc/3rdparty/webkit/WebCore/dom/make_names.pl1062
-rw-r--r--src/3rdparty/webkit/WebCore/editing/AppendNodeCommand.cpp63
-rw-r--r--src/3rdparty/webkit/WebCore/editing/AppendNodeCommand.h52
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.cpp1888
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ApplyStyleCommand.h131
-rw-r--r--src/3rdparty/webkit/WebCore/editing/BreakBlockquoteCommand.cpp205
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp1201
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.h125
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CreateLinkCommand.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CreateLinkCommand.h51
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteButton.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteButton.h42
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteButtonController.cpp358
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteButtonController.h77
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteFromTextNodeCommand.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.cpp823
-rw-r--r--src/3rdparty/webkit/WebCore/editing/DeleteSelectionCommand.h100
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditCommand.cpp220
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditCommand.h95
-rw-r--r--src/3rdparty/webkit/WebCore/editing/Editor.cpp2898
-rw-r--r--src/3rdparty/webkit/WebCore/editing/Editor.h336
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditorCommand.cpp1579
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditorInsertAction.h40
-rw-r--r--src/3rdparty/webkit/WebCore/editing/FormatBlockCommand.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/editing/FormatBlockCommand.h52
-rw-r--r--src/3rdparty/webkit/WebCore/editing/HTMLInterchange.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/editing/HTMLInterchange.h46
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.cpp320
-rw-r--r--src/3rdparty/webkit/WebCore/editing/IndentOutdentCommand.h61
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertIntoTextNodeCommand.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertLineBreakCommand.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertListCommand.cpp269
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertListCommand.h63
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertNodeBeforeCommand.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.cpp400
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertParagraphSeparatorCommand.h61
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertTextCommand.cpp261
-rw-r--r--src/3rdparty/webkit/WebCore/editing/InsertTextCommand.h61
-rw-r--r--src/3rdparty/webkit/WebCore/editing/JoinTextNodesCommand.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/editing/MergeIdenticalElementsCommand.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ModifySelectionListLevel.cpp295
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ModifySelectionListLevel.h80
-rw-r--r--src/3rdparty/webkit/WebCore/editing/MoveSelectionCommand.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/editing/RemoveCSSPropertyCommand.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/editing/RemoveCSSPropertyCommand.h56
-rw-r--r--src/3rdparty/webkit/WebCore/editing/RemoveFormatCommand.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/editing/RemoveNodeCommand.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/editing/RemoveNodeCommand.h53
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ReplaceNodeWithSpanCommand.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ReplaceNodeWithSpanCommand.h62
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.cpp1274
-rw-r--r--src/3rdparty/webkit/WebCore/editing/ReplaceSelectionCommand.h98
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SelectionController.cpp1472
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SelectionController.h215
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SetNodeAttributeCommand.h55
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SmartReplace.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SmartReplace.h35
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SmartReplaceICU.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SplitElementCommand.cpp102
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SplitTextNodeCommand.cpp93
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SplitTextNodeCommand.h55
-rw-r--r--src/3rdparty/webkit/WebCore/editing/SplitTextNodeContainingElementCommand.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/editing/TextGranularity.h47
-rw-r--r--src/3rdparty/webkit/WebCore/editing/TextIterator.cpp2250
-rw-r--r--src/3rdparty/webkit/WebCore/editing/TextIterator.h288
-rw-r--r--src/3rdparty/webkit/WebCore/editing/TypingCommand.cpp621
-rw-r--r--src/3rdparty/webkit/WebCore/editing/TypingCommand.h106
-rw-r--r--src/3rdparty/webkit/WebCore/editing/UnlinkCommand.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/editing/VisiblePosition.cpp690
-rw-r--r--src/3rdparty/webkit/WebCore/editing/VisiblePosition.h151
-rw-r--r--src/3rdparty/webkit/WebCore/editing/VisibleSelection.cpp649
-rw-r--r--src/3rdparty/webkit/WebCore/editing/VisibleSelection.h151
-rw-r--r--src/3rdparty/webkit/WebCore/editing/WrapContentsInDummySpanCommand.cpp93
-rw-r--r--src/3rdparty/webkit/WebCore/editing/htmlediting.cpp1171
-rw-r--r--src/3rdparty/webkit/WebCore/editing/htmlediting.h238
-rw-r--r--src/3rdparty/webkit/WebCore/editing/markup.cpp1290
-rw-r--r--src/3rdparty/webkit/WebCore/editing/markup.h59
-rw-r--r--src/3rdparty/webkit/WebCore/editing/qt/EditorQt.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/editing/visible_units.cpp1249
-rw-r--r--src/3rdparty/webkit/WebCore/editing/visible_units.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.cpp4560
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSGrammar.h155
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.cpp1339
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h299
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.c2809
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSValueKeywords.h626
-rw-r--r--src/3rdparty/webkit/WebCore/generated/ColorData.c441
-rw-r--r--src/3rdparty/webkit/WebCore/generated/DocTypeStrings.cpp1083
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.cpp619
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLElementFactory.h56
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLEntityNames.c550
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLNames.cpp1277
-rw-r--r--src/3rdparty/webkit/WebCore/generated/HTMLNames.h451
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.cpp251
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAbstractWorker.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAttr.cpp229
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSAttr.h91
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBarInfo.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBarInfo.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBeforeLoadEvent.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBeforeLoadEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBlob.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSBlob.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCDATASection.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCDATASection.h73
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSCharsetRule.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.cpp162
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSFontFaceRule.h73
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.cpp184
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSImportRule.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.cpp219
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSMediaRule.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.cpp187
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPageRule.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.cpp478
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSPrimitiveValue.h112
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRule.cpp300
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRule.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.cpp251
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSRuleList.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.cpp413
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleDeclaration.h107
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.cpp187
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleRule.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.cpp273
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSStyleSheet.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValue.cpp235
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValue.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValueList.cpp237
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSValueList.h81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.cpp334
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesDeclaration.h97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCSSVariablesRule.h74
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.cpp110
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasGradient.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasPattern.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.cpp171
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp1053
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h170
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCharacterData.cpp312
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCharacterData.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRect.cpp224
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRect.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRectList.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClientRectList.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClipboard.cpp273
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSClipboard.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSComment.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSComment.h72
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCompositionEvent.cpp191
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCompositionEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSConsole.cpp365
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSConsole.h104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCoordinates.cpp164
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCoordinates.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCounter.cpp195
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCounter.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCustomEvent.cpp187
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCustomEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.cpp430
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMApplicationCache.h124
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.cpp377
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMCoreException.h113
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMFormData.cpp193
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMFormData.h89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.cpp270
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMImplementation.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMParser.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMParser.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMSelection.cpp461
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMSelection.h109
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.cpp8713
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDOMWindow.h969
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.cpp332
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumn.h108
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.cpp353
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDataGridColumnList.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDatabase.cpp163
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDatabase.h96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.cpp153
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDedicatedWorkerContext.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocument.cpp2190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocument.h265
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.cpp199
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentFragment.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentType.cpp217
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSDocumentType.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSElement.cpp1780
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSElement.h240
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntity.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntity.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntityReference.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEntityReference.h72
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSErrorEvent.cpp225
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSErrorEvent.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEvent.cpp509
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEvent.h128
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventException.cpp238
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventException.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventSource.cpp305
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSEventSource.h111
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFile.cpp200
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFile.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFileList.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSFileList.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeolocation.cpp131
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeolocation.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeoposition.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSGeoposition.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.cpp293
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAllCollection.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.cpp498
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAnchorElement.h115
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.cpp351
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAppletElement.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.cpp346
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAreaElement.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLAudioElement.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBRElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.cpp191
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.cpp209
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBaseFontElement.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBlockquoteElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.cpp459
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLBodyElement.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.cpp364
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLButtonElement.h97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.cpp229
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCanvasElement.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.cpp271
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLCollection.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.cpp171
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDListElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.cpp247
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridCellElement.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.cpp247
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridColElement.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.cpp234
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridElement.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.cpp210
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataGridRowElement.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDataListElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.cpp171
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDirectoryElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDivElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.cpp480
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLDocument.h120
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElement.cpp461
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElement.h114
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.cpp656
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLElementWrapperFactory.h49
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.cpp298
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLEmbedElement.h96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.cpp234
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFieldSetElement.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.cpp207
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFontElement.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.cpp414
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFormElement.h106
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.cpp381
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameElement.h104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.cpp401
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLFrameSetElement.h98
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.cpp224
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHRElement.h81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHeadingElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLHtmlElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.cpp396
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIFrameElement.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.cpp429
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLImageElement.h104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.cpp864
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLInputElement.h161
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.cpp185
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLIsIndexElement.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.cpp191
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLIElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLabelElement.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLegendElement.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.cpp321
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLLinkElement.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.cpp185
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMapElement.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMarqueeElement.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.cpp643
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMediaElement.h134
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.cpp171
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMenuElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.cpp224
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLMetaElement.h81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLModElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.cpp208
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOListElement.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.cpp501
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLObjectElement.h119
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptGroupElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.cpp287
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionElement.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.cpp231
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLOptionsCollection.h99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParagraphElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.cpp224
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLParamElement.h81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLPreElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLProgressElement.cpp216
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLProgressElement.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLQuoteElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.cpp275
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLScriptElement.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.cpp526
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSelectElement.h113
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.cpp212
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLSourceElement.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.cpp219
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLStyleElement.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCaptionElement.h81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.cpp405
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableCellElement.h102
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.cpp259
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableColElement.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.cpp519
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableElement.h111
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.cpp320
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableRowElement.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.cpp286
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTableSectionElement.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.cpp529
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTextAreaElement.h115
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLTitleElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLUListElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.cpp320
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHTMLVideoElement.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHistory.cpp199
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSHistory.h99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSImageData.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSImageData.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInjectedScriptHost.cpp360
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInjectedScriptHost.h114
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.cpp1039
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorBackend.h148
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorFrontendHost.cpp383
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSInspectorFrontendHost.h107
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSJavaScriptCallFrame.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.cpp258
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSKeyboardEvent.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSLocation.cpp297
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSLocation.h129
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaError.cpp219
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaError.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaList.cpp306
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMediaList.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageChannel.cpp135
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageChannel.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageEvent.cpp235
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessageEvent.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessagePort.cpp289
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMessagePort.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeType.cpp207
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeType.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.cpp277
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMimeTypeArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMouseEvent.cpp366
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMouseEvent.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMutationEvent.cpp259
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSMutationEvent.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.cpp356
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNamedNodeMap.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNavigator.cpp325
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNavigator.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNode.cpp737
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNode.h174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeFilter.cpp294
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeFilter.h109
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeIterator.cpp272
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeIterator.h100
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeList.cpp267
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNodeList.h96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNotation.cpp170
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSNotation.h74
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.cpp230
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSOverflowEvent.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.cpp187
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPageTransitionEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPlugin.cpp309
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPlugin.h97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPluginArray.cpp291
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPluginArray.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPopStateEvent.cpp181
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPopStateEvent.h81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPositionError.cpp224
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSPositionError.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProcessingInstruction.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProgressEvent.cpp210
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSProgressEvent.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.cpp195
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRGBColor.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRange.cpp731
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRange.h127
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRangeException.cpp237
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRangeException.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRect.cpp205
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSRect.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLError.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLError.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.cpp144
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSet.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.cpp142
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLResultSetRowList.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.cpp107
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSQLTransaction.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAElement.cpp424
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAElement.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.cpp211
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAltGlyphElement.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAngle.cpp325
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAngle.h107
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateColorElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimateTransformElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedAngle.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedBoolean.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedEnumeration.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedInteger.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLength.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedLengthList.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumber.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedNumberList.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedPreserveAspectRatio.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedRect.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.cpp204
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedString.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimatedTransformList.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.cpp277
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGAnimationElement.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.cpp436
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCircleElement.h104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.cpp414
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGClipPathElement.h102
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGColor.cpp269
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGColor.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.cpp288
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGComponentTransferFunctionElement.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.cpp259
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGCursorElement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.cpp402
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDefsElement.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.cpp248
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDescElement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDocument.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGDocument.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElement.cpp227
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.cpp1188
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstance.h190
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.cpp207
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementInstanceList.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.cpp634
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGElementWrapperFactory.h52
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.cpp447
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGEllipseElement.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGException.cpp250
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGException.h99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.cpp341
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEBlendElement.h100
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.cpp335
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEColorMatrixElement.h99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.cpp274
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEComponentTransferElement.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.cpp393
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFECompositeElement.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.cpp319
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDiffuseLightingElement.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.cpp357
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDisplacementMapElement.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEDistantLightElement.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.cpp263
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFloodElement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncAElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncBElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncGElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEFuncRElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.cpp312
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEGaussianBlurElement.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.cpp339
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEImageElement.h97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.cpp263
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeElement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMergeNodeElement.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMorphologyElement.cpp347
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEMorphologyElement.h99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.cpp297
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEOffsetElement.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.cpp188
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFEPointLightElement.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.cpp308
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpecularLightingElement.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.cpp243
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFESpotLightElement.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.cpp274
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETileElement.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.cpp376
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFETurbulenceElement.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.cpp377
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFilterElement.h100
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceFormatElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceNameElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceSrcElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGFontFaceUriElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.cpp447
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGForeignObjectElement.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGElement.cpp402
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGElement.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGlyphElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.cpp295
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGGradientElement.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGHKernElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.cpp470
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGImageElement.h107
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLength.cpp358
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLength.h119
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.cpp264
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLengthList.h98
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.cpp447
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLineElement.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.cpp199
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGLinearGradientElement.h81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.cpp436
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMarkerElement.h109
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.cpp375
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMaskElement.h100
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.cpp458
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMatrix.h119
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMetadataElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGMissingGlyphElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumber.cpp193
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumber.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.cpp263
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGNumberList.h98
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPaint.cpp293
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPaint.h97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.cpp857
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathElement.h128
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.cpp340
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSeg.h112
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.cpp286
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcAbs.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.cpp286
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegArcRel.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegClosePath.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.cpp268
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicAbs.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.cpp268
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicRel.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.cpp232
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothAbs.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.cpp232
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoCubicSmoothRel.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.cpp232
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticAbs.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.cpp232
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticRel.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothAbs.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegCurvetoQuadraticSmoothRel.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoAbs.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalAbs.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoHorizontalRel.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoRel.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalAbs.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegLinetoVerticalRel.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.cpp262
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegList.h107
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoAbs.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPathSegMovetoRel.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.cpp422
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPatternElement.h104
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPoint.cpp242
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPoint.h96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPointList.cpp263
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPointList.h98
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.cpp424
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolygonElement.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.cpp424
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPolylineElement.h103
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.cpp323
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGPreserveAspectRatio.h109
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.cpp210
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRadialGradientElement.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRect.cpp250
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRect.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.cpp469
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRectElement.h107
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.cpp223
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGRenderingIntent.h96
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.cpp953
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSVGElement.h149
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGScriptElement.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSetElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.cpp219
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStopElement.h85
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStringList.cpp312
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStringList.h98
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.cpp252
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGStyleElement.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.cpp402
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSwitchElement.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.cpp284
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGSymbolElement.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTRefElement.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTSpanElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.cpp537
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextContentElement.h110
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.cpp260
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextElement.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.cpp255
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPathElement.h91
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.cpp211
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTextPositioningElement.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.cpp248
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTitleElement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransform.cpp363
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransform.h108
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.cpp294
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGTransformList.h100
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUnitTypes.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.cpp480
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGUseElement.h108
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.cpp258
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGViewElement.h91
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.cpp207
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSVGZoomEvent.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSScreen.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSScreen.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSharedWorker.cpp116
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSharedWorker.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.cpp144
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSSharedWorkerContext.h83
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorage.cpp296
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorage.h102
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorageEvent.cpp240
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStorageEvent.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleMedia.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleMedia.h87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheet.cpp247
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheet.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.cpp262
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSStyleSheetList.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSText.cpp212
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSText.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextEvent.cpp191
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextEvent.h78
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextMetrics.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTextMetrics.h82
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTimeRanges.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTimeRanges.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTouch.cpp251
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTouch.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTouchEvent.cpp264
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTouchEvent.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTouchList.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTouchList.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTreeWalker.cpp313
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSTreeWalker.h110
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSUIEvent.cpp271
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSUIEvent.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSValidityState.cpp195
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSValidityState.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSVoidCallback.cpp101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSVoidCallback.h80
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLActiveInfo.cpp143
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLActiveInfo.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLArray.cpp170
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLArray.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLArrayBuffer.cpp121
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLArrayBuffer.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLBuffer.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLBuffer.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLByteArray.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLByteArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLContextAttributes.cpp200
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLContextAttributes.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLFloatArray.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLFloatArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLFramebuffer.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLFramebuffer.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLIntArray.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLIntArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLProgram.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLProgram.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLRenderbuffer.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLRenderbuffer.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLRenderingContext.cpp4252
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLRenderingContext.h546
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLShader.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLShader.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLShortArray.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLShortArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLTexture.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLTexture.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUniformLocation.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUniformLocation.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedByteArray.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedByteArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedIntArray.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedIntArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedShortArray.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebGLUnsignedShortArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitAnimationEvent.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframeRule.h76
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.cpp289
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSKeyframesRule.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.cpp629
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSMatrix.h136
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.cpp368
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitCSSTransformValue.h101
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.cpp145
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitPoint.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebKitTransitionEvent.h79
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebSocket.cpp347
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWebSocket.h116
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWheelEvent.cpp336
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWheelEvent.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorker.cpp167
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorker.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerContext.cpp395
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerContext.h125
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.cpp283
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerLocation.h98
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.cpp170
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSWorkerNavigator.h88
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.cpp500
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequest.h135
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.cpp245
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestException.h93
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestProgressEvent.h74
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.cpp340
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLHttpRequestUpload.h105
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.cpp203
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXMLSerializer.h86
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.cpp265
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathEvaluator.h92
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathException.cpp242
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathException.h97
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathExpression.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathExpression.h90
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathNSResolver.h84
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathResult.cpp364
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXPathResult.h110
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSXSLTProcessor.h99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/SVGElementFactory.cpp609
-rw-r--r--src/3rdparty/webkit/WebCore/generated/SVGElementFactory.h55
-rw-r--r--src/3rdparty/webkit/WebCore/generated/SVGNames.cpp1052
-rw-r--r--src/3rdparty/webkit/WebCore/generated/SVGNames.h376
-rw-r--r--src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheets.h11
-rw-r--r--src/3rdparty/webkit/WebCore/generated/UserAgentStyleSheetsData.cpp1404
-rw-r--r--src/3rdparty/webkit/WebCore/generated/WebKitVersion.h36
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XLinkNames.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XLinkNames.h60
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XMLNSNames.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XMLNSNames.h54
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XMLNames.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XMLNames.h56
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.cpp2236
-rw-r--r--src/3rdparty/webkit/WebCore/generated/XPathGrammar.h95
-rw-r--r--src/3rdparty/webkit/WebCore/generated/tokenizer.cpp2208
-rw-r--r--src/3rdparty/webkit/WebCore/history/BackForwardList.cpp314
-rw-r--r--src/3rdparty/webkit/WebCore/history/BackForwardList.h126
-rw-r--r--src/3rdparty/webkit/WebCore/history/BackForwardListChromium.cpp153
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedFrame.cpp253
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedFrame.h94
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedPage.cpp102
-rw-r--r--src/3rdparty/webkit/WebCore/history/CachedPage.h63
-rw-r--r--src/3rdparty/webkit/WebCore/history/HistoryItem.cpp586
-rw-r--r--src/3rdparty/webkit/WebCore/history/HistoryItem.h280
-rw-r--r--src/3rdparty/webkit/WebCore/history/PageCache.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/history/PageCache.h87
-rw-r--r--src/3rdparty/webkit/WebCore/history/qt/HistoryItemQt.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/html/Blob.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/html/Blob.h99
-rw-r--r--src/3rdparty/webkit/WebCore/html/Blob.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/html/CollectionCache.h70
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMDataGridDataSource.h69
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMFormData.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMFormData.h58
-rw-r--r--src/3rdparty/webkit/WebCore/html/DOMFormData.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.h117
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumn.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.cpp126
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.h63
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridColumnList.idl45
-rw-r--r--src/3rdparty/webkit/WebCore/html/DataGridDataSource.h49
-rw-r--r--src/3rdparty/webkit/WebCore/html/DateComponents.cpp681
-rw-r--r--src/3rdparty/webkit/WebCore/html/DateComponents.h190
-rw-r--r--src/3rdparty/webkit/WebCore/html/DocTypeStrings.gperf89
-rw-r--r--src/3rdparty/webkit/WebCore/html/File.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/html/File.h58
-rw-r--r--src/3rdparty/webkit/WebCore/html/File.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/html/FileList.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/html/FormDataList.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/html/FormDataList.h70
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.cpp561
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.h121
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAnchorElement.idl66
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.cpp191
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.h64
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAppletElement.idl49
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.cpp239
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.h80
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAreaElement.idl47
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAttributeNames.in278
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAudioElement.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLAudioElement.h49
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.cpp75
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.h49
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBRElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.cpp86
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.h56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseElement.idl27
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.h44
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBaseFontElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.h41
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBlockquoteElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.cpp331
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.h99
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLBodyElement.idl61
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLButtonElement.cpp192
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLButtonElement.h71
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLButtonElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.cpp361
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.h143
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCanvasElement.idl45
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCollection.cpp407
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCollection.h90
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLCollection.idl39
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDListElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDListElement.h42
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDListElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.h62
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridCellElement.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.cpp171
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.h79
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridColElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.h71
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.h56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataGridRowElement.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataListElement.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDataListElement.h55
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.h42
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDirectoryElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDivElement.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDivElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDivElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.cpp421
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.h112
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLDocument.idl64
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.cpp1022
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.h124
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElement.idl68
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLElementsAllInOne.cpp106
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.cpp245
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.h67
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLEmbedElement.idl51
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLEntityNames.gperf296
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFieldSetElement.h56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFontElement.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFontElement.h53
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFontElement.idl28
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormCollection.cpp248
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.cpp548
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormControlElement.h196
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormElement.cpp617
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormElement.h165
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFormElement.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameElement.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameElement.h61
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameElement.idl53
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.cpp301
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameElementBase.h99
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameOwnerElement.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameOwnerElement.h72
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameSetElement.cpp243
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameSetElement.h109
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLFrameSetElement.idl59
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHRElement.cpp143
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHRElement.h55
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHRElement.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadElement.h47
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadingElement.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadingElement.h43
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHeadingElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.h50
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLHtmlElement.idl28
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIFrameElement.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIFrameElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIFrameElement.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageElement.cpp438
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageElement.h125
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageElement.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLImageLoader.cpp68
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.cpp2785
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.h351
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLInputElement.idl100
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLIsIndexElement.idl27
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLKeygenElement.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLKeygenElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLIElement.cpp129
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLIElement.h53
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLIElement.idl27
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLabelElement.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLabelElement.h65
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLabelElement.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLegendElement.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLegendElement.h56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLegendElement.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLinkElement.cpp449
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLinkElement.h119
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLLinkElement.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMapElement.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMapElement.h61
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMapElement.idl28
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.h63
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMarqueeElement.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.cpp1991
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.h355
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMediaElement.idl86
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMenuElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMenuElement.h42
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMenuElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMetaElement.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMetaElement.h61
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLMetaElement.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLModElement.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLModElement.h47
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLModElement.idl27
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLNameCollection.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLNoScriptElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLNoScriptElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOListElement.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOListElement.h55
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOListElement.idl28
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLObjectElement.cpp364
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLObjectElement.h92
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLObjectElement.idl63
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptGroupElement.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptGroupElement.h72
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptGroupElement.idl27
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptionElement.cpp255
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptionElement.h98
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLOptionElement.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParagraphElement.cpp82
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParagraphElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParagraphElement.idl26
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParamElement.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParamElement.h65
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParamElement.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParser.cpp1731
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParser.h205
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParserErrorCodes.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParserErrorCodes.h60
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParserQuirks.h49
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLPlugInElement.cpp186
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLPlugInElement.h85
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLPlugInImageElement.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLPlugInImageElement.h50
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLPreElement.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLPreElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLPreElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLProgressElement.cpp108
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLProgressElement.h56
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLProgressElement.idl30
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLQuoteElement.idl25
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLScriptElement.cpp241
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLScriptElement.h97
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLScriptElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.cpp461
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.h146
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSelectElement.idl73
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSourceElement.cpp113
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSourceElement.h68
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLSourceElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLStyleElement.cpp146
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLStyleElement.h73
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLStyleElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.cpp71
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.h49
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCaptionElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.cpp271
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.h115
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableCellElement.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableColElement.cpp163
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableColElement.h74
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableColElement.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableElement.cpp759
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableElement.h131
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableElement.idl63
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTablePartElement.h45
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableRowElement.cpp229
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableRowElement.h72
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableRowElement.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableRowsCollection.cpp167
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.h66
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTableSectionElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTagNames.in132
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.cpp416
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.h118
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTextAreaElement.idl55
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTitleElement.cpp94
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTitleElement.h49
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.cpp2159
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLTokenizer.h435
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLUListElement.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLUListElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLUListElement.idl27
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLVideoElement.cpp250
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLVideoElement.h94
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLVideoElement.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLViewSourceDocument.cpp311
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLViewSourceDocument.h69
-rw-r--r--src/3rdparty/webkit/WebCore/html/ImageData.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/html/ImageData.h55
-rw-r--r--src/3rdparty/webkit/WebCore/html/ImageData.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/html/MediaError.h52
-rw-r--r--src/3rdparty/webkit/WebCore/html/PreloadScanner.cpp859
-rw-r--r--src/3rdparty/webkit/WebCore/html/PreloadScanner.h144
-rw-r--r--src/3rdparty/webkit/WebCore/html/StepRange.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/html/StepRange.h68
-rw-r--r--src/3rdparty/webkit/WebCore/html/TextMetrics.h50
-rw-r--r--src/3rdparty/webkit/WebCore/html/TimeRanges.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/html/TimeRanges.h111
-rw-r--r--src/3rdparty/webkit/WebCore/html/TimeRanges.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/html/ValidityState.h68
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasGradient.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasGradient.h71
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasGradient.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasNumberArray.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasNumberArray.h55
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasNumberArray.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasObject.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasObject.h72
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasPattern.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasPattern.h62
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasPattern.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasPixelArray.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasPixelArray.h75
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasPixelArray.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.h56
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp1595
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h271
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl120
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasStyle.cpp221
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasStyle.h89
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLActiveInfo.h62
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLActiveInfo.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLArray.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLArray.h114
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLArray.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLArrayBuffer.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLArrayBuffer.h55
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLArrayBuffer.idl30
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLBuffer.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLBuffer.h94
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLBuffer.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLByteArray.cpp88
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLByteArray.h100
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLByteArray.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLContextAttributes.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLContextAttributes.h82
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLContextAttributes.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLFloatArray.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLFloatArray.h95
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLFloatArray.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLFramebuffer.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLFramebuffer.h50
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLFramebuffer.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLGetInfo.cpp215
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLGetInfo.h131
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLIntArray.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLIntArray.h97
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLIntArray.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLProgram.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLProgram.h50
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLProgram.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderbuffer.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderbuffer.h55
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderbuffer.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderingContext.cpp2532
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderingContext.h360
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLRenderingContext.idl676
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLShader.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLShader.h50
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLShader.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLShortArray.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLShortArray.h94
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLShortArray.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLTexture.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLTexture.h66
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLTexture.idl29
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUniformLocation.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUniformLocation.h58
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUniformLocation.idl30
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedByteArray.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedByteArray.h95
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedByteArray.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedIntArray.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedIntArray.h95
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedIntArray.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedShortArray.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedShortArray.h96
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/WebGLUnsignedShortArray.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ConsoleMessage.h79
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InjectedScript.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InjectedScript.h66
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InjectedScriptHost.cpp225
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InjectedScriptHost.h112
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InjectedScriptHost.idl65
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.cpp530
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.h158
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorBackend.idl120
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorClient.h55
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.cpp1888
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorController.h393
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.cpp1205
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorDOMAgent.h200
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.cpp121
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorDOMStorageResource.h90
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorDatabaseResource.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorDatabaseResource.h75
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.cpp761
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontend.h174
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontendClient.h69
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontendClientLocal.cpp235
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontendClientLocal.h80
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontendHost.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontendHost.h89
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorFrontendHost.idl55
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorResource.cpp382
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorResource.h184
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.cpp275
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/InspectorTimelineAgent.h155
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.cpp114
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.h89
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/JavaScriptCallFrame.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ScriptBreakpoint.h57
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/ScriptDebugListener.h53
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/TimelineRecordFactory.h84
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/AbstractTimelinePanel.js514
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/AuditLauncherView.js281
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/AuditResultView.js91
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/AuditRules.js1023
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/AuditsPanel.js483
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Breakpoint.js96
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/BreakpointsSidebarPane.js163
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/CallStackSidebarPane.js165
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Callback.js56
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ChangesView.js80
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Checkbox.js56
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Color.js661
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ConsolePanel.js88
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ConsoleView.js1048
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ContextMenu.js83
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/CookieItemsView.js303
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DOMAgent.js690
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DOMStorage.js78
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DOMStorageItemsView.js157
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DataGrid.js1282
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Database.js103
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseQueryView.js194
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/DatabaseTableView.js90
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Drawer.js316
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsPanel.js1117
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ElementsTreeOutline.js1244
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/EventListenersSidebarPane.js222
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/FontView.js104
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ImageView.js75
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/auditsIcon.pngbin3815 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/back.pngbin4205 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/breakpointBorder.pngbin377 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/breakpointConditionalBorder.pngbin379 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/breakpointConditionalCounterBorder.pngbin529 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/breakpointCounterBorder.pngbin526 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/breakpointsActivateButtonGlyph.pngbin250 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/breakpointsDeactivateButtonGlyph.pngbin426 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/checker.pngbin3471 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/clearConsoleButtonGlyph.pngbin396 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/closeButtons.pngbin4355 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/consoleButtonGlyph.pngbin183 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/consoleIcon.pngbin2930 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/cookie.pngbin2246 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/database.pngbin2329 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/databaseTable.pngbin4325 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerContinue.pngbin4190 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerPause.pngbin4081 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerStepInto.pngbin4282 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerStepOut.pngbin4271 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/debuggerStepOver.pngbin4366 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallDown.pngbin3919 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallDownBlack.pngbin3802 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallDownWhite.pngbin3820 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRight.pngbin3898 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightBlack.pngbin3807 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightDown.pngbin3953 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.pngbin3816 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.pngbin3838 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/disclosureTriangleSmallRightWhite.pngbin3818 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/dockButtonGlyph.pngbin164 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/elementsIcon.pngbin6639 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/enableOutlineButtonGlyph.pngbin363 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/enableSolidButtonGlyph.pngbin302 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/errorIcon.pngbin4337 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/errorMediumIcon.pngbin4059 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/errorRedDot.pngbin549 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/excludeButtonGlyph.pngbin212 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/focusButtonGlyph.pngbin285 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/forward.pngbin4202 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/gearButtonGlyph.pngbin323 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeader.pngbin3720 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeaderPressed.pngbin3721 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeaderSelected.pngbin3738 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/glossyHeaderSelectedPressed.pngbin3739 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/goArrow.pngbin3591 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/graphLabelCalloutLeft.pngbin3790 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/graphLabelCalloutRight.pngbin3789 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/grayConnectorPoint.pngbin236 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/largerResourcesButtonGlyph.pngbin192 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/localStorage.pngbin1081 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/nodeSearchButtonGlyph.pngbin283 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/paneBottomGrow.pngbin3457 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/paneBottomGrowActive.pngbin3457 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/paneGrowHandleLine.pngbin3443 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/paneSettingsButtons.pngbin1422 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/pauseOnExceptionButtonGlyph.pngbin331 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/percentButtonGlyph.pngbin357 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/popoverArrows.pngbin784 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/popoverBackground.pngbin2233 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/profileGroupIcon.pngbin5126 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/profileIcon.pngbin4953 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/profileSmallIcon.pngbin579 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/profilesIcon.pngbin4158 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/profilesSilhouette.pngbin48600 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/programCounterBorder.pngbin352 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/radioDot.pngbin235 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/recordButtonGlyph.pngbin213 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/recordToggledButtonGlyph.pngbin510 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/reloadButtonGlyph.pngbin267 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceCSSIcon.pngbin1066 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceDocumentIcon.pngbin4959 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceDocumentIconSmall.pngbin787 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourceJSIcon.pngbin879 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcePlainIcon.pngbin4321 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcePlainIconSmall.pngbin731 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcesIcon.pngbin6431 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcesSilhouette.pngbin42925 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcesSizeGraphIcon.pngbin5606 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/resourcesTimeGraphIcon.pngbin5743 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/scriptsIcon.pngbin7428 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/scriptsSilhouette.pngbin49028 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallBlue.pngbin3968 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallBrightBlue.pngbin3966 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallGray.pngbin3936 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/searchSmallWhite.pngbin3844 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/segment.pngbin4349 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentEnd.pngbin4070 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentHover.pngbin4310 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentHoverEnd.pngbin4074 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentSelected.pngbin4302 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/segmentSelectedEnd.pngbin4070 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/sessionStorage.pngbin1097 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/splitviewDimple.pngbin216 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/splitviewDividerBackground.pngbin149 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarButtons.pngbin4175 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarMenuButton.pngbin4293 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarMenuButtonSelected.pngbin4291 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarResizerHorizontal.pngbin4026 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/statusbarResizerVertical.pngbin4036 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/storageIcon.pngbin7148 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/successGreenDot.pngbin585 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbActiveHoriz.pngbin647 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbActiveVert.pngbin599 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbHoriz.pngbin657 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbHoverHoriz.pngbin667 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbHoverVert.pngbin583 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/thumbVert.pngbin568 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarBlue.pngbin419 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGray.pngbin378 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarGreen.pngbin414 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarOrange.pngbin394 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarPurple.pngbin420 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarRed.pngbin408 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineBarYellow.pngbin400 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineCheckmarks.pngbin3528 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineDots.pngbin2436 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillBlue.pngbin3450 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillGray.pngbin3392 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillGreen.pngbin3452 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillOrange.pngbin3452 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillPurple.pngbin3453 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillRed.pngbin3460 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineHollowPillYellow.pngbin3444 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelineIcon.pngbin4419 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillBlue.pngbin3346 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillGray.pngbin3297 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillGreen.pngbin3350 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillOrange.pngbin3352 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillPurple.pngbin3353 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillRed.pngbin3343 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/timelinePillYellow.pngbin3336 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/toolbarItemSelected.pngbin4197 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/trackHoriz.pngbin520 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/trackVert.pngbin523 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeDownTriangleBlack.pngbin3570 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeDownTriangleWhite.pngbin3531 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeRightTriangleBlack.pngbin3561 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeRightTriangleWhite.pngbin3535 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeUpTriangleBlack.pngbin3584 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/treeUpTriangleWhite.pngbin3558 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/undockButtonGlyph.pngbin179 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/userInputIcon.pngbin777 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/userInputPreviousIcon.pngbin765 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/userInputResultIcon.pngbin259 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/warningIcon.pngbin4244 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/warningMediumIcon.pngbin3833 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/warningOrangeDot.pngbin580 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/warningsErrors.pngbin5192 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Images/whiteConnectorPoint.pngbin225 -> 0 bytes-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InjectedFakeWorker.js299
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScript.js974
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InjectedScriptAccess.js103
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InspectorBackendStub.js271
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/InspectorFrontendHostStub.js111
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/KeyboardShortcut.js116
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/MetricsSidebarPane.js217
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Object.js82
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ObjectPropertiesSection.js267
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ObjectProxy.js70
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Panel.js392
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Placard.js106
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Popover.js238
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ProfileDataGridTree.js408
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ProfileView.js623
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ProfilesPanel.js581
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/PropertiesSection.js43
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/PropertiesSidebarPane.js65
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Resource.js624
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourceCategory.js65
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourceView.js365
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ResourcesPanel.js1346
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ScopeChainSidebarPane.js148
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Script.js61
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ScriptView.js98
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/ScriptsPanel.js974
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Section.js140
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/Settings.js103
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SidebarPane.js133
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SidebarTreeElement.js201
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceCSSTokenizer.js1473
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceCSSTokenizer.re2js318
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceFrame.js701
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceHTMLTokenizer.js687
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceHTMLTokenizer.re2js303
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceTokenizer.js104
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SourceView.js238
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/StoragePanel.js505
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/StylesSidebarPane.js1424
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/SummaryBar.js363
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TestController.js78
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TextEditorHighlighter.js126
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TextEditorModel.js309
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TextPrompt.js429
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TextViewer.js732
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TimelineAgent.js69
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TimelineGrid.js144
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TimelineOverviewPane.js391
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/TimelinePanel.js859
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/WatchExpressionsSidebarPane.js281
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/WebKit.qrc253
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/WorkersSidebarPane.js114
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/audits.css279
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.css3930
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.html145
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/inspector.js1935
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/textViewer.css162
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/treeoutline.js863
-rw-r--r--src/3rdparty/webkit/WebCore/inspector/front-end/utilities.js920
-rw-r--r--src/3rdparty/webkit/WebCore/loader/Cache.cpp750
-rw-r--r--src/3rdparty/webkit/WebCore/loader/Cache.h210
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachePolicy.h41
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedCSSStyleSheet.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedCSSStyleSheet.h68
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedFont.cpp208
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedFont.h90
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedImage.cpp385
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedImage.h106
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedResource.cpp488
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedResource.h264
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedResourceClient.h83
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedScript.cpp129
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedScript.h67
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedXBLDocument.cpp110
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedXBLDocument.h67
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedXSLStyleSheet.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CachedXSLStyleSheet.h64
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CrossOriginAccessControl.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CrossOriginAccessControl.h41
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/loader/CrossOriginPreflightResultCache.h84
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocLoader.cpp497
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocLoader.h135
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocumentLoader.cpp758
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocumentLoader.h309
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.cpp358
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocumentThreadableLoader.h103
-rw-r--r--src/3rdparty/webkit/WebCore/loader/EmptyClients.h487
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FTPDirectoryDocument.cpp452
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FTPDirectoryDocument.h48
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FTPDirectoryParser.cpp1711
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.cpp4079
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.h534
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoaderClient.h276
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoaderTypes.h119
-rw-r--r--src/3rdparty/webkit/WebCore/loader/HistoryController.cpp672
-rw-r--r--src/3rdparty/webkit/WebCore/loader/HistoryController.h99
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ImageDocument.cpp401
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ImageDocument.h76
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ImageLoader.cpp341
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ImageLoader.h86
-rw-r--r--src/3rdparty/webkit/WebCore/loader/MainResourceLoader.cpp581
-rw-r--r--src/3rdparty/webkit/WebCore/loader/MainResourceLoader.h114
-rw-r--r--src/3rdparty/webkit/WebCore/loader/MediaDocument.cpp238
-rw-r--r--src/3rdparty/webkit/WebCore/loader/MediaDocument.h61
-rw-r--r--src/3rdparty/webkit/WebCore/loader/NetscapePlugInStreamLoader.cpp135
-rw-r--r--src/3rdparty/webkit/WebCore/loader/NetscapePlugInStreamLoader.h70
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PlaceholderDocument.h48
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PluginDocument.cpp180
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PluginDocument.h53
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PolicyCallback.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PolicyCallback.h80
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PolicyChecker.cpp197
-rw-r--r--src/3rdparty/webkit/WebCore/loader/PolicyChecker.h97
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ProgressTracker.cpp261
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ProgressTracker.h80
-rw-r--r--src/3rdparty/webkit/WebCore/loader/RedirectScheduler.cpp403
-rw-r--r--src/3rdparty/webkit/WebCore/loader/RedirectScheduler.h81
-rw-r--r--src/3rdparty/webkit/WebCore/loader/Request.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/loader/Request.h64
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ResourceLoadNotifier.cpp182
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ResourceLoadNotifier.h74
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ResourceLoader.cpp499
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ResourceLoader.h157
-rw-r--r--src/3rdparty/webkit/WebCore/loader/SubresourceLoader.cpp276
-rw-r--r--src/3rdparty/webkit/WebCore/loader/SubresourceLoader.h67
-rw-r--r--src/3rdparty/webkit/WebCore/loader/SubresourceLoaderClient.h61
-rw-r--r--src/3rdparty/webkit/WebCore/loader/TextDocument.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/loader/TextDocument.h51
-rw-r--r--src/3rdparty/webkit/WebCore/loader/TextResourceDecoder.cpp854
-rw-r--r--src/3rdparty/webkit/WebCore/loader/TextResourceDecoder.h96
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ThreadableLoader.h85
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ThreadableLoaderClient.h57
-rw-r--r--src/3rdparty/webkit/WebCore/loader/ThreadableLoaderClientWrapper.h117
-rw-r--r--src/3rdparty/webkit/WebCore/loader/WorkerThreadableLoader.cpp248
-rw-r--r--src/3rdparty/webkit/WebCore/loader/WorkerThreadableLoader.h147
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.cpp203
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCache.h117
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp1010
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.h189
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheHost.cpp406
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheHost.h157
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheResource.h75
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.cpp1128
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheStorage.h126
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/DOMApplicationCache.cpp130
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/DOMApplicationCache.h98
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/DOMApplicationCache.idl68
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ManifestParser.cpp185
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.h50
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.h65
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveResourceCollection.h59
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp2073
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.h243
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseClient.h51
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabaseNone.cpp218
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconFetcher.cpp229
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconFetcher.h78
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconLoader.cpp172
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconLoader.h69
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconRecord.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconRecord.h117
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/PageURLRecord.h85
-rw-r--r--src/3rdparty/webkit/WebCore/loader/loader.cpp591
-rw-r--r--src/3rdparty/webkit/WebCore/loader/loader.h117
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLElement.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLElement.h50
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLInlineContainerElement.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLInlineContainerElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLMathElement.cpp51
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLMathElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLTextElement.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/MathMLTextElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLBlock.cpp113
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLFraction.cpp208
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLFraction.h54
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLOperator.cpp328
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLOperator.h72
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLRow.cpp157
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLRow.h48
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLSubSup.cpp213
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLSubSup.h60
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLUnderOver.cpp274
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/RenderMathMLUnderOver.h54
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/mathattrs.in13
-rw-r--r--src/3rdparty/webkit/WebCore/mathml/mathtags.in21
-rwxr-xr-xsrc/3rdparty/webkit/WebCore/move-js-headers.sh6
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/Notification.cpp114
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/Notification.h108
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/Notification.idl56
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/NotificationCenter.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/NotificationCenter.h90
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/NotificationCenter.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/NotificationContents.h60
-rw-r--r--src/3rdparty/webkit/WebCore/notifications/NotificationPresenter.h82
-rw-r--r--src/3rdparty/webkit/WebCore/page/AbstractView.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/page/BarInfo.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/page/Chrome.cpp495
-rw-r--r--src/3rdparty/webkit/WebCore/page/Chrome.h156
-rw-r--r--src/3rdparty/webkit/WebCore/page/ChromeClient.h257
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.cpp464
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.h130
-rw-r--r--src/3rdparty/webkit/WebCore/page/Console.idl65
-rw-r--r--src/3rdparty/webkit/WebCore/page/ContextMenuClient.h60
-rw-r--r--src/3rdparty/webkit/WebCore/page/ContextMenuController.cpp379
-rw-r--r--src/3rdparty/webkit/WebCore/page/ContextMenuController.h70
-rw-r--r--src/3rdparty/webkit/WebCore/page/Coordinates.h86
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMSelection.cpp474
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMSelection.h104
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMSelection.idl86
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.cpp204
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMTimer.h80
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.cpp1462
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.h410
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.idl726
-rw-r--r--src/3rdparty/webkit/WebCore/page/DragClient.h81
-rw-r--r--src/3rdparty/webkit/WebCore/page/DragController.cpp825
-rw-r--r--src/3rdparty/webkit/WebCore/page/DragController.h129
-rw-r--r--src/3rdparty/webkit/WebCore/page/EditorClient.h185
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.cpp2850
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventHandler.h437
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventSource.cpp319
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventSource.h134
-rw-r--r--src/3rdparty/webkit/WebCore/page/EventSource.idl66
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.cpp642
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusController.h80
-rw-r--r--src/3rdparty/webkit/WebCore/page/FocusDirection.h41
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.cpp1866
-rw-r--r--src/3rdparty/webkit/WebCore/page/Frame.h377
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameLoadRequest.h66
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameTree.cpp310
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameTree.h88
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.cpp2171
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.h368
-rw-r--r--src/3rdparty/webkit/WebCore/page/Geolocation.cpp661
-rw-r--r--src/3rdparty/webkit/WebCore/page/Geolocation.h183
-rw-r--r--src/3rdparty/webkit/WebCore/page/Geolocation.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/page/GeolocationController.cpp93
-rw-r--r--src/3rdparty/webkit/WebCore/page/GeolocationController.h67
-rw-r--r--src/3rdparty/webkit/WebCore/page/GeolocationControllerClient.h47
-rw-r--r--src/3rdparty/webkit/WebCore/page/GeolocationPositionCache.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/page/GeolocationPositionCache.h58
-rw-r--r--src/3rdparty/webkit/WebCore/page/Geoposition.h61
-rw-r--r--src/3rdparty/webkit/WebCore/page/History.cpp124
-rw-r--r--src/3rdparty/webkit/WebCore/page/History.h68
-rw-r--r--src/3rdparty/webkit/WebCore/page/History.idl50
-rw-r--r--src/3rdparty/webkit/WebCore/page/Location.cpp141
-rw-r--r--src/3rdparty/webkit/WebCore/page/Location.h71
-rw-r--r--src/3rdparty/webkit/WebCore/page/Location.idl67
-rw-r--r--src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/page/MouseEventWithHitTestResults.h50
-rw-r--r--src/3rdparty/webkit/WebCore/page/Navigator.cpp264
-rw-r--r--src/3rdparty/webkit/WebCore/page/Navigator.h78
-rw-r--r--src/3rdparty/webkit/WebCore/page/Navigator.idl57
-rw-r--r--src/3rdparty/webkit/WebCore/page/NavigatorBase.h54
-rw-r--r--src/3rdparty/webkit/WebCore/page/OriginAccessEntry.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/page/OriginAccessEntry.h61
-rw-r--r--src/3rdparty/webkit/WebCore/page/Page.cpp834
-rw-r--r--src/3rdparty/webkit/WebCore/page/Page.h317
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroup.cpp350
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroup.h111
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/page/PageGroupLoadDeferrer.h41
-rw-r--r--src/3rdparty/webkit/WebCore/page/PluginHalter.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/page/PluginHalter.h60
-rw-r--r--src/3rdparty/webkit/WebCore/page/PluginHalterClient.h44
-rw-r--r--src/3rdparty/webkit/WebCore/page/PositionCallback.h43
-rw-r--r--src/3rdparty/webkit/WebCore/page/PositionErrorCallback.h43
-rw-r--r--src/3rdparty/webkit/WebCore/page/PrintContext.cpp204
-rw-r--r--src/3rdparty/webkit/WebCore/page/PrintContext.h67
-rw-r--r--src/3rdparty/webkit/WebCore/page/Screen.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/page/Screen.h64
-rw-r--r--src/3rdparty/webkit/WebCore/page/Screen.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/page/SecurityOrigin.cpp656
-rw-r--r--src/3rdparty/webkit/WebCore/page/SecurityOrigin.h218
-rw-r--r--src/3rdparty/webkit/WebCore/page/SecurityOriginHash.h81
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.cpp592
-rw-r--r--src/3rdparty/webkit/WebCore/page/Settings.h386
-rw-r--r--src/3rdparty/webkit/WebCore/page/SpatialNavigation.cpp563
-rw-r--r--src/3rdparty/webkit/WebCore/page/SpatialNavigation.h140
-rw-r--r--src/3rdparty/webkit/WebCore/page/UserContentURLPattern.cpp226
-rw-r--r--src/3rdparty/webkit/WebCore/page/UserContentURLPattern.h72
-rw-r--r--src/3rdparty/webkit/WebCore/page/UserScript.h66
-rw-r--r--src/3rdparty/webkit/WebCore/page/UserStyleSheet.h62
-rw-r--r--src/3rdparty/webkit/WebCore/page/UserStyleSheetTypes.h42
-rw-r--r--src/3rdparty/webkit/WebCore/page/WebKitPoint.h63
-rw-r--r--src/3rdparty/webkit/WebCore/page/WebKitPoint.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/page/WindowFeatures.cpp188
-rw-r--r--src/3rdparty/webkit/WebCore/page/WindowFeatures.h83
-rw-r--r--src/3rdparty/webkit/WebCore/page/WorkerNavigator.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/page/XSSAuditor.cpp396
-rw-r--r--src/3rdparty/webkit/WebCore/page/XSSAuditor.h165
-rw-r--r--src/3rdparty/webkit/WebCore/page/ZoomMode.h32
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp1291
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationBase.h232
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationController.cpp559
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationController.h80
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationControllerPrivate.h125
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.cpp547
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/CompositeAnimation.h108
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.cpp284
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/ImplicitAnimation.h96
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/KeyframeAnimation.cpp407
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/KeyframeAnimation.h100
-rw-r--r--src/3rdparty/webkit/WebCore/page/qt/DragControllerQt.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/page/qt/EventHandlerQt.cpp142
-rw-r--r--src/3rdparty/webkit/WebCore/page/qt/FrameQt.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/DragControllerWin.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/EventHandlerWin.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/FrameCGWin.cpp116
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/FrameCairoWin.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/FrameWin.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/page/win/FrameWin.h44
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Arena.cpp258
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Arena.h130
-rw-r--r--src/3rdparty/webkit/WebCore/platform/AutodrainedPool.h67
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ColorData.gperf151
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ContentType.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ContextMenu.cpp813
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ContextMenu.h90
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ContextMenuItem.h274
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Cookie.h82
-rw-r--r--src/3rdparty/webkit/WebCore/platform/CookieJar.h49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.cpp68
-rw-r--r--src/3rdparty/webkit/WebCore/platform/CrossThreadCopier.h122
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Cursor.h171
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DeprecatedPtrList.h114
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DeprecatedPtrListImpl.cpp515
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DeprecatedPtrListImpl.h122
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DragData.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DragData.h119
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DragImage.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/platform/DragImage.h103
-rw-r--r--src/3rdparty/webkit/WebCore/platform/EventLoop.h49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/FileChooser.cpp94
-rw-r--r--src/3rdparty/webkit/WebCore/platform/FileChooser.h88
-rw-r--r--src/3rdparty/webkit/WebCore/platform/FileSystem.h170
-rw-r--r--src/3rdparty/webkit/WebCore/platform/FloatConversion.h60
-rw-r--r--src/3rdparty/webkit/WebCore/platform/GeolocationService.cpp76
-rw-r--r--src/3rdparty/webkit/WebCore/platform/GeolocationService.h77
-rw-r--r--src/3rdparty/webkit/WebCore/platform/HostWindow.h67
-rw-r--r--src/3rdparty/webkit/WebCore/platform/KURL.cpp1827
-rw-r--r--src/3rdparty/webkit/WebCore/platform/KURL.h384
-rw-r--r--src/3rdparty/webkit/WebCore/platform/KURLGoogle.cpp1165
-rw-r--r--src/3rdparty/webkit/WebCore/platform/KURLGooglePrivate.h115
-rw-r--r--src/3rdparty/webkit/WebCore/platform/KURLHash.h61
-rw-r--r--src/3rdparty/webkit/WebCore/platform/KeyboardCodes.h572
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Language.h37
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Length.cpp151
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Length.h198
-rw-r--r--src/3rdparty/webkit/WebCore/platform/LengthBox.h85
-rw-r--r--src/3rdparty/webkit/WebCore/platform/LinkHash.cpp221
-rw-r--r--src/3rdparty/webkit/WebCore/platform/LinkHash.h73
-rw-r--r--src/3rdparty/webkit/WebCore/platform/LocalizedStrings.h158
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Logging.cpp135
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Logging.h66
-rw-r--r--src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.cpp456
-rw-r--r--src/3rdparty/webkit/WebCore/platform/MIMETypeRegistry.h85
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Pasteboard.h134
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PlatformKeyboardEvent.h225
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PlatformMenuDescription.h68
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PlatformMouseEvent.h186
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PlatformTouchEvent.h83
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PlatformTouchPoint.h68
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PlatformWheelEvent.h163
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PopupMenu.h198
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PopupMenuClient.h79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PopupMenuStyle.h66
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PurgeableBuffer.h76
-rw-r--r--src/3rdparty/webkit/WebCore/platform/RunLoopTimer.h79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollTypes.h85
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.cpp1077
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.h356
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Scrollbar.cpp503
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Scrollbar.h173
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollbarClient.h73
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollbarTheme.h97
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollbarThemeComposite.cpp305
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SearchPopupMenu.h46
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SecureTextInput.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SecureTextInput.h50
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SharedBuffer.cpp272
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SharedBuffer.h138
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SharedTimer.h75
-rw-r--r--src/3rdparty/webkit/WebCore/platform/StaticConstructors.h80
-rw-r--r--src/3rdparty/webkit/WebCore/platform/SuddenTermination.h44
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThemeTypes.h79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThreadGlobalData.h112
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ThreadTimers.h65
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Timer.h112
-rw-r--r--src/3rdparty/webkit/WebCore/platform/TreeShared.h117
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Widget.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/platform/Widget.h234
-rw-r--r--src/3rdparty/webkit/WebCore/platform/animation/Animation.cpp133
-rw-r--r--src/3rdparty/webkit/WebCore/platform/animation/Animation.h163
-rw-r--r--src/3rdparty/webkit/WebCore/platform/animation/AnimationList.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/platform/animation/AnimationList.h60
-rw-r--r--src/3rdparty/webkit/WebCore/platform/animation/TimingFunction.h84
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cf/BinaryPropertyList.cpp832
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cf/BinaryPropertyList.h110
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cf/FileSystemCF.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cf/KURLCFNet.cpp95
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cf/RunLoopTimerCF.cpp84
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cf/SchedulePair.h88
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cf/SharedBufferCF.cpp94
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cocoa/KeyEventCocoa.h40
-rw-r--r--src/3rdparty/webkit/WebCore/platform/cocoa/KeyEventCocoa.mm700
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.cpp428
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h284
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Color.cpp389
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Color.h166
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ColorSpace.h35
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/DashArray.h39
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint.h160
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint3D.cpp63
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatPoint3D.h64
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatQuad.h152
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatRect.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatRect.h204
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatSize.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FloatSize.h139
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Font.cpp362
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Font.h227
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontCache.cpp473
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontCache.h116
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontData.h65
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontDescription.h154
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontFallbackList.h91
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontFamily.h88
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontFastPath.cpp321
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/FontSelector.h47
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GeneratedImage.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphBuffer.h201
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphMetricsMap.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphMetricsMap.h104
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.cpp422
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GlyphPageTreeNode.h239
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Gradient.cpp205
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Gradient.h153
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.cpp544
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext.h427
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.cpp153
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContext3D.h734
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsContextPrivate.h101
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.cpp492
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsLayer.h412
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsTypes.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/GraphicsTypes.h88
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Icon.h85
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Image.cpp179
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Image.h183
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageBuffer.h112
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/ImageSource.h165
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntPoint.h215
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntPointHash.h48
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntRect.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntRect.h215
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntSize.h185
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/IntSizeHash.h46
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.cpp629
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayer.h280
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/MediaPlayerPrivate.h128
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Path.cpp278
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Path.h161
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/PathTraversalState.cpp207
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/PathTraversalState.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Pattern.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Pattern.h105
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Pen.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Pen.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.cpp209
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/SimpleFontData.h256
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/StringTruncator.cpp198
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/StringTruncator.h46
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/TextRun.h126
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/Tile.h78
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.cpp403
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStore.h127
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/TiledBackingStoreClient.h41
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/WidthIterator.cpp268
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/WidthIterator.h70
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEBlend.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEBlend.h67
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.cpp200
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEColorMatrix.h67
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComponentTransfer.h100
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEComposite.h84
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEGaussianBlur.cpp144
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FEGaussianBlur.h57
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/Filter.h65
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FilterEffect.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/FilterEffect.h117
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/ImageBufferFilter.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/ImageBufferFilter.h57
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/SourceAlpha.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/SourceAlpha.h49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/SourceGraphic.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/filters/SourceGraphic.h50
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/DataSourceGStreamer.cpp243
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/DataSourceGStreamer.h54
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/GOwnPtrGStreamer.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/GOwnPtrGStreamer.h33
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/ImageGStreamer.h62
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp1404
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h177
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp372
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.h79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp757
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.h52
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/opentype/OpenTypeSanitizer.cpp68
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/opentype/OpenTypeUtilities.cpp447
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/openvg/GraphicsContextOpenVG.cpp577
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/openvg/PainterOpenVG.cpp1178
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/openvg/PainterOpenVG.h141
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/openvg/PathOpenVG.cpp502
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/openvg/SurfaceOpenVG.h157
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/openvg/VGUtils.cpp123
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/openvg/VGUtils.h90
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FloatRectQt.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCacheQt.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCustomPlatformData.h46
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontCustomPlatformDataQt.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformData.h167
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp337
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GlyphPageTreeNodeQt.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GradientQt.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp1619
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp1341
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp1492
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.h88
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferData.h48
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp297
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp251
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.h80
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp226
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp542
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h153
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp571
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.h133
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp424
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/SimpleFontDataQt.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/StillImageQt.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/StillImageQt.h59
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/TileQt.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/AffineTransform.cpp378
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/AffineTransform.h187
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/Matrix3DTransformOperation.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/MatrixTransformOperation.h99
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/PerspectiveTransformOperation.h71
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/RotateTransformOperation.h87
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/SkewTransformOperation.h74
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperations.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.cpp1116
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformationMatrix.h356
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/TranslateTransformOperation.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/TranslateTransformOperation.h88
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontCGWin.cpp386
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontCacheWin.cpp557
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformData.cpp203
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformData.h54
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontCustomPlatformDataCairo.h49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp131
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp143
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontPlatformDataWin.cpp95
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/FontWin.cpp113
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp253
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp147
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsContextWin.cpp211
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsLayerCACF.cpp836
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/GraphicsLayerCACF.h142
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/IconWin.cpp101
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/ImageCGWin.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/ImageCairoWin.cpp114
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/IntRectWin.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp972
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h191
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/QTMovieWin.cpp1178
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/QTMovieWin.h127
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/QTMovieWinTimer.h39
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/RefCountedHFONT.h56
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp156
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/SimpleFontDataCairoWin.cpp122
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/SimpleFontDataWin.cpp222
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/UniscribeController.cpp455
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/UniscribeController.h93
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFContextFlusher.cpp88
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFContextFlusher.h60
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayer.cpp557
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayer.h264
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp597
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/win/WKCACFLayerRenderer.h115
-rw-r--r--src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.cpp262
-rw-r--r--src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.h357
-rw-r--r--src/3rdparty/webkit/WebCore/platform/image-decoders/cairo/ImageDecoderCairo.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ClipboardMac.h93
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ClipboardMac.mm423
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ContextMenuItemMac.mm159
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ContextMenuMac.mm158
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/CookieJar.mm180
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/CursorMac.mm356
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/DragDataMac.mm133
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/DragImageMac.mm104
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/EventLoopMac.mm39
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/FileChooserMac.mm55
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/FileSystemMac.mm40
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/FoundationExtras.h75
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/GeolocationServiceMac.h77
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/GeolocationServiceMac.mm221
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/KURLMac.mm71
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/KeyEventMac.mm250
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/Language.mm43
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/LocalCurrentGraphicsContext.h44
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/LocalizedStringsMac.mm830
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/LoggingMac.mm74
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/MIMETypeRegistryMac.mm64
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/PasteboardHelper.h60
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/PasteboardMac.mm397
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/PlatformScreenMac.mm104
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/PopupMenuMac.mm221
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/PurgeableBufferMac.cpp165
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.h38
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/RuntimeApplicationChecks.mm56
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/SSLKeyGeneratorMac.mm49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ScrollViewMac.mm205
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ScrollbarThemeMac.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ScrollbarThemeMac.mm406
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/SearchPopupMenuMac.mm74
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/SharedBufferMac.mm124
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/SharedTimerMac.mm119
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/SoftLinking.h119
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/SuddenTermination.mm45
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.h56
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ThemeMac.mm596
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/ThreadCheck.mm118
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreKeyGenerator.h32
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreKeyGenerator.m63
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreNSStringExtras.h51
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreObjCExtras.mm87
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.h182
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebCoreSystemInterface.mm115
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WebFontCache.mm315
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WheelEventMac.mm54
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mac/WidgetMac.mm365
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mock/GeolocationServiceMock.cpp140
-rw-r--r--src/3rdparty/webkit/WebCore/platform/mock/GeolocationServiceMock.h80
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/Credential.cpp162
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/Credential.h90
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/CredentialStorage.cpp158
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/CredentialStorage.h52
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/DNS.h38
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/FormData.cpp303
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/FormData.h140
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.cpp255
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/FormDataBuilder.h77
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/HTTPHeaderMap.cpp98
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/HTTPHeaderMap.h68
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/HTTPParsers.cpp298
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/HTTPParsers.h61
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h127
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h86
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ProtectionSpaceHash.h75
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceErrorBase.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceErrorBase.h91
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.cpp148
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandle.h216
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h94
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandleInternal.h229
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.cpp403
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h204
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.cpp578
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceResponseBase.h168
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/SocketStreamErrorBase.cpp48
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/SocketStreamErrorBase.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/AuthenticationChallenge.h46
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/DnsPrefetchHelper.h86
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierPrivate.h61
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp539
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.h117
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceHandleQt.cpp221
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequest.h73
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceRequestQt.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/ResourceResponse.h47
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/SocketStreamHandle.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/SocketStreamHandlePrivate.h72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/SocketStreamHandleQt.cpp208
-rw-r--r--src/3rdparty/webkit/WebCore/platform/posix/FileSystemPOSIX.cpp166
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.cpp314
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ClipboardQt.h89
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ContextMenuItemQt.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ContextMenuQt.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/CookieJarQt.cpp142
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/CursorQt.cpp372
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/DragDataQt.cpp143
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/DragImageQt.cpp63
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp171
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/KURLQt.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp533
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/LoggingQt.cpp56
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/MIMETypeRegistryQt.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/Maemo5Webstyle.cpp268
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/Maemo5Webstyle.h47
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PasteboardQt.cpp185
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformKeyboardEventQt.cpp565
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformMouseEventQt.cpp131
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformScreenQt.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PlatformTouchEventQt.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/PopupMenuQt.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/QWebPageClient.h108
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/QtAbstractWebPopup.cpp82
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/QtAbstractWebPopup.h75
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/QtStyleOptionWebComboBox.h59
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp1254
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.h218
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScreenQt.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollViewQt.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp98
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/ScrollbarThemeQt.cpp251
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SearchPopupMenuQt.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SharedBufferQt.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp148
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SoundQt.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/TemporaryLinkStubsQt.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/WidgetQt.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteAuthorizer.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.cpp382
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteDatabase.h143
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.cpp123
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteFileSystem.h114
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteStatement.cpp453
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteStatement.h102
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteTransaction.cpp103
-rw-r--r--src/3rdparty/webkit/WebCore/platform/sql/SQLiteTransaction.h56
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/AtomicString.cpp330
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/AtomicString.h176
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/AtomicStringHash.h64
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/AtomicStringImpl.h36
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/Base64.cpp185
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/Base64.h42
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/BidiContext.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/BidiContext.h62
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/BidiResolver.h982
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/CString.cpp102
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/CString.h79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/CharacterNames.h70
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/PlatformString.h422
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/RegularExpression.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/RegularExpression.h55
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/SegmentedString.cpp202
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/SegmentedString.h176
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/String.cpp966
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringBuffer.h77
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringBuilder.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringBuilder.h60
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringHash.h266
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringImpl.cpp988
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringImpl.h329
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBoundaries.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBoundaries.h43
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBreakIterator.h62
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextBreakIteratorICU.cpp242
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodec.h85
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodecICU.cpp473
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodecICU.h81
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodecLatin1.cpp249
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodecUTF16.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodecUserDefined.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextEncoding.cpp292
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextEncoding.h99
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextEncodingDetectorICU.cpp129
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextEncodingRegistry.cpp319
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextEncodingRegistry.h51
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextStream.cpp126
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextStream.h61
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/cf/StringCF.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/cf/StringImplCF.cpp162
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/mac/StringImplMac.mm33
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/mac/StringMac.mm42
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/mac/TextBoundaries.mm56
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm110
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/mac/TextCodecMac.cpp329
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/StringQt.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/TextBreakIteratorQt.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/qt/TextCodecQt.cpp140
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/wince/TextBoundariesWince.cpp75
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/wince/TextBreakIteratorWince.cpp312
-rw-r--r--src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/platform/win/BitmapInfo.h43
-rw-r--r--src/3rdparty/webkit/WebCore/platform/win/SystemTimeWin.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/platform/win/WebCoreInstanceHandle.h41
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/MimeType.cpp71
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/MimeType.h52
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/MimeType.idl30
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/MimeTypeArray.cpp95
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/MimeTypeArray.h56
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/MimeTypeArray.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/Plugin.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/Plugin.h57
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/Plugin.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginArray.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginArray.h58
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginArray.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginData.cpp63
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginData.h74
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDataNone.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp434
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabase.h107
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDatabaseClient.h42
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDebug.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginDebug.h54
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginInfoStore.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginInfoStore.h48
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginMainThreadScheduler.h86
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginPackage.cpp342
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginPackage.h137
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginPackageNone.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginQuirkSet.h63
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginStream.cpp478
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginStream.h123
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.cpp1397
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginView.h400
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginViewNone.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginWidget.h55
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginDataMac.mm76
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginPackageMac.cpp307
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm836
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginWidgetMac.mm49
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/npapi.cpp177
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/npfunctions.h213
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginContainerQt.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginContainerQt.h63
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginDataQt.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp173
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp909
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/symbian/PluginPackageSymbian.cpp182
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/symbian/PluginViewSymbian.cpp434
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/symbian/npinterface.h37
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginDataWin.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginDatabaseWin.cpp400
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.cpp126
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginMessageThrottlerWin.h72
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginPackageWin.cpp342
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/win/PluginViewWin.cpp1081
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.cpp787
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/AutoTableLayout.h85
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/BidiRun.h65
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/CounterNode.cpp267
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/CounterNode.h98
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/EllipsisBox.cpp124
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/EllipsisBox.h60
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.cpp334
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/FixedTableLayout.h47
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestRequest.h54
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.cpp365
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/HitTestResult.h94
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineBox.cpp292
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineBox.h316
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.cpp1123
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineFlowBox.h236
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineIterator.h266
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineTextBox.cpp1076
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/InlineTextBox.h167
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/LayoutState.cpp122
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/LayoutState.h80
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.cpp747
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/MediaControlElements.h288
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/PointerEventsHitRules.cpp108
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/PointerEventsHitRules.h48
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderApplet.cpp90
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderApplet.h60
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderArena.cpp135
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderArena.h65
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBR.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBR.h67
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlock.cpp5187
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlock.h549
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBlockLineLayout.cpp1970
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBox.cpp2914
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBox.h422
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.cpp1482
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderBoxModelObject.h138
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderButton.cpp198
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderButton.h94
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderCounter.cpp484
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderCounter.h69
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.cpp250
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderDataGrid.h86
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderEmbeddedObject.cpp427
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderEmbeddedObject.h69
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFieldset.cpp277
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFieldset.h66
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.cpp322
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFileUploadControl.h93
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.cpp1084
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFlexibleBox.h66
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderForeignObject.h73
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrame.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrame.h57
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.cpp787
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderFrameSet.h141
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderHTMLCanvas.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderHTMLCanvas.h61
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderImage.cpp661
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderImage.h127
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderImageGeneratedContent.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderImageGeneratedContent.h64
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.cpp1132
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderInline.h176
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp3555
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.h675
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.cpp1248
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerBacking.h189
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.cpp1166
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayerCompositor.h203
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLineBoxList.cpp334
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLineBoxList.h86
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListBox.cpp727
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListBox.h143
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListItem.cpp367
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListItem.h93
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListMarker.cpp1522
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderListMarker.h100
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMarquee.cpp316
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMarquee.h98
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMedia.cpp619
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMedia.h165
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMediaControls.cpp160
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMediaControls.h43
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMediaControlsChromium.cpp306
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMediaControlsChromium.h46
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMenuList.cpp552
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderMenuList.h146
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObject.cpp2595
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObject.h1070
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObjectChildList.cpp432
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderObjectChildList.h68
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderOverflow.h153
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPart.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPart.h65
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPartObject.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPartObject.h59
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPath.cpp328
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderPath.h100
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderProgress.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderProgress.h62
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderReplaced.cpp362
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderReplaced.h81
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderReplica.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderReplica.h57
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRuby.cpp197
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRuby.h91
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRubyBase.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRubyBase.h67
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRubyRun.cpp228
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRubyRun.h85
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRubyText.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderRubyText.h56
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGBlock.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGBlock.h45
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGContainer.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGContainer.h101
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGGradientStop.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGGradientStop.h59
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGHiddenContainer.cpp82
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGHiddenContainer.h62
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.cpp211
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGImage.h85
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInline.h63
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGInlineText.h67
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGModelObject.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGModelObject.h75
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGResource.h85
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGResourceClipper.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGResourceClipper.h61
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGResourceMasker.cpp196
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGResourceMasker.h79
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGRoot.cpp327
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGRoot.h112
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp101
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGShadowTreeRootContainer.h50
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGTSpan.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGTSpan.h38
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGText.cpp245
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGText.h86
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGTextPath.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGTextPath.h64
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGTransformableContainer.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGTransformableContainer.h46
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGViewportContainer.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSVGViewportContainer.h72
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.cpp336
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.h94
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderScrollbarPart.cpp179
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderScrollbarPart.h68
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderScrollbarTheme.cpp140
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSelectionInfo.h104
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSlider.cpp426
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderSlider.h83
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTable.cpp1157
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTable.h216
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCell.cpp898
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCell.h154
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCol.cpp107
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableCol.h86
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableRow.cpp206
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableRow.h87
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableSection.cpp1172
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTableSection.h172
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderText.cpp1422
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderText.h200
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControl.cpp600
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControl.h136
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.cpp147
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlMultiLine.h66
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.cpp863
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextControlSingleLine.h150
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.h64
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTheme.cpp988
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTheme.h311
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumLinux.cpp179
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumLinux.h95
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.h198
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumMac.mm1623
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.cpp771
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumSkia.h156
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.cpp656
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeChromiumWin.h107
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeMac.h200
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.cpp1215
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeSafari.h186
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWin.cpp1017
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWin.h169
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.cpp668
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderThemeWince.h147
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.cpp657
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTreeAsText.h55
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderVideo.cpp282
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderVideo.h91
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderView.cpp713
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderView.h284
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp378
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWidget.h99
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWidgetProtector.h53
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderWordBreak.h46
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RootInlineBox.cpp433
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RootInlineBox.h165
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.cpp535
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGCharacterLayoutInfo.h385
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineFlowBox.h55
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.cpp594
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGInlineTextBox.h96
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGMarkerData.h134
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGMarkerLayoutInfo.cpp124
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGMarkerLayoutInfo.h74
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.cpp333
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRenderSupport.h94
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.cpp630
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRenderTreeAsText.h116
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.cpp1811
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGRootInlineBox.h109
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGShadowTreeElements.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/SVGShadowTreeElements.h67
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TableLayout.h48
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.cpp214
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TextControlInnerElements.h73
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TrailingFloatsRootInlineBox.h48
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TransformState.cpp175
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/TransformState.h135
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/break_lines.cpp142
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/break_lines.h39
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/BindingURI.cpp71
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/BindingURI.h59
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/BorderData.h109
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/BorderValue.h75
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/CollapsedBorderValue.h66
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ContentData.cpp96
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ContentData.h106
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/CounterContent.h62
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/CounterDirectives.h54
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/CursorData.h56
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/CursorList.h59
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/FillLayer.cpp284
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/FillLayer.h199
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/KeyframeList.cpp88
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/KeyframeList.h90
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/NinePieceImage.h70
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/OutlineValue.h56
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.cpp970
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyle.h1207
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/RenderStyleConstants.h408
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.cpp201
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyle.h217
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.cpp235
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/SVGRenderStyleDefs.h314
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ShadowData.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/ShadowData.h80
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleBackgroundData.h59
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleBoxData.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleBoxData.h67
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleCachedImage.cpp92
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleCachedImage.h67
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleGeneratedImage.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleGeneratedImage.h69
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleImage.h81
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.cpp88
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleInheritedData.h79
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleMultiColData.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleMultiColData.h75
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleRareInheritedData.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleRareInheritedData.h77
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleRareNonInheritedData.cpp209
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleRareNonInheritedData.h132
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleVisualData.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/style/StyleVisualData.h67
-rw-r--r--src/3rdparty/webkit/WebCore/storage/ChangeVersionWrapper.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/storage/ChangeVersionWrapper.h59
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.cpp814
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.h195
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Database.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseAuthorizer.cpp393
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseAuthorizer.h112
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseCallback.h53
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseDetails.h82
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTask.cpp184
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTask.h170
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseThread.cpp175
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseThread.h95
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTracker.cpp1051
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTracker.h181
-rw-r--r--src/3rdparty/webkit/WebCore/storage/DatabaseTrackerClient.h49
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBDatabaseError.h64
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBDatabaseError.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBDatabaseException.h64
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBDatabaseException.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBDatabaseRequest.h50
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBDatabaseRequest.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBRequest.cpp64
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBRequest.h88
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IDBRequest.idl45
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IndexedDatabase.cpp49
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IndexedDatabase.h56
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IndexedDatabaseImpl.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IndexedDatabaseImpl.h56
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IndexedDatabaseRequest.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IndexedDatabaseRequest.h65
-rw-r--r--src/3rdparty/webkit/WebCore/storage/IndexedDatabaseRequest.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageTask.cpp75
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageTask.h65
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageThread.cpp104
-rw-r--r--src/3rdparty/webkit/WebCore/storage/LocalStorageThread.h70
-rw-r--r--src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.cpp137
-rw-r--r--src/3rdparty/webkit/WebCore/storage/OriginQuotaManager.h75
-rw-r--r--src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.cpp104
-rw-r--r--src/3rdparty/webkit/WebCore/storage/OriginUsageRecord.h71
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLError.h56
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLError.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLResultSet.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLResultSet.h67
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLResultSet.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLResultSetRowList.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLStatement.cpp205
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLStatement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLStatementCallback.h50
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLStatementErrorCallback.h51
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransaction.cpp590
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransaction.h142
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransaction.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransactionCallback.h51
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransactionClient.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransactionClient.h54
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransactionCoordinator.cpp132
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransactionCoordinator.h69
-rw-r--r--src/3rdparty/webkit/WebCore/storage/SQLTransactionErrorCallback.h50
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Storage.cpp113
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Storage.h70
-rw-r--r--src/3rdparty/webkit/WebCore/storage/Storage.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.cpp236
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaImpl.h84
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaSync.cpp373
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageAreaSync.h99
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEvent.cpp75
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEvent.h71
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEvent.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageEventDispatcher.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageMap.cpp187
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageMap.h77
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespace.cpp52
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespace.h59
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.cpp147
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageNamespaceImpl.h74
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageSyncManager.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/storage/StorageSyncManager.h71
-rw-r--r--src/3rdparty/webkit/WebCore/svg/ColorDistance.cpp94
-rw-r--r--src/3rdparty/webkit/WebCore/svg/ColorDistance.h53
-rw-r--r--src/3rdparty/webkit/WebCore/svg/ElementTimeControl.h49
-rw-r--r--src/3rdparty/webkit/WebCore/svg/ElementTimeControl.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/GradientAttributes.h71
-rw-r--r--src/3rdparty/webkit/WebCore/svg/LinearGradientAttributes.h75
-rw-r--r--src/3rdparty/webkit/WebCore/svg/PatternAttributes.h100
-rw-r--r--src/3rdparty/webkit/WebCore/svg/RadialGradientAttributes.h82
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAElement.cpp226
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAElement.h75
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAElement.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAllInOne.cpp158
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAltGlyphElement.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAltGlyphElement.h60
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAltGlyphElement.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAngle.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAngle.h69
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAngle.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateColorElement.cpp37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateColorElement.h41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateColorElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateElement.cpp287
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateElement.h71
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateMotionElement.cpp247
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateMotionElement.h78
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateTransformElement.cpp208
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateTransformElement.h67
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimateTransformElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedAngle.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedBoolean.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedEnumeration.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedInteger.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedLength.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedLengthList.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedNumber.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedNumberList.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.h46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPathData.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.cpp40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.h44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPoints.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPreserveAspectRatio.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedProperty.h217
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPropertySynchronizer.h98
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedPropertyTraits.h186
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedRect.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedString.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedTemplate.h175
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimatedTransformList.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.cpp548
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.h125
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGAnimationElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGCircleElement.cpp120
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGCircleElement.h63
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGCircleElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.cpp109
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.h59
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGClipPathElement.idl39
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGColor.cpp118
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGColor.h95
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGColor.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGComponentTransferFunctionElement.cpp129
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGComponentTransferFunctionElement.h55
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGComponentTransferFunctionElement.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGCursorElement.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGCursorElement.h68
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGCursorElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDefsElement.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDefsElement.h53
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDefsElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDescElement.cpp46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDescElement.h44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDescElement.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDocument.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDocument.h68
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDocument.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.cpp149
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGDocumentExtensions.h79
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElement.cpp346
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElement.h114
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElement.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstance.cpp160
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstance.h166
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstance.idl103
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstanceList.cpp60
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstanceList.h48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementInstanceList.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElementRareData.h78
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGEllipseElement.cpp130
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGEllipseElement.h64
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGEllipseElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGException.h58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGException.idl41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGExternalResourcesRequired.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGExternalResourcesRequired.h52
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGExternalResourcesRequired.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.h49
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEBlendElement.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.h49
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEColorMatrixElement.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEComponentTransferElement.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.cpp122
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.h52
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFECompositeElement.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.cpp129
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.h59
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDiffuseLightingElement.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.h51
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDisplacementMapElement.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.cpp44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.h38
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEDistantLightElement.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFloodElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.h37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncAElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.h37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncBElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.h37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncGElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.h37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEFuncRElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.cpp98
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.h53
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEGaussianBlurElement.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.cpp146
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.h70
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEImageElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFELightElement.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFELightElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.h41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeNodeElement.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeNodeElement.h45
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMergeNodeElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMorphologyElement.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMorphologyElement.h53
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEMorphologyElement.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.cpp88
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEOffsetElement.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.cpp47
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.h38
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFEPointLightElement.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.cpp132
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpecularLightingElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.cpp54
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.h38
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFESpotLightElement.idl39
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETileElement.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETileElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETileElement.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETurbulenceElement.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETurbulenceElement.h60
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFETurbulenceElement.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFilterElement.cpp227
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFilterElement.h83
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFilterElement.idl47
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp127
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFilterPrimitiveStandardAttributes.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.h50
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFitToViewBox.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFont.cpp594
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontData.cpp45
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontData.h65
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontElement.cpp251
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontElement.h67
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceElement.cpp351
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceElement.h73
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceFormatElement.cpp55
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceFormatElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceFormatElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceNameElement.cpp43
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceNameElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceNameElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceSrcElement.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceSrcElement.h42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceSrcElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceUriElement.cpp105
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceUriElement.h55
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGFontFaceUriElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGForeignObjectElement.cpp138
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGForeignObjectElement.h66
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGForeignObjectElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGElement.h58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGlyphElement.cpp179
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGlyphElement.h131
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGlyphElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGlyphMap.h109
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGradientElement.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGradientElement.h76
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGGradientElement.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGHKernElement.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGHKernElement.h66
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGHKernElement.idl25
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGImageElement.cpp190
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGImageElement.h83
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGImageElement.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGImageLoader.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGImageLoader.h44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLangSpace.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLangSpace.h54
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLangSpace.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLength.cpp324
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLength.h103
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLength.idl50
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLengthList.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLengthList.h46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLengthList.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLineElement.cpp126
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLineElement.h68
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLineElement.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLinearGradientElement.cpp207
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLinearGradientElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLinearGradientElement.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGList.h280
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGListTraits.h73
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLocatable.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLocatable.h62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGLocatable.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMPathElement.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMPathElement.h54
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.cpp231
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.h95
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMarkerElement.idl55
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMaskElement.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMaskElement.h71
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMaskElement.idl42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMatrix.idl50
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.cpp36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.h39
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMetadataElement.idl27
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMissingGlyphElement.cpp34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMissingGlyphElement.h39
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGMissingGlyphElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGNumber.idl30
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGNumberList.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGNumberList.h48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGNumberList.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPaint.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPaint.h100
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPaint.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.cpp862
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGParserUtilities.h71
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathElement.cpp256
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathElement.h113
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathElement.idl113
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSeg.h93
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSeg.idl56
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegArc.h102
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegArcAbs.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegArcRel.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.h47
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegClosePath.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubic.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubic.h96
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicAbs.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicRel.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmooth.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmooth.h83
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmoothAbs.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoCubicSmoothRel.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadratic.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadratic.h83
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticAbs.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticRel.idl40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmooth.h57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLineto.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLineto.h57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoAbs.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontal.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontal.h70
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontalAbs.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoHorizontalRel.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoRel.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVertical.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVertical.h70
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVerticalAbs.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegLinetoVerticalRel.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegList.cpp269
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegList.h51
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegList.idl48
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegMoveto.cpp41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegMoveto.h56
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegMovetoAbs.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPathSegMovetoRel.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPatternElement.cpp355
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPatternElement.h92
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPatternElement.idl45
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPoint.idl34
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPointList.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPointList.h47
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPointList.idl47
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolyElement.cpp122
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolyElement.h64
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolygonElement.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolygonElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolygonElement.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolylineElement.cpp58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolylineElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPolylineElement.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPreserveAspectRatio.cpp332
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPreserveAspectRatio.h95
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGPreserveAspectRatio.idl52
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRadialGradientElement.cpp248
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRadialGradientElement.h58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRadialGradientElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRect.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRectElement.cpp156
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRectElement.h66
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRectElement.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRenderingIntent.h49
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGRenderingIntent.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSVGElement.cpp599
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSVGElement.h165
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSVGElement.idl85
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGScriptElement.cpp237
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGScriptElement.h89
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGScriptElement.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSetElement.cpp35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSetElement.h39
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSetElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStopElement.cpp73
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStopElement.h50
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStopElement.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStringList.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStringList.h45
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStringList.idl47
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStylable.cpp38
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStylable.h46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStylable.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyleElement.cpp134
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyleElement.h67
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyleElement.idl39
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyledElement.cpp333
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyledElement.h83
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyledLocatableElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyledLocatableElement.h51
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyledTransformableElement.cpp126
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGStyledTransformableElement.h71
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.cpp70
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.h54
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSwitchElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.h56
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGSymbolElement.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTRefElement.cpp98
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTRefElement.h53
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTRefElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.h41
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTSpanElement.idl31
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTests.cpp121
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTests.h59
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTests.idl37
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextContentElement.cpp548
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextContentElement.h77
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextContentElement.idl60
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextElement.cpp144
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextElement.h64
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextElement.idl32
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.cpp125
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.h78
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPathElement.idl45
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPositioningElement.cpp112
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPositioningElement.h53
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTextPositioningElement.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTitleElement.cpp57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTitleElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTitleElement.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransform.cpp153
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransform.h91
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransform.idl46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.cpp280
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformDistance.h58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformList.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformList.h53
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformList.idl50
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformable.cpp236
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformable.h61
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGTransformable.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGURIReference.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGURIReference.h49
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGURIReference.idl33
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.h46
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGUnitTypes.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGUseElement.cpp973
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGUseElement.h121
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGUseElement.idl44
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewElement.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewElement.h62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewElement.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewSpec.cpp172
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewSpec.h71
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGViewSpec.idl38
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.h58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGZoomAndPan.idl39
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.cpp82
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.h68
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGZoomEvent.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SMILTime.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SMILTime.h72
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SMILTimeContainer.cpp318
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SMILTimeContainer.h101
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.cpp963
-rw-r--r--src/3rdparty/webkit/WebCore/svg/animation/SVGSMILElement.h197
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.cpp278
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGImage.h81
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.cpp239
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServer.h96
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerGradient.cpp276
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerGradient.h98
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerLinearGradient.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerLinearGradient.h62
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerPattern.cpp183
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerPattern.h85
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerRadialGradient.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerRadialGradient.h66
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerSolid.cpp93
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGPaintServerSolid.h60
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.cpp139
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResource.h96
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceFilter.cpp228
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceFilter.h110
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/SVGResourceMarker.h79
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGDistantLightSource.h59
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEConvolveMatrix.cpp178
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEConvolveMatrix.h96
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDiffuseLighting.cpp136
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDiffuseLighting.h80
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDisplacementMap.cpp167
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEDisplacementMap.h74
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEFlood.cpp91
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEFlood.h57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEImage.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEImage.h51
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMerge.cpp109
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMerge.h54
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMorphology.cpp185
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEMorphology.h67
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEOffset.cpp111
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFEOffset.h58
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFESpecularLighting.cpp148
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFESpecularLighting.h83
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETile.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETile.h50
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETurbulence.cpp146
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFETurbulence.h80
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFilter.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFilter.h60
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp79
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGFilterBuilder.h56
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGLightSource.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGLightSource.h59
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGPointLightSource.h57
-rw-r--r--src/3rdparty/webkit/WebCore/svg/graphics/filters/SVGSpotLightSource.h70
-rw-r--r--src/3rdparty/webkit/WebCore/svg/svgattrs.in252
-rw-r--r--src/3rdparty/webkit/WebCore/svg/svgtags.in110
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/ThreadableWebSocketChannel.h69
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h127
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocket.cpp283
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocket.h119
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocket.idl69
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.cpp286
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketChannel.h92
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketHandshake.cpp504
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketHandshake.h115
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketHandshakeRequest.cpp95
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WebSocketHandshakeRequest.h73
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WorkerThreadableWebSocketChannel.cpp362
-rw-r--r--src/3rdparty/webkit/WebCore/websockets/WorkerThreadableWebSocketChannel.h155
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAElement.cpp171
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAElement.h54
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAccessElement.cpp72
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAccessElement.h44
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAnchorElement.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAnchorElement.h49
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLAttributeNames.in24
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLBRElement.cpp77
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLBRElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLCardElement.cpp347
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLCardElement.h76
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDoElement.cpp189
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDoElement.h66
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDocument.cpp128
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLDocument.h59
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLElement.cpp127
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLElement.h56
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.cpp106
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLErrorHandling.h51
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.cpp97
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLEventHandlingElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLFieldSetElement.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLFieldSetElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLFormControlElement.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLFormControlElement.h54
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLGoElement.cpp222
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLGoElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLImageElement.cpp148
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLImageElement.h58
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLImageLoader.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLImageLoader.h45
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLInputElement.cpp513
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLInputElement.h110
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLInsertedLegendElement.cpp39
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLInsertedLegendElement.h38
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEvent.cpp53
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEvent.h59
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEventHandler.cpp61
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLIntrinsicEventHandler.h59
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLMetaElement.cpp65
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLMetaElement.h45
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLNoopElement.cpp66
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLNoopElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOnEventElement.cpp99
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOnEventElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.cpp170
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptGroupElement.h66
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptionElement.cpp175
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLOptionElement.h69
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPElement.cpp113
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPElement.h48
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPageState.cpp269
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPageState.h79
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.cpp83
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPostfieldElement.h46
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPrevElement.cpp67
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLPrevElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLRefreshElement.cpp80
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLRefreshElement.h40
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSelectElement.cpp550
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSelectElement.h116
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.cpp89
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLSetvarElement.h45
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTableElement.cpp270
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTableElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTagNames.in35
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTaskElement.cpp119
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTaskElement.h58
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTemplateElement.cpp115
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTemplateElement.h43
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTimerElement.cpp156
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLTimerElement.h57
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLVariables.cpp286
-rw-r--r--src/3rdparty/webkit/WebCore/wml/WMLVariables.h46
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.cpp104
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.h83
-rw-r--r--src/3rdparty/webkit/WebCore/workers/AbstractWorker.idl51
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.cpp87
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.h74
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DedicatedWorkerContext.idl54
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DefaultSharedWorkerRepository.cpp417
-rw-r--r--src/3rdparty/webkit/WebCore/workers/DefaultSharedWorkerRepository.h90
-rw-r--r--src/3rdparty/webkit/WebCore/workers/GenericWorkerTask.h481
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.h64
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorker.idl43
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorkerContext.cpp69
-rw-r--r--src/3rdparty/webkit/WebCore/workers/SharedWorkerRepository.h70
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.cpp135
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.h90
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.idl50
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.cpp291
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.h164
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContext.idl95
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerContextProxy.h67
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerLoaderProxy.h64
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerLocation.cpp85
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerLocation.h73
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerLocation.idl47
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.cpp382
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerMessagingProxy.h110
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerReportingProxy.h61
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.cpp210
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerRunLoop.h96
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.cpp168
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerScriptLoader.h84
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerScriptLoaderClient.h49
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerThread.cpp233
-rw-r--r--src/3rdparty/webkit/WebCore/workers/WorkerThread.h106
-rw-r--r--src/3rdparty/webkit/WebCore/xml/DOMParser.cpp42
-rw-r--r--src/3rdparty/webkit/WebCore/xml/DOMParser.h41
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.cpp1003
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.h199
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequest.idl104
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestException.idl49
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestProgressEvent.h61
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestProgressEvent.idl36
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestProgressEventThrottle.cpp154
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestProgressEventThrottle.h81
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestUpload.cpp62
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestUpload.h82
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XMLHttpRequestUpload.idl55
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathEvaluator.h62
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathEvaluator.idl35
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathException.idl49
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathExpression.h66
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathExpressionNode.h103
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathFunctions.cpp733
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathNSResolver.h51
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathNamespace.cpp81
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathNamespace.h63
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathNodeSet.cpp206
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathNodeSet.h84
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathParser.cpp636
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathParser.h131
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathPredicate.h127
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathResult.cpp219
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathResult.h90
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathStep.cpp398
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathStep.h107
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathUtil.cpp100
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathUtil.h56
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathValue.cpp150
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XPathValue.h115
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLImportRule.cpp117
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLImportRule.h72
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLStyleSheet.h116
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLStyleSheetLibxslt.cpp313
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLStyleSheetQt.cpp103
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLTProcessor.cpp174
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLTProcessor.h85
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLTProcessor.idl53
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLTProcessorLibxslt.cpp335
-rw-r--r--src/3rdparty/webkit/WebCore/xml/XSLTProcessorQt.cpp180
-rw-r--r--src/3rdparty/webkit/WebKit.pri83
-rw-r--r--src/3rdparty/webkit/WebKit.pro36
-rw-r--r--src/3rdparty/webkit/WebKit/ChangeLog2212
-rw-r--r--src/3rdparty/webkit/WebKit/mac/Configurations/Version.xcconfig58
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/headers.pri14
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.cpp1445
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qgraphicswebview.h157
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebdatabase_p.h37
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.cpp2025
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebelement.h267
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp1931
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.h234
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe_p.h128
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.cpp557
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory.h115
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistory_p.h69
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebhistoryinterface.cpp127
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebinspector.cpp204
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebinspector_p.h46
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebkitglobal.h49
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebkitversion.cpp114
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp3956
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.h380
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h198
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebplugindatabase.cpp389
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.cpp276
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsecurityorigin.h69
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp1069
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.h159
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp1218
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.h163
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog22273
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp614
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.h187
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp87
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ContextMenuClientQt.h53
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/DragClientQt.cpp116
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/DragClientQt.h46
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditCommandQt.cpp57
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditCommandQt.h50
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp643
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.h122
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp1410
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h231
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp263
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.h94
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp250
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h76
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtMaemoWebPopup.cpp220
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtMaemoWebPopup.h89
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebKit_pch.h80
-rw-r--r--src/3rdparty/webkit/WebKit/qt/declarative/declarative.pro73
-rw-r--r--src/3rdparty/webkit/WebKit/qt/declarative/plugin.cpp43
-rw-r--r--src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp1073
-rw-r--r--src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h373
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc427
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc191
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf197
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp174
-rw-r--r--src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def653
-rw-r--r--src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def772
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.h70
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp230
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.qrc6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp1017
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/qwebframe.pro3
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/testiframe.html54
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/resources/testiframe2.html21
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp3035
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebhistory/tst_qwebhistory.cpp374
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebhistoryinterface/tst_qwebhistoryinterface.cpp94
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/resources/index.html4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp2159
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.qrc10
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp326
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/tests.pri23
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/tests.pro4
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/ChangeLog3465
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/WebCoreSQLite3/sqlite3.h5488
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/WebCoreSQLite3/sqlite3ext.h380
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/WebKitSystemInterface.h462
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/include/WebKitSystemInterface/WebKitSystemInterface.h242
-rwxr-xr-xsrc/3rdparty/webkit/WebKitLibraries/win/tools/WinTools.make3
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/scripts/COPYRIGHT-END-YEAR1
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/scripts/VERSION1
-rwxr-xr-xsrc/3rdparty/webkit/WebKitLibraries/win/tools/scripts/auto-version.sh115
-rwxr-xr-xsrc/3rdparty/webkit/WebKitLibraries/win/tools/scripts/feature-defines.sh31
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops259
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops259
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/WinCairo.vsprops17
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/cURL.vsprops13
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/common.vsprops67
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/debug.vsprops35
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/debug_all.vsprops26
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/debug_wincairo.vsprops35
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/production.vsprops28
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/release.vsprops12
-rw-r--r--src/3rdparty/webkit/WebKitLibraries/win/tools/vsprops/releaseproduction.vsprops38
-rw-r--r--src/3rdparty/webkit/wscript355
-rw-r--r--src/3rdparty/zlib.pri6
-rw-r--r--src/3rdparty/zlib/CMakeLists.txt190
-rw-r--r--src/3rdparty/zlib/ChangeLog355
-rw-r--r--src/3rdparty/zlib/FAQ261
-rw-r--r--src/3rdparty/zlib/INDEX30
-rw-r--r--src/3rdparty/zlib/Makefile154
-rw-r--r--src/3rdparty/zlib/Makefile.in154
-rw-r--r--src/3rdparty/zlib/README86
-rw-r--r--src/3rdparty/zlib/adler32.c38
-rw-r--r--src/3rdparty/zlib/algorithm.txt209
-rw-r--r--src/3rdparty/zlib/compress.c7
-rwxr-xr-xsrc/3rdparty/zlib/configure459
-rw-r--r--src/3rdparty/zlib/crc32.c35
-rw-r--r--src/3rdparty/zlib/deflate.c268
-rw-r--r--src/3rdparty/zlib/deflate.h35
-rw-r--r--src/3rdparty/zlib/doc/algorithm.txt209
-rw-r--r--src/3rdparty/zlib/doc/rfc1950.txt619
-rw-r--r--src/3rdparty/zlib/doc/rfc1951.txt955
-rw-r--r--src/3rdparty/zlib/doc/rfc1952.txt675
-rw-r--r--src/3rdparty/zlib/doc/txtvsbin.txt107
-rw-r--r--src/3rdparty/zlib/example.c4
-rw-r--r--src/3rdparty/zlib/examples/README.examples42
-rw-r--r--src/3rdparty/zlib/examples/fitblk.c233
-rw-r--r--src/3rdparty/zlib/examples/gun.c693
-rw-r--r--src/3rdparty/zlib/examples/gzappend.c500
-rw-r--r--src/3rdparty/zlib/examples/gzjoin.c448
-rw-r--r--src/3rdparty/zlib/examples/gzlog.c413
-rw-r--r--src/3rdparty/zlib/examples/gzlog.h58
-rw-r--r--src/3rdparty/zlib/examples/zlib_how.html523
-rw-r--r--src/3rdparty/zlib/examples/zpipe.c191
-rw-r--r--src/3rdparty/zlib/examples/zran.c404
-rw-r--r--src/3rdparty/zlib/gzclose.c25
-rw-r--r--src/3rdparty/zlib/gzguts.h140
-rw-r--r--src/3rdparty/zlib/gzio.c1026
-rw-r--r--src/3rdparty/zlib/gzlib.c537
-rw-r--r--src/3rdparty/zlib/gzread.c653
-rw-r--r--src/3rdparty/zlib/gzwrite.c531
-rw-r--r--src/3rdparty/zlib/infback.c93
-rw-r--r--src/3rdparty/zlib/inffast.c80
-rw-r--r--src/3rdparty/zlib/inffast.h4
-rw-r--r--src/3rdparty/zlib/inflate.c282
-rw-r--r--src/3rdparty/zlib/inflate.h31
-rw-r--r--src/3rdparty/zlib/inftrees.c63
-rw-r--r--src/3rdparty/zlib/inftrees.h27
-rw-r--r--src/3rdparty/zlib/make_vms.com461
-rw-r--r--src/3rdparty/zlib/minigzip.c134
-rw-r--r--src/3rdparty/zlib/projects/README.projects41
-rw-r--r--src/3rdparty/zlib/projects/visualc6/README.txt73
-rw-r--r--src/3rdparty/zlib/projects/visualc6/example.dsp278
-rw-r--r--src/3rdparty/zlib/projects/visualc6/minigzip.dsp278
-rw-r--r--src/3rdparty/zlib/projects/visualc6/zlib.dsp609
-rw-r--r--src/3rdparty/zlib/projects/visualc6/zlib.dsw59
-rw-r--r--src/3rdparty/zlib/treebuild.xml116
-rw-r--r--src/3rdparty/zlib/trees.c93
-rw-r--r--src/3rdparty/zlib/trees.h4
-rw-r--r--src/3rdparty/zlib/uncompr.c6
-rw-r--r--src/3rdparty/zlib/win32/DLL_FAQ.txt397
-rw-r--r--src/3rdparty/zlib/win32/Makefile.bor107
-rw-r--r--src/3rdparty/zlib/win32/Makefile.emx69
-rw-r--r--src/3rdparty/zlib/win32/Makefile.gcc141
-rw-r--r--src/3rdparty/zlib/win32/Makefile.msc126
-rw-r--r--src/3rdparty/zlib/win32/VisualC.txt3
-rw-r--r--src/3rdparty/zlib/win32/zlib.def60
-rw-r--r--src/3rdparty/zlib/win32/zlib1.rc39
-rw-r--r--src/3rdparty/zlib/zconf.h190
-rw-r--r--src/3rdparty/zlib/zconf.h.cmakein430
-rw-r--r--src/3rdparty/zlib/zconf.h.in428
-rw-r--r--src/3rdparty/zlib/zconf.in.h332
-rw-r--r--src/3rdparty/zlib/zlib.366
-rw-r--r--src/3rdparty/zlib/zlib.3.pdfbin0 -> 8686 bytes-rw-r--r--src/3rdparty/zlib/zlib.h1242
-rw-r--r--src/3rdparty/zlib/zlib.pc.in13
-rw-r--r--src/3rdparty/zlib/zutil.c32
-rw-r--r--src/3rdparty/zlib/zutil.h64
-rw-r--r--src/activeqt/container/qaxbase.cpp12
-rw-r--r--src/activeqt/container/qaxwidget.cpp4
-rw-r--r--src/activeqt/control/qaxserver.cpp2
-rw-r--r--src/activeqt/control/qaxserverbase.cpp16
-rw-r--r--src/activeqt/shared/qaxtypes.cpp28
-rw-r--r--src/corelib/animation/qabstractanimation.cpp160
-rw-r--r--src/corelib/animation/qabstractanimation.h31
-rw-r--r--src/corelib/animation/qabstractanimation_p.h55
-rw-r--r--src/corelib/arch/arch.pri4
-rw-r--r--src/corelib/arch/armv6/arch.pri3
-rw-r--r--src/corelib/arch/integrity/arch.pri3
-rw-r--r--src/corelib/arch/qatomic_arch.h6
-rw-r--r--src/corelib/arch/qatomic_arm.h403
-rw-r--r--src/corelib/arch/qatomic_armv5.h431
-rw-r--r--src/corelib/arch/qatomic_armv6.h161
-rw-r--r--src/corelib/arch/qatomic_armv7.h61
-rw-r--r--src/corelib/arch/qatomic_integrity.h289
-rw-r--r--src/corelib/arch/symbian/arch.pri2
-rw-r--r--src/corelib/arch/symbian/qatomic_generic_armv6.cpp (renamed from src/corelib/arch/armv6/qatomic_generic_armv6.cpp)0
-rw-r--r--src/corelib/arch/symbian/qt_hybridheap_symbian_p.h3
-rw-r--r--src/corelib/codecs/qiconvcodec.cpp38
-rw-r--r--src/corelib/codecs/qtextcodec.cpp6
-rw-r--r--src/corelib/concurrent/qfuture.h2
-rw-r--r--src/corelib/concurrent/qfuturewatcher.cpp23
-rw-r--r--src/corelib/concurrent/qfuturewatcher.h13
-rw-r--r--src/corelib/concurrent/qtconcurrentcompilertest.h20
-rw-r--r--src/corelib/concurrent/qtconcurrentexception.cpp7
-rw-r--r--src/corelib/concurrent/qtconcurrentfilter.h554
-rw-r--r--src/corelib/concurrent/qtconcurrentfunctionwrappers.h112
-rw-r--r--src/corelib/concurrent/qtconcurrentiteratekernel.h5
-rw-r--r--src/corelib/concurrent/qtconcurrentmap.h632
-rw-r--r--src/corelib/concurrent/qtconcurrentrun.h75
-rw-r--r--src/corelib/concurrent/qtconcurrentrunbase.h25
-rw-r--r--src/corelib/concurrent/qtconcurrentstoredfunctioncall.h105
-rw-r--r--src/corelib/concurrent/qthreadpool.cpp35
-rw-r--r--src/corelib/concurrent/qthreadpool.h1
-rw-r--r--src/corelib/concurrent/qthreadpool_p.h2
-rw-r--r--src/corelib/corelib.pro11
-rw-r--r--src/corelib/global/global.pri2
-rw-r--r--src/corelib/global/qconfig-nacl.h371
-rw-r--r--src/corelib/global/qendian.h9
-rw-r--r--src/corelib/global/qfeatures.h13
-rw-r--r--src/corelib/global/qfeatures.txt8
-rw-r--r--src/corelib/global/qglobal.cpp130
-rw-r--r--src/corelib/global/qglobal.h487
-rw-r--r--src/corelib/global/qlibraryinfo.cpp3
-rw-r--r--src/corelib/global/qnamespace.h13
-rw-r--r--src/corelib/global/qnamespace.qdoc45
-rw-r--r--src/corelib/io/io.pri46
-rw-r--r--src/corelib/io/qabstractfileengine.cpp85
-rw-r--r--src/corelib/io/qabstractfileengine_p.h2
-rw-r--r--src/corelib/io/qbuffer.cpp17
-rw-r--r--src/corelib/io/qdatastream.cpp62
-rw-r--r--src/corelib/io/qdatastream.h10
-rw-r--r--src/corelib/io/qdebug.h7
-rw-r--r--src/corelib/io/qdir.cpp436
-rw-r--r--src/corelib/io/qdir.h4
-rw-r--r--src/corelib/io/qdir_p.h98
-rw-r--r--src/corelib/io/qdiriterator.cpp154
-rw-r--r--src/corelib/io/qfile.cpp213
-rw-r--r--src/corelib/io/qfile.h14
-rw-r--r--src/corelib/io/qfile_p.h7
-rw-r--r--src/corelib/io/qfileinfo.cpp234
-rw-r--r--src/corelib/io/qfileinfo.h8
-rw-r--r--src/corelib/io/qfileinfo_p.h31
-rw-r--r--src/corelib/io/qfilesystemengine.cpp391
-rw-r--r--src/corelib/io/qfilesystemengine_mac.cpp48
-rw-r--r--src/corelib/io/qfilesystemengine_p.h133
-rw-r--r--src/corelib/io/qfilesystemengine_symbian.cpp408
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp666
-rw-r--r--src/corelib/io/qfilesystemengine_win.cpp1219
-rw-r--r--src/corelib/io/qfilesystementry.cpp383
-rw-r--r--src/corelib/io/qfilesystementry_p.h126
-rw-r--r--src/corelib/io/qfilesystemiterator_p.h120
-rw-r--r--src/corelib/io/qfilesystemiterator_symbian.cpp127
-rw-r--r--src/corelib/io/qfilesystemiterator_unix.cpp117
-rw-r--r--src/corelib/io/qfilesystemiterator_win.cpp148
-rw-r--r--src/corelib/io/qfilesystemmetadata_p.h400
-rw-r--r--src/corelib/io/qfilesystemwatcher.cpp7
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents.cpp27
-rw-r--r--src/corelib/io/qfilesystemwatcher_fsevents_p.h8
-rw-r--r--src/corelib/io/qfilesystemwatcher_inotify.cpp18
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue.cpp4
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue_p.h2
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian.cpp11
-rw-r--r--src/corelib/io/qfilesystemwatcher_win.cpp3
-rw-r--r--src/corelib/io/qfsfileengine.cpp189
-rw-r--r--src/corelib/io/qfsfileengine.h8
-rw-r--r--src/corelib/io/qfsfileengine_iterator.cpp33
-rw-r--r--src/corelib/io/qfsfileengine_iterator_p.h13
-rw-r--r--src/corelib/io/qfsfileengine_iterator_unix.cpp140
-rw-r--r--src/corelib/io/qfsfileengine_iterator_win.cpp161
-rw-r--r--src/corelib/io/qfsfileengine_p.h70
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp1242
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp1286
-rw-r--r--src/corelib/io/qiodevice.cpp12
-rw-r--r--src/corelib/io/qnoncontiguousbytedevice.cpp14
-rw-r--r--src/corelib/io/qnoncontiguousbytedevice_p.h10
-rw-r--r--src/corelib/io/qprocess.cpp173
-rw-r--r--src/corelib/io/qprocess.h4
-rw-r--r--src/corelib/io/qprocess_p.h112
-rw-r--r--src/corelib/io/qprocess_symbian.cpp20
-rw-r--r--src/corelib/io/qprocess_unix.cpp275
-rw-r--r--src/corelib/io/qprocess_win.cpp63
-rw-r--r--src/corelib/io/qresource.cpp27
-rw-r--r--src/corelib/io/qsettings.cpp37
-rw-r--r--src/corelib/io/qsettings_p.h2
-rw-r--r--src/corelib/io/qtemporaryfile.cpp318
-rw-r--r--src/corelib/io/qtextstream.cpp49
-rw-r--r--src/corelib/io/qtextstream.h3
-rw-r--r--src/corelib/io/qtldurl.cpp117
-rw-r--r--src/corelib/io/qtldurl_p.h66
-rw-r--r--src/corelib/io/qurl.cpp411
-rw-r--r--src/corelib/io/qurl.h10
-rw-r--r--src/corelib/io/qurltlds_p.h6481
-rw-r--r--src/corelib/io/qurltlds_p.h.INFO17
-rw-r--r--src/corelib/kernel/kernel.pri145
-rw-r--r--src/corelib/kernel/qabstracteventdispatcher.cpp67
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp39
-rw-r--r--src/corelib/kernel/qabstractitemmodel.h4
-rw-r--r--src/corelib/kernel/qcore_mac.cpp79
-rw-r--r--src/corelib/kernel/qcore_mac_p.h18
-rw-r--r--src/corelib/kernel/qcore_symbian_p.cpp184
-rw-r--r--src/corelib/kernel/qcore_symbian_p.h152
-rw-r--r--src/corelib/kernel/qcore_unix.cpp3
-rw-r--r--src/corelib/kernel/qcore_unix_p.h9
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp104
-rw-r--r--src/corelib/kernel/qcoreapplication.h18
-rw-r--r--src/corelib/kernel/qcoreapplication_p.h8
-rw-r--r--src/corelib/kernel/qcoreevent.h1
-rw-r--r--src/corelib/kernel/qcrashhandler.cpp3
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp2
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp440
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h54
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix.cpp18
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix_p.h2
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp4
-rw-r--r--src/corelib/kernel/qeventloop.cpp5
-rw-r--r--src/corelib/kernel/qfunctions_nacl.cpp156
-rw-r--r--src/corelib/kernel/qfunctions_nacl.h97
-rw-r--r--src/corelib/kernel/qfunctions_p.h2
-rw-r--r--src/corelib/kernel/qfunctions_wince.h4
-rw-r--r--src/corelib/kernel/qmetaobject.cpp122
-rw-r--r--src/corelib/kernel/qmetaobject.h2
-rw-r--r--src/corelib/kernel/qmetaobject_p.h8
-rw-r--r--src/corelib/kernel/qmetatype.cpp1
-rw-r--r--src/corelib/kernel/qmetatype.h1
-rw-r--r--src/corelib/kernel/qobject.cpp820
-rw-r--r--src/corelib/kernel/qobject.h116
-rw-r--r--src/corelib/kernel/qobject_p.h28
-rw-r--r--src/corelib/kernel/qobjectdefs.h26
-rw-r--r--src/corelib/kernel/qpointer.cpp10
-rw-r--r--src/corelib/kernel/qsharedmemory.cpp158
-rw-r--r--src/corelib/kernel/qsharedmemory.h2
-rw-r--r--src/corelib/kernel/qsharedmemory_p.h17
-rw-r--r--src/corelib/kernel/qsharedmemory_symbian.cpp57
-rw-r--r--src/corelib/kernel/qsharedmemory_unix.cpp202
-rw-r--r--src/corelib/kernel/qsharedmemory_win.cpp76
-rw-r--r--src/corelib/kernel/qsystemerror.cpp220
-rw-r--r--src/corelib/kernel/qsystemerror_p.h107
-rw-r--r--src/corelib/kernel/qsystemsemaphore.cpp7
-rw-r--r--src/corelib/kernel/qsystemsemaphore_p.h17
-rw-r--r--src/corelib/kernel/qsystemsemaphore_symbian.cpp49
-rw-r--r--src/corelib/kernel/qsystemsemaphore_unix.cpp192
-rw-r--r--src/corelib/kernel/qsystemsemaphore_win.cpp17
-rw-r--r--src/corelib/kernel/qtimer.cpp9
-rw-r--r--src/corelib/kernel/qtranslator.cpp154
-rw-r--r--src/corelib/kernel/qtranslator.h6
-rw-r--r--src/corelib/kernel/qvariant.cpp80
-rw-r--r--src/corelib/kernel/qvariant.h36
-rw-r--r--src/corelib/plugin/plugin.pri10
-rw-r--r--src/corelib/plugin/qelfparser_p.cpp240
-rw-r--r--src/corelib/plugin/qelfparser_p.h108
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp4
-rw-r--r--src/corelib/plugin/qlibrary.cpp241
-rw-r--r--src/corelib/plugin/qlibrary_p.h2
-rw-r--r--src/corelib/plugin/qlibrary_unix.cpp36
-rw-r--r--src/corelib/plugin/qplugin.h13
-rw-r--r--src/corelib/plugin/qpluginloader.cpp8
-rw-r--r--src/corelib/plugin/quuid.cpp383
-rw-r--r--src/corelib/plugin/quuid.h6
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp23
-rw-r--r--src/corelib/thread/qmutex.cpp198
-rw-r--r--src/corelib/thread/qmutex.h78
-rw-r--r--src/corelib/thread/qmutex_p.h31
-rw-r--r--src/corelib/thread/qmutex_symbian.cpp101
-rw-r--r--src/corelib/thread/qmutex_unix.cpp110
-rw-r--r--src/corelib/thread/qmutex_win.cpp10
-rw-r--r--src/corelib/thread/qmutexpool.cpp21
-rw-r--r--src/corelib/thread/qmutexpool_p.h10
-rw-r--r--src/corelib/thread/qorderedmutexlocker_p.h14
-rw-r--r--src/corelib/thread/qsemaphore.cpp5
-rw-r--r--src/corelib/thread/qthread.cpp17
-rw-r--r--src/corelib/thread/qthread_p.h27
-rw-r--r--src/corelib/thread/qthread_symbian.cpp621
-rw-r--r--src/corelib/thread/qthread_unix.cpp248
-rw-r--r--src/corelib/thread/qthread_win.cpp59
-rw-r--r--src/corelib/thread/qthreadstorage.cpp59
-rw-r--r--src/corelib/thread/qthreadstorage.h13
-rw-r--r--src/corelib/thread/qwaitcondition_symbian.cpp196
-rw-r--r--src/corelib/thread/qwaitcondition_unix.cpp2
-rw-r--r--src/corelib/thread/thread.pri32
-rw-r--r--src/corelib/tools/qbitarray.cpp7
-rw-r--r--src/corelib/tools/qbitarray.h6
-rw-r--r--src/corelib/tools/qbytearray.cpp64
-rw-r--r--src/corelib/tools/qbytearray.h24
-rw-r--r--src/corelib/tools/qcache.h2
-rw-r--r--src/corelib/tools/qchar.cpp39
-rw-r--r--src/corelib/tools/qchar.h8
-rw-r--r--src/corelib/tools/qcontiguouscache.cpp7
-rw-r--r--src/corelib/tools/qcontiguouscache.h5
-rw-r--r--src/corelib/tools/qdatetime.cpp122
-rw-r--r--src/corelib/tools/qdatetime_p.h6
-rw-r--r--src/corelib/tools/qelapsedtimer.cpp23
-rw-r--r--src/corelib/tools/qelapsedtimer.h4
-rw-r--r--src/corelib/tools/qelapsedtimer_generic.cpp16
-rw-r--r--src/corelib/tools/qelapsedtimer_mac.cpp6
-rw-r--r--src/corelib/tools/qelapsedtimer_symbian.cpp24
-rw-r--r--src/corelib/tools/qelapsedtimer_unix.cpp11
-rw-r--r--src/corelib/tools/qelapsedtimer_win.cpp58
-rw-r--r--src/corelib/tools/qhash.cpp18
-rw-r--r--src/corelib/tools/qhash.h11
-rw-r--r--src/corelib/tools/qline.cpp5
-rw-r--r--src/corelib/tools/qlinkedlist.cpp7
-rw-r--r--src/corelib/tools/qlinkedlist.h5
-rw-r--r--src/corelib/tools/qlist.cpp17
-rw-r--r--src/corelib/tools/qlist.h18
-rw-r--r--src/corelib/tools/qlocale.cpp5555
-rw-r--r--src/corelib/tools/qlocale.h101
-rw-r--r--src/corelib/tools/qlocale.qdoc908
-rw-r--r--src/corelib/tools/qlocale_data_p.h8214
-rw-r--r--src/corelib/tools/qlocale_icu.cpp224
-rw-r--r--src/corelib/tools/qlocale_mac.mm463
-rw-r--r--src/corelib/tools/qlocale_p.h65
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp266
-rw-r--r--src/corelib/tools/qlocale_tools.cpp2961
-rw-r--r--src/corelib/tools/qlocale_tools_p.h122
-rw-r--r--src/corelib/tools/qlocale_unix.cpp226
-rw-r--r--src/corelib/tools/qlocale_win.cpp988
-rw-r--r--src/corelib/tools/qmap.cpp14
-rw-r--r--src/corelib/tools/qmap.h12
-rw-r--r--src/corelib/tools/qpoint.cpp72
-rw-r--r--src/corelib/tools/qpoint.h40
-rw-r--r--src/corelib/tools/qqueue.cpp8
-rw-r--r--src/corelib/tools/qqueue.h1
-rw-r--r--src/corelib/tools/qregexp.cpp11
-rw-r--r--src/corelib/tools/qregexp.h5
-rw-r--r--src/corelib/tools/qscopedpointer.cpp5
-rw-r--r--src/corelib/tools/qscopedpointer.h38
-rw-r--r--src/corelib/tools/qscopedvaluerollback.cpp84
-rw-r--r--src/corelib/tools/qscopedvaluerollback.h81
-rw-r--r--src/corelib/tools/qset.h5
-rw-r--r--src/corelib/tools/qset.qdoc8
-rw-r--r--src/corelib/tools/qshareddata.h26
-rw-r--r--src/corelib/tools/qsharedpointer.cpp26
-rw-r--r--src/corelib/tools/qsharedpointer.h3
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h34
-rw-r--r--src/corelib/tools/qsimd.cpp7
-rw-r--r--src/corelib/tools/qstack.cpp8
-rw-r--r--src/corelib/tools/qstack.h1
-rw-r--r--src/corelib/tools/qstring.cpp1238
-rw-r--r--src/corelib/tools/qstring.h93
-rw-r--r--src/corelib/tools/qstringbuilder.cpp35
-rw-r--r--src/corelib/tools/qstringbuilder.h218
-rw-r--r--src/corelib/tools/qstringlist.cpp9
-rw-r--r--src/corelib/tools/qstringlist.h3
-rw-r--r--src/corelib/tools/qvarlengtharray.h124
-rw-r--r--src/corelib/tools/qvarlengtharray.qdoc222
-rw-r--r--src/corelib/tools/qvector.cpp16
-rw-r--r--src/corelib/tools/qvector.h35
-rw-r--r--src/corelib/tools/tools.pri33
-rw-r--r--src/corelib/xml/qxmlstream.cpp84
-rw-r--r--src/corelib/xml/qxmlstream.h3
-rw-r--r--src/dbus/dbus.pro12
-rw-r--r--src/dbus/qdbus_symbols_p.h28
-rw-r--r--src/dbus/qdbusabstractinterface.cpp11
-rw-r--r--src/dbus/qdbusargument.cpp36
-rw-r--r--src/dbus/qdbusargument.h19
-rw-r--r--src/dbus/qdbusargument_p.h18
-rw-r--r--src/dbus/qdbusconnection.cpp217
-rw-r--r--src/dbus/qdbusconnection.h29
-rw-r--r--src/dbus/qdbusconnection_p.h16
-rw-r--r--src/dbus/qdbusconnectionmanager_p.h88
-rw-r--r--src/dbus/qdbusdemarshaller.cpp43
-rw-r--r--src/dbus/qdbusintegrator.cpp160
-rw-r--r--src/dbus/qdbusintegrator_p.h9
-rw-r--r--src/dbus/qdbusinternalfilters.cpp14
-rw-r--r--src/dbus/qdbusmarshaller.cpp35
-rw-r--r--src/dbus/qdbusmessage.cpp17
-rw-r--r--src/dbus/qdbusmessage_p.h6
-rw-r--r--src/dbus/qdbusmetatype.cpp17
-rw-r--r--src/dbus/qdbusmetatype_p.h1
-rw-r--r--src/dbus/qdbusserver.cpp25
-rw-r--r--src/dbus/qdbusserver.h3
-rw-r--r--src/dbus/qdbusunixfiledescriptor.cpp326
-rw-r--r--src/dbus/qdbusunixfiledescriptor.h103
-rw-r--r--src/dbus/qdbusutil.cpp100
-rw-r--r--src/dbus/qdbusutil_p.h4
-rw-r--r--src/dbus/qdbusvirtualobject.cpp97
-rw-r--r--src/dbus/qdbusvirtualobject.h81
-rw-r--r--src/declarative/debugger/debugger.pri11
-rw-r--r--src/declarative/debugger/qdeclarativedebug.cpp53
-rw-r--r--src/declarative/debugger/qdeclarativedebug_p.h3
-rw-r--r--src/declarative/debugger/qdeclarativedebugserver.cpp75
-rw-r--r--src/declarative/debugger/qdeclarativedebugserver_p.h5
-rw-r--r--src/declarative/debugger/qdeclarativedebugserverconnection_p.h3
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice.cpp10
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice_p.h2
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice_p_p.h2
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace.cpp9
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace_p.h1
-rw-r--r--src/declarative/debugger/qdeclarativeinspectorinterface_p.h69
-rw-r--r--src/declarative/debugger/qdeclarativeinspectorservice.cpp147
-rw-r--r--src/declarative/debugger/qdeclarativeinspectorservice_p.h93
-rw-r--r--src/declarative/debugger/qjsdebuggeragent.cpp614
-rw-r--r--src/declarative/debugger/qjsdebuggeragent_p.h229
-rw-r--r--src/declarative/debugger/qjsdebugservice.cpp259
-rw-r--r--src/declarative/debugger/qjsdebugservice_p.h123
-rw-r--r--src/declarative/debugger/qpacketprotocol.cpp134
-rw-r--r--src/declarative/debugger/qpacketprotocol_p.h2
-rw-r--r--src/declarative/declarative.pro9
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp30
-rw-r--r--src/declarative/graphicsitems/qdeclarativeborderimage.cpp26
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable.cpp75
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview.cpp9
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp44
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview.cpp8
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativepincharea.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativepincharea_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativepincharea_p_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativerepeater.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp31
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit.cpp11
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput.cpp25
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput_p_p.h3
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextlayout.cpp3
-rw-r--r--src/declarative/qml/parser/qdeclarativejsengine_p.h6
-rw-r--r--src/declarative/qml/qdeclarative.h11
-rw-r--r--src/declarative/qml/qdeclarativecompiledbindings.cpp31
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp40
-rw-r--r--src/declarative/qml/qdeclarativecustomparser.cpp2
-rw-r--r--src/declarative/qml/qdeclarativedata_p.h30
-rw-r--r--src/declarative/qml/qdeclarativedirparser.cpp17
-rw-r--r--src/declarative/qml/qdeclarativedirparser_p.h16
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp93
-rw-r--r--src/declarative/qml/qdeclarativeengine_p.h11
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug.cpp34
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeguard_p.h107
-rw-r--r--src/declarative/qml/qdeclarativeimageprovider.cpp14
-rw-r--r--src/declarative/qml/qdeclarativeimport.cpp8
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass.cpp151
-rw-r--r--src/declarative/qml/qdeclarativeparser.cpp4
-rw-r--r--src/declarative/qml/qdeclarativeproperty.cpp5
-rw-r--r--src/declarative/qml/qdeclarativescriptparser.cpp30
-rw-r--r--src/declarative/qml/qdeclarativesqldatabase.cpp14
-rw-r--r--src/declarative/qml/qdeclarativestringconverters.cpp2
-rw-r--r--src/declarative/qml/qdeclarativetypeloader.cpp24
-rw-r--r--src/declarative/qml/qdeclarativetypenamescriptclass.cpp2
-rw-r--r--src/declarative/qml/qdeclarativevaluetype.cpp3
-rw-r--r--src/declarative/qml/qdeclarativevme.cpp72
-rw-r--r--src/declarative/qml/qdeclarativevme_p.h32
-rw-r--r--src/declarative/qml/qdeclarativewatcher.cpp3
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript.cpp2
-rw-r--r--src/declarative/qml/qdeclarativexmlhttprequest.cpp23
-rw-r--r--src/declarative/qml/qmetaobjectbuilder.cpp59
-rw-r--r--src/declarative/qml/qmetaobjectbuilder_p.h6
-rw-r--r--src/declarative/qml/qperformancetimer.cpp2
-rw-r--r--src/declarative/qml/qperformancetimer_p.h2
-rw-r--r--src/declarative/util/qdeclarativeanimation.cpp14
-rw-r--r--src/declarative/util/qdeclarativeanimation_p_p.h3
-rw-r--r--src/declarative/util/qdeclarativeapplication.cpp2
-rw-r--r--src/declarative/util/qdeclarativeapplication_p.h2
-rw-r--r--src/declarative/util/qdeclarativebind.cpp3
-rw-r--r--src/declarative/util/qdeclarativelistmodel.cpp6
-rw-r--r--src/declarative/util/qdeclarativestate_p_p.h4
-rw-r--r--src/declarative/util/qdeclarativestategroup.cpp35
-rw-r--r--src/declarative/util/qdeclarativestateoperations_p.h4
-rw-r--r--src/declarative/util/qdeclarativetransition.cpp30
-rw-r--r--src/declarative/util/qdeclarativetransitionmanager.cpp6
-rw-r--r--src/declarative/util/qdeclarativeview.cpp30
-rw-r--r--src/declarative/util/qdeclarativexmllistmodel.cpp317
-rw-r--r--src/gui/accessible/accessible.pri2
-rw-r--r--src/gui/accessible/qaccessible.cpp153
-rw-r--r--src/gui/accessible/qaccessible.h46
-rw-r--r--src/gui/accessible/qaccessible2.cpp112
-rw-r--r--src/gui/accessible/qaccessible2.h112
-rw-r--r--src/gui/accessible/qaccessible_mac.mm4
-rw-r--r--src/gui/accessible/qaccessible_unix.cpp11
-rw-r--r--src/gui/accessible/qaccessible_win.cpp246
-rw-r--r--src/gui/accessible/qaccessibleobject.cpp6
-rw-r--r--src/gui/accessible/qaccessiblewidget.cpp13
-rw-r--r--src/gui/dialogs/dialogs.pri4
-rw-r--r--src/gui/dialogs/qcolordialog_mac.mm9
-rw-r--r--src/gui/dialogs/qdialog.cpp6
-rw-r--r--src/gui/dialogs/qfiledialog.cpp85
-rw-r--r--src/gui/dialogs/qfiledialog_mac.mm17
-rw-r--r--src/gui/dialogs/qfiledialog_symbian.cpp4
-rw-r--r--src/gui/dialogs/qfiledialog_win.cpp3
-rw-r--r--src/gui/dialogs/qfileinfogatherer.cpp6
-rw-r--r--src/gui/dialogs/qfileinfogatherer_p.h3
-rw-r--r--src/gui/dialogs/qfilesystemmodel.cpp25
-rw-r--r--src/gui/dialogs/qfilesystemmodel.h4
-rw-r--r--src/gui/dialogs/qfontdialog_mac.mm7
-rw-r--r--src/gui/dialogs/qinputdialog.cpp32
-rw-r--r--src/gui/dialogs/qinputdialog.h25
-rw-r--r--src/gui/dialogs/qmessagebox.cpp10
-rw-r--r--src/gui/dialogs/qnspanelproxy_mac.mm87
-rw-r--r--src/gui/dialogs/qpagesetupdialog_mac.mm4
-rw-r--r--src/gui/egl/egl.pri28
-rw-r--r--src/gui/egl/qegl.cpp2
-rw-r--r--src/gui/egl/qegl_p.h10
-rw-r--r--src/gui/egl/qegl_qpa.cpp111
-rw-r--r--src/gui/egl/qegl_x11.cpp11
-rw-r--r--src/gui/embedded/embedded.pri18
-rw-r--r--src/gui/embedded/qkbd_defaultmap_qws_p.h8
-rw-r--r--src/gui/embedded/qkbd_qws.cpp24
-rw-r--r--src/gui/embedded/qkbddriverfactory_qws.cpp8
-rw-r--r--src/gui/embedded/qkbdintegrity_qws.cpp197
-rw-r--r--src/gui/embedded/qkbdintegrity_qws.h81
-rw-r--r--src/gui/embedded/qkbdlinuxinput_qws.cpp4
-rw-r--r--src/gui/embedded/qkbdqnx_qws.cpp257
-rw-r--r--src/gui/embedded/qkbdum_qws.cpp2
-rw-r--r--src/gui/embedded/qlock.cpp283
-rw-r--r--src/gui/embedded/qmousedriverfactory_qws.cpp8
-rw-r--r--src/gui/embedded/qmouseintegrity_qws.cpp271
-rw-r--r--src/gui/embedded/qmouseintegrity_qws.h82
-rw-r--r--src/gui/embedded/qmouselinuxinput_qws.cpp31
-rw-r--r--src/gui/embedded/qmousepc_qws.cpp2
-rw-r--r--src/gui/embedded/qmouseqnx_qws.cpp96
-rw-r--r--src/gui/embedded/qmouseqnx_qws.h2
-rw-r--r--src/gui/embedded/qscreen_qws.cpp3
-rw-r--r--src/gui/embedded/qscreen_qws.h10
-rw-r--r--src/gui/embedded/qscreendriverfactory_qws.cpp8
-rw-r--r--src/gui/embedded/qscreenintegrityfb_qws.cpp405
-rw-r--r--src/gui/embedded/qscreenintegrityfb_qws.h83
-rw-r--r--src/gui/embedded/qscreenlinuxfb_qws.cpp5
-rw-r--r--src/gui/embedded/qscreenqnx_qws.cpp409
-rw-r--r--src/gui/embedded/qscreenqnx_qws.h1
-rw-r--r--src/gui/embedded/qwindowsystem_qws.cpp26
-rw-r--r--src/gui/embedded/qwslock.cpp247
-rw-r--r--src/gui/embedded/qwslock_p.h22
-rw-r--r--src/gui/embedded/qwssharedmemory.cpp209
-rw-r--r--src/gui/embedded/qwssharedmemory_p.h39
-rw-r--r--src/gui/embedded/qwssignalhandler.cpp60
-rw-r--r--src/gui/embedded/qwssignalhandler_p.h22
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout_p.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsgridlayout.cpp14
-rw-r--r--src/gui/graphicsview/qgraphicsgridlayout.h3
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp66
-rw-r--r--src/gui/graphicsview/qgraphicsitemanimation.cpp22
-rw-r--r--src/gui/graphicsview/qgraphicslayout.cpp14
-rw-r--r--src/gui/graphicsview/qgraphicslayout_p.cpp12
-rw-r--r--src/gui/graphicsview/qgraphicslayout_p.h8
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.cpp7
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.h2
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp69
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscenebsptreeindex.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp12
-rw-r--r--src/gui/graphicsview/qgraphicsview_p.h34
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.cpp42
-rw-r--r--src/gui/graphicsview/qgraphicswidget_p.h2
-rw-r--r--src/gui/graphicsview/qgridlayoutengine.cpp11
-rw-r--r--src/gui/graphicsview/qgridlayoutengine_p.h1
-rw-r--r--src/gui/gui.pro15
-rw-r--r--src/gui/image/image.pri5
-rw-r--r--src/gui/image/qbitmap.cpp8
-rw-r--r--src/gui/image/qbitmap.h1
-rw-r--r--src/gui/image/qbmphandler.cpp64
-rw-r--r--src/gui/image/qicon.cpp8
-rw-r--r--src/gui/image/qicon.h6
-rw-r--r--src/gui/image/qimage.cpp157
-rw-r--r--src/gui/image/qimage.h23
-rw-r--r--src/gui/image/qimage_p.h37
-rw-r--r--src/gui/image/qimagereader.cpp2
-rw-r--r--src/gui/image/qmnghandler.cpp2
-rw-r--r--src/gui/image/qmovie.cpp6
-rw-r--r--src/gui/image/qnativeimage.cpp30
-rw-r--r--src/gui/image/qpaintengine_pic.cpp2
-rw-r--r--src/gui/image/qpicture.cpp11
-rw-r--r--src/gui/image/qpicture.h5
-rw-r--r--src/gui/image/qpixmap.cpp67
-rw-r--r--src/gui/image/qpixmap.h16
-rw-r--r--src/gui/image/qpixmap_blitter.cpp310
-rw-r--r--src/gui/image/qpixmap_blitter_p.h166
-rw-r--r--src/gui/image/qpixmap_mac.cpp17
-rw-r--r--src/gui/image/qpixmap_qpa.cpp49
-rw-r--r--src/gui/image/qpixmap_raster.cpp13
-rw-r--r--src/gui/image/qpixmap_raster_symbian.cpp1
-rw-r--r--src/gui/image/qpixmap_x11.cpp12
-rw-r--r--src/gui/image/qpixmapdata_p.h3
-rw-r--r--src/gui/image/qpixmapdatafactory.cpp5
-rw-r--r--src/gui/image/qpnghandler.cpp133
-rw-r--r--src/gui/image/qtiffhandler.cpp21
-rw-r--r--src/gui/image/qvolatileimagedata.cpp1
-rw-r--r--src/gui/image/qxpmhandler.cpp32
-rw-r--r--src/gui/inputmethod/inputmethod.pri2
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp7
-rw-r--r--src/gui/itemviews/itemviews.pri2
-rw-r--r--src/gui/itemviews/qabstractitemdelegate.cpp4
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp244
-rw-r--r--src/gui/itemviews/qabstractitemview.h1
-rw-r--r--src/gui/itemviews/qabstractitemview_p.h36
-rw-r--r--src/gui/itemviews/qabstractproxymodel.cpp105
-rw-r--r--src/gui/itemviews/qabstractproxymodel.h12
-rw-r--r--src/gui/itemviews/qfileiconprovider.cpp2
-rw-r--r--src/gui/itemviews/qheaderview.cpp22
-rw-r--r--src/gui/itemviews/qidentityproxymodel.cpp587
-rw-r--r--src/gui/itemviews/qidentityproxymodel.h120
-rw-r--r--src/gui/itemviews/qitemdelegate.cpp10
-rw-r--r--src/gui/itemviews/qitemselectionmodel.cpp28
-rw-r--r--src/gui/itemviews/qitemselectionmodel.h24
-rw-r--r--src/gui/itemviews/qlistview.cpp138
-rw-r--r--src/gui/itemviews/qlistview_p.h9
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.cpp4
-rw-r--r--src/gui/itemviews/qstringlistmodel.cpp3
-rw-r--r--src/gui/itemviews/qstyleditemdelegate.cpp9
-rw-r--r--src/gui/itemviews/qtableview.cpp52
-rw-r--r--src/gui/itemviews/qtableview.h1
-rw-r--r--src/gui/itemviews/qtableview_p.h5
-rw-r--r--src/gui/itemviews/qtreeview.cpp89
-rw-r--r--src/gui/itemviews/qtreeview.h3
-rw-r--r--src/gui/itemviews/qtreeview_p.h6
-rw-r--r--src/gui/kernel/kernel.pri77
-rw-r--r--src/gui/kernel/mac.pri2
-rw-r--r--src/gui/kernel/qactiongroup.cpp4
-rw-r--r--src/gui/kernel/qapplication.cpp118
-rw-r--r--src/gui/kernel/qapplication.h18
-rw-r--r--src/gui/kernel/qapplication_mac.mm159
-rw-r--r--src/gui/kernel/qapplication_p.h62
-rw-r--r--src/gui/kernel/qapplication_qpa.cpp984
-rw-r--r--src/gui/kernel/qapplication_qws.cpp36
-rw-r--r--src/gui/kernel/qapplication_s60.cpp60
-rw-r--r--src/gui/kernel/qapplication_win.cpp96
-rw-r--r--src/gui/kernel/qapplication_x11.cpp75
-rw-r--r--src/gui/kernel/qclipboard.cpp2
-rw-r--r--src/gui/kernel/qclipboard.h1
-rw-r--r--src/gui/kernel/qclipboard_qpa.cpp105
-rw-r--r--src/gui/kernel/qcocoaapplication_mac.mm87
-rw-r--r--src/gui/kernel/qcocoaapplication_mac_p.h8
-rw-r--r--src/gui/kernel/qcocoaapplicationdelegate_mac.mm29
-rw-r--r--src/gui/kernel/qcocoaintrospection_mac.mm125
-rw-r--r--src/gui/kernel/qcocoaintrospection_p.h84
-rw-r--r--src/gui/kernel/qcocoamenuloader_mac.mm12
-rw-r--r--src/gui/kernel/qcocoapanel_mac.mm7
-rw-r--r--src/gui/kernel/qcocoapanel_mac_p.h16
-rw-r--r--src/gui/kernel/qcocoasharedwindowmethods_mac_p.h430
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm997
-rw-r--r--src/gui/kernel/qcocoaview_mac_p.h30
-rw-r--r--src/gui/kernel/qcocoawindow_mac.mm4
-rw-r--r--src/gui/kernel/qcocoawindow_mac_p.h17
-rw-r--r--src/gui/kernel/qcocoawindowdelegate_mac.mm23
-rw-r--r--src/gui/kernel/qcursor.h11
-rw-r--r--src/gui/kernel/qcursor_mac.mm128
-rw-r--r--src/gui/kernel/qcursor_p.h2
-rw-r--r--src/gui/kernel/qcursor_qpa.cpp127
-rw-r--r--src/gui/kernel/qcursor_x11.cpp3
-rw-r--r--src/gui/kernel/qdesktopwidget_qpa.cpp176
-rw-r--r--src/gui/kernel/qdesktopwidget_qpa_p.h81
-rw-r--r--src/gui/kernel/qdesktopwidget_win.cpp14
-rw-r--r--src/gui/kernel/qdnd_mac.mm4
-rw-r--r--src/gui/kernel/qdnd_p.h6
-rw-r--r--src/gui/kernel/qdnd_x11.cpp28
-rw-r--r--src/gui/kernel/qevent.cpp79
-rw-r--r--src/gui/kernel/qevent.h9
-rw-r--r--src/gui/kernel/qevent_p.h8
-rw-r--r--src/gui/kernel/qeventdispatcher_glib_qpa.cpp147
-rw-r--r--src/gui/kernel/qeventdispatcher_glib_qpa_p.h88
-rw-r--r--src/gui/kernel/qeventdispatcher_mac.mm65
-rw-r--r--src/gui/kernel/qeventdispatcher_qpa.cpp334
-rw-r--r--src/gui/kernel/qeventdispatcher_qpa_p.h86
-rw-r--r--src/gui/kernel/qeventdispatcher_s60.cpp66
-rw-r--r--src/gui/kernel/qeventdispatcher_s60_p.h27
-rw-r--r--src/gui/kernel/qgenericplugin_qpa.cpp113
-rw-r--r--src/gui/kernel/qgenericplugin_qpa.h84
-rw-r--r--src/gui/kernel/qgenericpluginfactory_qpa.cpp115
-rw-r--r--src/gui/kernel/qgenericpluginfactory_qpa.h67
-rw-r--r--src/gui/kernel/qgesturemanager.cpp42
-rw-r--r--src/gui/kernel/qguifunctions_wince.cpp5
-rw-r--r--src/gui/kernel/qguiplatformplugin.cpp2
-rw-r--r--src/gui/kernel/qkeymapper_p.h3
-rw-r--r--src/gui/kernel/qkeymapper_s60.cpp240
-rw-r--r--src/gui/kernel/qkeysequence.cpp19
-rw-r--r--src/gui/kernel/qkeysequence.h5
-rw-r--r--src/gui/kernel/qlayoutitem.cpp4
-rw-r--r--src/gui/kernel/qmacdefines_mac.h12
-rw-r--r--src/gui/kernel/qmime_mac.cpp4
-rw-r--r--src/gui/kernel/qpalette.h8
-rw-r--r--src/gui/kernel/qplatformclipboard_qpa.cpp112
-rw-r--r--src/gui/kernel/qplatformclipboard_qpa.h74
-rw-r--r--src/gui/kernel/qplatformcursor_qpa.cpp639
-rw-r--r--src/gui/kernel/qplatformcursor_qpa.h103
-rw-r--r--src/gui/kernel/qplatformeventloopintegration_qpa.cpp86
-rw-r--r--src/gui/kernel/qplatformeventloopintegration_qpa.h82
-rw-r--r--src/gui/kernel/qplatformglcontext_qpa.cpp209
-rw-r--r--src/gui/kernel/qplatformglcontext_qpa.h91
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.cpp225
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.h107
-rw-r--r--src/gui/kernel/qplatformintegrationfactory_qpa.cpp109
-rw-r--r--src/gui/kernel/qplatformintegrationfactory_qpa_p.h78
-rw-r--r--src/gui/kernel/qplatformintegrationplugin_qpa.cpp55
-rw-r--r--src/gui/kernel/qplatformintegrationplugin_qpa.h92
-rw-r--r--src/gui/kernel/qplatformnativeinterface_qpa.cpp53
-rw-r--r--src/gui/kernel/qplatformnativeinterface_qpa.h65
-rw-r--r--src/gui/kernel/qplatformscreen_qpa.cpp132
-rw-r--r--src/gui/kernel/qplatformscreen_qpa.h86
-rw-r--r--src/gui/kernel/qplatformwindow_qpa.cpp229
-rw-r--r--src/gui/kernel/qplatformwindow_qpa.h95
-rw-r--r--src/gui/kernel/qplatformwindowformat_qpa.cpp998
-rw-r--r--src/gui/kernel/qplatformwindowformat_qpa.h234
-rw-r--r--src/gui/kernel/qsessionmanager_qpa.cpp174
-rw-r--r--src/gui/kernel/qsessionmanager_qws.cpp3
-rw-r--r--src/gui/kernel/qsizepolicy.h21
-rw-r--r--src/gui/kernel/qsizepolicy.qdoc26
-rw-r--r--src/gui/kernel/qsoftkeymanager.cpp14
-rw-r--r--src/gui/kernel/qsoftkeymanager_common_p.h2
-rw-r--r--src/gui/kernel/qsoftkeymanager_s60.cpp40
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm714
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h130
-rw-r--r--src/gui/kernel/qt_mac.cpp1
-rw-r--r--src/gui/kernel/qt_s60_p.h27
-rw-r--r--src/gui/kernel/qtooltip.cpp2
-rw-r--r--src/gui/kernel/qwidget.cpp183
-rw-r--r--src/gui/kernel/qwidget.h27
-rw-r--r--src/gui/kernel/qwidget_mac.mm890
-rw-r--r--src/gui/kernel/qwidget_p.h33
-rw-r--r--src/gui/kernel/qwidget_qpa.cpp906
-rw-r--r--src/gui/kernel/qwidget_s60.cpp8
-rw-r--r--src/gui/kernel/qwidget_win.cpp28
-rw-r--r--src/gui/kernel/qwidget_x11.cpp76
-rw-r--r--src/gui/kernel/qwindowdefs.h6
-rw-r--r--src/gui/kernel/qwindowsysteminterface_qpa.cpp291
-rw-r--r--src/gui/kernel/qwindowsysteminterface_qpa.h107
-rw-r--r--src/gui/kernel/qwindowsysteminterface_qpa_p.h208
-rw-r--r--src/gui/kernel/qx11embed_x11.cpp12
-rw-r--r--src/gui/math3d/qgenericmatrix.h6
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp14
-rw-r--r--src/gui/math3d/qmatrix4x4.h22
-rw-r--r--src/gui/painting/painting.pri42
-rw-r--r--src/gui/painting/qbackingstore.cpp59
-rw-r--r--src/gui/painting/qbackingstore_p.h5
-rw-r--r--src/gui/painting/qbezier.cpp49
-rw-r--r--src/gui/painting/qbezier_p.h36
-rw-r--r--src/gui/painting/qblendfunctions.cpp4
-rw-r--r--src/gui/painting/qblendfunctions_p.h8
-rw-r--r--src/gui/painting/qblittable.cpp105
-rw-r--r--src/gui/painting/qblittable_p.h91
-rw-r--r--src/gui/painting/qbrush.cpp200
-rw-r--r--src/gui/painting/qbrush.h18
-rw-r--r--src/gui/painting/qcolor.cpp133
-rw-r--r--src/gui/painting/qcolor_p.cpp36
-rw-r--r--src/gui/painting/qcolormap_qpa.cpp231
-rw-r--r--src/gui/painting/qcosmeticstroker.cpp1010
-rw-r--r--src/gui/painting/qcosmeticstroker_p.h152
-rw-r--r--src/gui/painting/qdrawhelper.cpp306
-rw-r--r--src/gui/painting/qdrawhelper_neon.cpp40
-rw-r--r--src/gui/painting/qdrawhelper_p.h256
-rw-r--r--src/gui/painting/qdrawhelper_sse2.cpp56
-rw-r--r--src/gui/painting/qdrawingprimitive_sse2_p.h4
-rw-r--r--src/gui/painting/qdrawutil.cpp179
-rw-r--r--src/gui/painting/qemulationpaintengine.cpp41
-rw-r--r--src/gui/painting/qemulationpaintengine_p.h5
-rw-r--r--src/gui/painting/qgraphicssystem.cpp5
-rw-r--r--src/gui/painting/qgraphicssystem_p.h6
-rw-r--r--src/gui/painting/qgraphicssystem_runtime.cpp5
-rw-r--r--src/gui/painting/qgraphicssystem_runtime_p.h2
-rw-r--r--src/gui/painting/qgraphicssystemfactory.cpp4
-rw-r--r--src/gui/painting/qgrayraster.c35
-rw-r--r--src/gui/painting/qgrayraster_p.h2
-rw-r--r--src/gui/painting/qpaintbuffer.cpp79
-rw-r--r--src/gui/painting/qpaintdevice.cpp2
-rw-r--r--src/gui/painting/qpaintdevice_qpa.cpp68
-rw-r--r--src/gui/painting/qpaintengine.cpp1
-rw-r--r--src/gui/painting/qpaintengine.h4
-rw-r--r--src/gui/painting/qpaintengine_alpha.cpp4
-rw-r--r--src/gui/painting/qpaintengine_blitter.cpp663
-rw-r--r--src/gui/painting/qpaintengine_blitter_p.h113
-rw-r--r--src/gui/painting/qpaintengine_mac.cpp10
-rw-r--r--src/gui/painting/qpaintengine_mac_p.h7
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp1918
-rw-r--r--src/gui/painting/qpaintengine_raster_p.h11
-rw-r--r--src/gui/painting/qpaintengine_x11.cpp7
-rw-r--r--src/gui/painting/qpaintengineex.cpp109
-rw-r--r--src/gui/painting/qpaintengineex_p.h7
-rw-r--r--src/gui/painting/qpainter.cpp270
-rw-r--r--src/gui/painting/qpainter.h10
-rw-r--r--src/gui/painting/qpainter_p.h11
-rw-r--r--src/gui/painting/qpainterpath.cpp20
-rw-r--r--src/gui/painting/qpainterpath.h5
-rw-r--r--src/gui/painting/qpdf.cpp6
-rw-r--r--src/gui/painting/qpen.cpp8
-rw-r--r--src/gui/painting/qpen.h5
-rw-r--r--src/gui/painting/qpolygon.cpp16
-rw-r--r--src/gui/painting/qpolygon.h3
-rw-r--r--src/gui/painting/qprintengine_mac.mm1
-rw-r--r--src/gui/painting/qprintengine_pdf.cpp7
-rw-r--r--src/gui/painting/qprinterinfo.cpp177
-rw-r--r--src/gui/painting/qprinterinfo.h15
-rw-r--r--src/gui/painting/qprinterinfo.qdoc125
-rw-r--r--src/gui/painting/qprinterinfo_mac.cpp185
-rw-r--r--src/gui/painting/qprinterinfo_p.h107
-rw-r--r--src/gui/painting/qprinterinfo_unix.cpp411
-rw-r--r--src/gui/painting/qprinterinfo_win.cpp193
-rw-r--r--src/gui/painting/qregion.cpp12
-rw-r--r--src/gui/painting/qregion.h12
-rw-r--r--src/gui/painting/qstroker.cpp41
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp204
-rw-r--r--src/gui/painting/qtextureglyphcache_p.h49
-rw-r--r--src/gui/painting/qtransform.cpp3
-rw-r--r--src/gui/painting/qunifiedtoolbarsurface_mac.cpp263
-rw-r--r--src/gui/painting/qunifiedtoolbarsurface_mac_p.h140
-rw-r--r--src/gui/painting/qwindowsurface.cpp70
-rw-r--r--src/gui/painting/qwindowsurface_mac.cpp2
-rw-r--r--src/gui/painting/qwindowsurface_p.h30
-rw-r--r--src/gui/painting/qwindowsurface_qws.cpp80
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp109
-rw-r--r--src/gui/painting/qwindowsurface_raster_p.h17
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp10
-rw-r--r--src/gui/painting/qwindowsurface_s60_p.h2
-rw-r--r--src/gui/painting/qwindowsurface_x11.cpp17
-rw-r--r--src/gui/painting/qwindowsurface_x11_p.h2
-rw-r--r--src/gui/s60framework/qs60keycapture.cpp308
-rw-r--r--src/gui/s60framework/qs60keycapture_p.h116
-rw-r--r--src/gui/s60framework/qs60mainappui.cpp28
-rw-r--r--src/gui/s60framework/qs60mainappui.h1
-rw-r--r--src/gui/s60framework/qs60maindocument.cpp20
-rw-r--r--src/gui/s60framework/s60framework.pri21
-rw-r--r--src/gui/styles/qcleanlooksstyle.cpp60
-rw-r--r--src/gui/styles/qcommonstyle.cpp20
-rw-r--r--src/gui/styles/qgtkpainter.cpp5
-rw-r--r--src/gui/styles/qgtkstyle.cpp51
-rw-r--r--src/gui/styles/qgtkstyle_p.cpp8
-rw-r--r--src/gui/styles/qgtkstyle_p.h8
-rw-r--r--src/gui/styles/qmacstyle_mac.mm111
-rw-r--r--src/gui/styles/qplastiquestyle.cpp18
-rw-r--r--src/gui/styles/qs60style.cpp283
-rw-r--r--src/gui/styles/qs60style_feedbackinterface_p.h50
-rw-r--r--src/gui/styles/qs60style_p.h3
-rw-r--r--src/gui/styles/qs60style_s60.cpp66
-rw-r--r--src/gui/styles/qs60style_simulated.cpp19
-rw-r--r--src/gui/styles/qstylehelper_p.h1
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp166
-rw-r--r--src/gui/styles/qstylesheetstyle_default.cpp2
-rw-r--r--src/gui/styles/qstylesheetstyle_p.h20
-rw-r--r--src/gui/styles/qwindowscestyle.cpp1
-rw-r--r--src/gui/styles/qwindowsstyle.cpp12
-rw-r--r--src/gui/styles/qwindowsvistastyle.cpp42
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp12
-rw-r--r--src/gui/styles/styles.pri2
-rw-r--r--src/gui/symbian/qsymbianevent.cpp33
-rw-r--r--src/gui/symbian/qsymbianevent.h4
-rw-r--r--src/gui/text/qcssparser.cpp91
-rw-r--r--src/gui/text/qcssparser_p.h6
-rw-r--r--src/gui/text/qfont.cpp208
-rw-r--r--src/gui/text/qfont.h53
-rw-r--r--src/gui/text/qfont_mac.cpp8
-rw-r--r--src/gui/text/qfont_p.h20
-rw-r--r--src/gui/text/qfont_qpa.cpp114
-rw-r--r--src/gui/text/qfont_s60.cpp15
-rw-r--r--src/gui/text/qfont_win.cpp17
-rw-r--r--src/gui/text/qfontdatabase.cpp232
-rw-r--r--src/gui/text/qfontdatabase.h6
-rw-r--r--src/gui/text/qfontdatabase_mac.cpp231
-rw-r--r--src/gui/text/qfontdatabase_qpa.cpp394
-rw-r--r--src/gui/text/qfontdatabase_qws.cpp18
-rw-r--r--src/gui/text/qfontdatabase_s60.cpp36
-rw-r--r--src/gui/text/qfontdatabase_win.cpp296
-rw-r--r--src/gui/text/qfontdatabase_x11.cpp186
-rw-r--r--src/gui/text/qfontengine.cpp39
-rw-r--r--src/gui/text/qfontengine_coretext.mm871
-rw-r--r--src/gui/text/qfontengine_coretext_p.h145
-rw-r--r--src/gui/text/qfontengine_ft.cpp389
-rw-r--r--src/gui/text/qfontengine_ft_p.h101
-rw-r--r--src/gui/text/qfontengine_mac.mm694
-rw-r--r--src/gui/text/qfontengine_mac_p.h165
-rw-r--r--src/gui/text/qfontengine_p.h238
-rw-r--r--src/gui/text/qfontengine_qpa.cpp691
-rw-r--r--src/gui/text/qfontengine_qpa_p.h262
-rw-r--r--src/gui/text/qfontengine_qpf.cpp14
-rw-r--r--src/gui/text/qfontengine_qws.cpp185
-rw-r--r--src/gui/text/qfontengine_s60.cpp7
-rw-r--r--src/gui/text/qfontengine_win.cpp21
-rw-r--r--src/gui/text/qfontengine_win_p.h7
-rw-r--r--src/gui/text/qfontengine_x11.cpp69
-rw-r--r--src/gui/text/qfontengine_x11_p.h3
-rw-r--r--src/gui/text/qfontenginedirectwrite.cpp700
-rw-r--r--src/gui/text/qfontenginedirectwrite_p.h136
-rw-r--r--src/gui/text/qfontengineglyphcache_p.h2
-rw-r--r--src/gui/text/qfontinfo.h1
-rw-r--r--src/gui/text/qfontmetrics.cpp38
-rw-r--r--src/gui/text/qfontmetrics.h11
-rw-r--r--src/gui/text/qglyphrun.cpp346
-rw-r--r--src/gui/text/qglyphrun.h111
-rw-r--r--src/gui/text/qglyphrun_p.h122
-rw-r--r--src/gui/text/qpfutil.cpp2
-rw-r--r--src/gui/text/qplatformfontdatabase_qpa.cpp345
-rw-r--r--src/gui/text/qplatformfontdatabase_qpa.h110
-rw-r--r--src/gui/text/qrawfont.cpp759
-rw-r--r--src/gui/text/qrawfont.h147
-rw-r--r--src/gui/text/qrawfont_ft.cpp138
-rw-r--r--src/gui/text/qrawfont_mac.cpp83
-rw-r--r--src/gui/text/qrawfont_p.h128
-rw-r--r--src/gui/text/qrawfont_qpa.cpp69
-rw-r--r--src/gui/text/qrawfont_win.cpp707
-rw-r--r--src/gui/text/qstatictext.cpp3
-rw-r--r--src/gui/text/qtextcontrol.cpp5
-rw-r--r--src/gui/text/qtextcursor.cpp43
-rw-r--r--src/gui/text/qtextcursor.h1
-rw-r--r--src/gui/text/qtextdocument.cpp72
-rw-r--r--src/gui/text/qtextdocument.h5
-rw-r--r--src/gui/text/qtextdocument_p.cpp32
-rw-r--r--src/gui/text/qtextdocument_p.h4
-rw-r--r--src/gui/text/qtextdocumentfragment.cpp13
-rw-r--r--src/gui/text/qtextdocumentfragment_p.h2
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp70
-rw-r--r--src/gui/text/qtextdocumentlayout_p.h7
-rw-r--r--src/gui/text/qtextengine.cpp386
-rw-r--r--src/gui/text/qtextengine_mac.cpp14
-rw-r--r--src/gui/text/qtextengine_p.h65
-rw-r--r--src/gui/text/qtextformat.cpp172
-rw-r--r--src/gui/text/qtextformat.h65
-rw-r--r--src/gui/text/qtexthtmlparser.cpp20
-rw-r--r--src/gui/text/qtexthtmlparser_p.h2
-rw-r--r--src/gui/text/qtextimagehandler.cpp2
-rw-r--r--src/gui/text/qtextlayout.cpp852
-rw-r--r--src/gui/text/qtextlayout.h17
-rw-r--r--src/gui/text/qtextlist.cpp14
-rw-r--r--src/gui/text/qtextobject.cpp31
-rw-r--r--src/gui/text/qtextobject.h5
-rw-r--r--src/gui/text/qtextodfwriter.cpp13
-rw-r--r--src/gui/text/qzip.cpp2
-rw-r--r--src/gui/text/qzipwriter_p.h2
-rw-r--r--src/gui/text/text.pri64
-rw-r--r--src/gui/util/qcompleter.cpp4
-rw-r--r--src/gui/util/qdesktopservices.cpp2
-rw-r--r--src/gui/util/qdesktopservices_mac.cpp2
-rw-r--r--src/gui/util/qdesktopservices_s60.cpp37
-rw-r--r--src/gui/util/qflickgesture_p.h113
-rw-r--r--src/gui/util/qsystemtrayicon_win.cpp1
-rw-r--r--src/gui/util/qundogroup.cpp18
-rw-r--r--src/gui/util/qundostack.cpp90
-rw-r--r--src/gui/util/qundostack.h1
-rw-r--r--src/gui/util/qundostack_p.h3
-rw-r--r--src/gui/util/util.pri12
-rw-r--r--src/gui/widgets/qabstractbutton.cpp2
-rw-r--r--src/gui/widgets/qabstractslider_p.h2
-rw-r--r--src/gui/widgets/qabstractspinbox.cpp2
-rw-r--r--src/gui/widgets/qcheckbox.cpp10
-rw-r--r--src/gui/widgets/qcheckbox.h1
-rw-r--r--src/gui/widgets/qcocoamenu_mac.mm30
-rw-r--r--src/gui/widgets/qcombobox.cpp72
-rw-r--r--src/gui/widgets/qcombobox.h2
-rw-r--r--src/gui/widgets/qcombobox_p.h2
-rw-r--r--src/gui/widgets/qdatetimeedit.cpp56
-rw-r--r--src/gui/widgets/qdatetimeedit_p.h10
-rw-r--r--src/gui/widgets/qdial.cpp15
-rw-r--r--src/gui/widgets/qdialogbuttonbox.cpp10
-rw-r--r--src/gui/widgets/qdockarealayout.cpp5
-rw-r--r--src/gui/widgets/qdockwidget.cpp1
-rw-r--r--src/gui/widgets/qeffects.cpp29
-rw-r--r--src/gui/widgets/qfocusframe.cpp3
-rw-r--r--src/gui/widgets/qlabel.cpp18
-rw-r--r--src/gui/widgets/qlinecontrol.cpp27
-rw-r--r--src/gui/widgets/qlinecontrol_p.h10
-rw-r--r--src/gui/widgets/qlineedit.cpp39
-rw-r--r--src/gui/widgets/qlineedit.h6
-rw-r--r--src/gui/widgets/qlineedit_p.cpp24
-rw-r--r--src/gui/widgets/qlineedit_p.h4
-rw-r--r--src/gui/widgets/qmainwindow.cpp27
-rw-r--r--src/gui/widgets/qmainwindowlayout.cpp4
-rw-r--r--src/gui/widgets/qmainwindowlayout_mac.mm56
-rw-r--r--src/gui/widgets/qmainwindowlayout_p.h18
-rw-r--r--src/gui/widgets/qmdiarea.cpp79
-rw-r--r--src/gui/widgets/qmdiarea.h12
-rw-r--r--src/gui/widgets/qmdiarea_p.h4
-rw-r--r--src/gui/widgets/qmdisubwindow.cpp4
-rw-r--r--src/gui/widgets/qmenu.cpp105
-rw-r--r--src/gui/widgets/qmenu.h4
-rw-r--r--src/gui/widgets/qmenu_mac.mm17
-rw-r--r--src/gui/widgets/qmenu_p.h4
-rw-r--r--src/gui/widgets/qmenu_symbian.cpp5
-rw-r--r--src/gui/widgets/qmenu_wince.cpp2
-rw-r--r--src/gui/widgets/qmenubar.cpp5
-rw-r--r--src/gui/widgets/qplaintextedit.cpp6
-rw-r--r--src/gui/widgets/qradiobutton.cpp9
-rw-r--r--src/gui/widgets/qradiobutton.h1
-rw-r--r--src/gui/widgets/qsizegrip.cpp19
-rw-r--r--src/gui/widgets/qspinbox.cpp3
-rw-r--r--src/gui/widgets/qsplashscreen.cpp58
-rw-r--r--src/gui/widgets/qstackedwidget.cpp46
-rw-r--r--src/gui/widgets/qtabbar.cpp13
-rw-r--r--src/gui/widgets/qtabwidget.cpp63
-rw-r--r--src/gui/widgets/qtabwidget.h1
-rw-r--r--src/gui/widgets/qtextedit.cpp3
-rw-r--r--src/gui/widgets/qtoolbarlayout.cpp8
-rw-r--r--src/gui/widgets/qtoolbutton.cpp3
-rw-r--r--src/gui/widgets/qvalidator.h6
-rw-r--r--src/gui/widgets/qworkspace.cpp3
-rw-r--r--src/gui/widgets/widgets.pri2
-rw-r--r--src/imports/folderlistmodel/folderlistmodel.pro4
-rw-r--r--src/imports/gestures/gestures.pro4
-rw-r--r--src/imports/particles/particles.pro4
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_mac_p.cpp6
-rw-r--r--src/multimedia/multimedia.pro2
-rw-r--r--src/multimedia/video/qvideosurfaceformat.cpp26
-rw-r--r--src/network/access/access.pri20
-rw-r--r--src/network/access/qfilenetworkreply.cpp212
-rw-r--r--src/network/access/qfilenetworkreply_p.h102
-rw-r--r--src/network/access/qftp.cpp17
-rw-r--r--src/network/access/qhttpmultipart.cpp548
-rw-r--r--src/network/access/qhttpmultipart.h119
-rw-r--r--src/network/access/qhttpmultipart_p.h182
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp89
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h13
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp305
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h19
-rw-r--r--src/network/access/qhttpnetworkreply.cpp119
-rw-r--r--src/network/access/qhttpnetworkreply_p.h16
-rw-r--r--src/network/access/qhttpnetworkrequest.cpp17
-rw-r--r--src/network/access/qhttpnetworkrequest_p.h4
-rw-r--r--src/network/access/qhttpthreaddelegate.cpp582
-rw-r--r--src/network/access/qhttpthreaddelegate_p.h292
-rw-r--r--src/network/access/qnetworkaccessauthenticationmanager.cpp297
-rw-r--r--src/network/access/qnetworkaccessauthenticationmanager_p.h107
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp111
-rw-r--r--src/network/access/qnetworkaccessbackend_p.h19
-rw-r--r--src/network/access/qnetworkaccesscachebackend.cpp9
-rw-r--r--src/network/access/qnetworkaccessdatabackend.cpp135
-rw-r--r--src/network/access/qnetworkaccessdatabackend_p.h84
-rw-r--r--src/network/access/qnetworkaccessfilebackend.cpp14
-rw-r--r--src/network/access/qnetworkaccessftpbackend.cpp6
-rw-r--r--src/network/access/qnetworkaccesshttpbackend.cpp856
-rw-r--r--src/network/access/qnetworkaccesshttpbackend_p.h44
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp449
-rw-r--r--src/network/access/qnetworkaccessmanager.h5
-rw-r--r--src/network/access/qnetworkaccessmanager_p.h14
-rw-r--r--src/network/access/qnetworkcookie.cpp11
-rw-r--r--src/network/access/qnetworkcookiejar.cpp43
-rw-r--r--src/network/access/qnetworkcookiejar_p.h3
-rw-r--r--src/network/access/qnetworkcookiejartlds_p.h6481
-rw-r--r--src/network/access/qnetworkcookiejartlds_p.h.INFO17
-rw-r--r--src/network/access/qnetworkdiskcache.cpp84
-rw-r--r--src/network/access/qnetworkdiskcache_p.h5
-rw-r--r--src/network/access/qnetworkreply.cpp18
-rw-r--r--src/network/access/qnetworkreply.h1
-rw-r--r--src/network/access/qnetworkreply_p.h3
-rw-r--r--src/network/access/qnetworkreplydataimpl.cpp148
-rw-r--r--src/network/access/qnetworkreplydataimpl_p.h98
-rw-r--r--src/network/access/qnetworkreplyfileimpl.cpp189
-rw-r--r--src/network/access/qnetworkreplyfileimpl_p.h98
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp198
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h18
-rw-r--r--src/network/access/qnetworkrequest.cpp17
-rw-r--r--src/network/access/qnetworkrequest.h7
-rw-r--r--src/network/access/qnetworkrequest_p.h3
-rw-r--r--src/network/bearer/bearer.pri1
-rw-r--r--src/network/bearer/qbearerengine.cpp14
-rw-r--r--src/network/bearer/qbearerengine_p.h5
-rw-r--r--src/network/bearer/qbearerplugin.cpp4
-rw-r--r--src/network/bearer/qbearerplugin_p.h6
-rw-r--r--src/network/bearer/qnetworkconfigmanager.cpp22
-rw-r--r--src/network/bearer/qnetworkconfigmanager.h22
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp104
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.h46
-rw-r--r--src/network/bearer/qnetworkconfiguration.cpp30
-rw-r--r--src/network/bearer/qnetworkconfiguration.h11
-rw-r--r--src/network/bearer/qnetworkconfiguration_p.h17
-rw-r--r--src/network/bearer/qnetworksession.cpp142
-rw-r--r--src/network/bearer/qnetworksession.h17
-rw-r--r--src/network/bearer/qnetworksession_p.h40
-rw-r--r--src/network/bearer/qsharednetworksession_p.h4
-rw-r--r--src/network/kernel/kernel.pri5
-rw-r--r--src/network/kernel/qauthenticator.cpp6
-rw-r--r--src/network/kernel/qhostaddress.cpp31
-rw-r--r--src/network/kernel/qhostaddress_p.h5
-rw-r--r--src/network/kernel/qhostinfo.cpp102
-rw-r--r--src/network/kernel/qhostinfo_p.h132
-rw-r--r--src/network/kernel/qhostinfo_symbian.cpp591
-rw-r--r--src/network/kernel/qhostinfo_unix.cpp15
-rw-r--r--src/network/kernel/qhostinfo_win.cpp7
-rw-r--r--src/network/kernel/qnetworkinterface_symbian.cpp138
-rw-r--r--src/network/kernel/qnetworkproxy.cpp106
-rw-r--r--src/network/kernel/qnetworkproxy.h16
-rw-r--r--src/network/kernel/qnetworkproxy_symbian.cpp102
-rw-r--r--src/network/network.pro2
-rw-r--r--src/network/socket/qabstractsocket.cpp227
-rw-r--r--src/network/socket/qabstractsocket.h5
-rw-r--r--src/network/socket/qabstractsocket_p.h5
-rw-r--r--src/network/socket/qabstractsocketengine.cpp14
-rw-r--r--src/network/socket/qabstractsocketengine_p.h18
-rw-r--r--src/network/socket/qhttpsocketengine.cpp46
-rw-r--r--src/network/socket/qhttpsocketengine_p.h9
-rw-r--r--src/network/socket/qlocalserver.cpp2
-rw-r--r--src/network/socket/qlocalserver_p.h2
-rw-r--r--src/network/socket/qlocalsocket.cpp2
-rw-r--r--src/network/socket/qlocalsocket_p.h2
-rw-r--r--src/network/socket/qlocalsocket_win.cpp15
-rw-r--r--src/network/socket/qnativesocketengine.cpp60
-rw-r--r--src/network/socket/qnativesocketengine_p.h25
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp383
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp269
-rw-r--r--src/network/socket/qsocks5socketengine.cpp48
-rw-r--r--src/network/socket/qsocks5socketengine_p.h9
-rw-r--r--src/network/socket/qsymbiansocketengine.cpp1782
-rw-r--r--src/network/socket/qsymbiansocketengine_p.h254
-rw-r--r--src/network/socket/qtcpserver.cpp15
-rw-r--r--src/network/socket/qudpsocket.cpp138
-rw-r--r--src/network/socket/qudpsocket.h13
-rw-r--r--src/network/socket/socket.pri31
-rw-r--r--src/network/ssl/qssl.cpp7
-rw-r--r--src/network/ssl/qssl.h4
-rw-r--r--src/network/ssl/qsslcertificate.cpp46
-rw-r--r--src/network/ssl/qsslconfiguration.cpp52
-rw-r--r--src/network/ssl/qsslconfiguration.h2
-rw-r--r--src/network/ssl/qsslconfiguration_p.h2
-rw-r--r--src/network/ssl/qsslerror.cpp4
-rw-r--r--src/network/ssl/qsslerror.h1
-rw-r--r--src/network/ssl/qsslsocket.cpp89
-rw-r--r--src/network/ssl/qsslsocket.h3
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp93
-rw-r--r--src/network/ssl/qsslsocket_openssl_p.h4
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols.cpp37
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols_p.h15
-rw-r--r--src/network/ssl/qsslsocket_p.h10
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager.cpp338
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager_p.h13
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadersource_p.h46
-rw-r--r--src/opengl/gl2paintengineex/qglgradientcache.cpp35
-rw-r--r--src/opengl/gl2paintengineex/qglgradientcache_p.h9
-rw-r--r--src/opengl/gl2paintengineex/qglshadercache_meego_p.h457
-rw-r--r--src/opengl/gl2paintengineex/qglshadercache_p.h98
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp420
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h13
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp250
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h115
-rw-r--r--src/opengl/opengl.pro26
-rw-r--r--src/opengl/opengl.pro.user.2.1pre183
-rw-r--r--src/opengl/qgl.cpp358
-rw-r--r--src/opengl/qgl.h55
-rw-r--r--src/opengl/qgl_egl.cpp7
-rw-r--r--src/opengl/qgl_mac.mm1
-rw-r--r--src/opengl/qgl_p.h237
-rw-r--r--src/opengl/qgl_qpa.cpp412
-rw-r--r--src/opengl/qgl_win.cpp5
-rw-r--r--src/opengl/qgl_x11.cpp4
-rw-r--r--src/opengl/qgl_x11egl.cpp29
-rw-r--r--src/opengl/qglbuffer.cpp4
-rw-r--r--src/opengl/qglextensions.cpp33
-rw-r--r--src/opengl/qglextensions_p.h16
-rw-r--r--src/opengl/qglframebufferobject.cpp66
-rw-r--r--src/opengl/qglframebufferobject.h3
-rw-r--r--src/opengl/qglframebufferobject_p.h13
-rw-r--r--src/opengl/qglfunctions.cpp3712
-rw-r--r--src/opengl/qglfunctions.h2295
-rw-r--r--src/opengl/qglpaintdevice.cpp6
-rw-r--r--src/opengl/qglpaintdevice_p.h1
-rw-r--r--src/opengl/qglpixelbuffer.cpp24
-rw-r--r--src/opengl/qglpixelbuffer_p.h4
-rw-r--r--src/opengl/qglpixelbuffer_stub.cpp84
-rw-r--r--src/opengl/qglpixmapfilter.cpp21
-rw-r--r--src/opengl/qglshaderprogram.cpp21
-rw-r--r--src/opengl/qpaintengine_opengl.cpp73
-rw-r--r--src/opengl/qpaintengine_opengl_p.h1
-rw-r--r--src/opengl/qpixmapdata_gl.cpp34
-rw-r--r--src/opengl/qpixmapdata_symbiangl.cpp10
-rw-r--r--src/opengl/qwindowsurface_gl.cpp142
-rw-r--r--src/opengl/qwindowsurface_gl_p.h8
-rw-r--r--src/opengl/util/meego/main.cpp89
-rw-r--r--src/opengl/util/meego/shader-cache-introspector.pro7
-rw-r--r--src/openvg/openvg.pro9
-rw-r--r--src/openvg/qpaintengine_vg.cpp114
-rw-r--r--src/openvg/qpaintengine_vg_p.h1
-rw-r--r--src/openvg/qpixmapdata_vg.cpp4
-rw-r--r--src/openvg/qwindowsurface_vg.cpp16
-rw-r--r--src/openvg/qwindowsurface_vg_p.h8
-rw-r--r--src/phonon/phonon.pro2
-rw-r--r--src/plugins/accessible/widgets/complexwidgets.cpp18
-rw-r--r--src/plugins/accessible/widgets/itemviews.cpp1029
-rw-r--r--src/plugins/accessible/widgets/itemviews.h319
-rw-r--r--src/plugins/accessible/widgets/main.cpp22
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.cpp151
-rw-r--r--src/plugins/accessible/widgets/rangecontrols.cpp24
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp92
-rw-r--r--src/plugins/accessible/widgets/widgets.pro22
-rw-r--r--src/plugins/bearer/connman/qconnmanservice_linux.cpp1
-rw-r--r--src/plugins/bearer/connman/qofonoservice_linux.cpp5
-rw-r--r--src/plugins/bearer/connman/qofonoservice_linux_p.h6
-rw-r--r--src/plugins/bearer/corewlan/corewlan.pro3
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.mm4
-rw-r--r--src/plugins/bearer/platformdefs_win.h5
-rw-r--r--src/plugins/bearer/qbearerengine_impl.h7
-rw-r--r--src/plugins/bearer/qnetworksession_impl.cpp67
-rw-r--r--src/plugins/bearer/qnetworksession_impl.h23
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp261
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.h38
-rw-r--r--src/plugins/bearer/symbian/symbianengine.cpp58
-rw-r--r--src/plugins/bearer/symbian/symbianengine.h16
-rw-r--r--src/plugins/codecs/jp/qsjiscodec.cpp4
-rw-r--r--src/plugins/codecs/kr/qeuckrcodec.cpp16
-rw-r--r--src/plugins/generic/linuxinput/linuxinput.pro18
-rw-r--r--src/plugins/generic/linuxinput/main.cpp80
-rw-r--r--src/plugins/generic/linuxinput/qlinuxinput.cpp557
-rw-r--r--src/plugins/generic/linuxinput/qlinuxinput.h111
-rw-r--r--src/plugins/generic/tslib/main.cpp78
-rw-r--r--src/plugins/generic/tslib/qtslib.cpp144
-rw-r--r--src/plugins/generic/tslib/qtslib.h77
-rw-r--r--src/plugins/generic/tslib/tslib.pro13
-rw-r--r--src/plugins/gfxdrivers/eglnullws/README48
-rw-r--r--src/plugins/gfxdrivers/eglnullws/eglnullws.pro18
-rw-r--r--src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.cpp181
-rw-r--r--src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.h69
-rw-r--r--src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.cpp66
-rw-r--r--src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.h47
-rw-r--r--src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.cpp84
-rw-r--r--src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.h63
-rw-r--r--src/plugins/gfxdrivers/gfxdrivers.pro1
-rw-r--r--src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c5
-rw-r--r--src/plugins/graphicssystems/graphicssystems.pro4
-rw-r--r--src/plugins/graphicssystems/meego/qmeegographicssystem.cpp2
-rw-r--r--src/plugins/graphicssystems/trace/qgraphicssystem_trace.cpp4
-rw-r--r--src/plugins/phonon/gstreamer/gstreamer.pro2
-rw-r--r--src/plugins/phonon/mmf/mmf.pro4
-rw-r--r--src/plugins/platforms/cocoa/cocoa.pro29
-rw-r--r--src/plugins/platforms/cocoa/main.mm74
-rw-r--r--src/plugins/platforms/cocoa/qcocoaautoreleasepool.h57
-rw-r--r--src/plugins/platforms/cocoa/qcocoaautoreleasepool.mm52
-rw-r--r--src/plugins/platforms/cocoa/qcocoaeventloopintegration.h65
-rw-r--r--src/plugins/platforms/cocoa/qcocoaeventloopintegration.mm112
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.h99
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm132
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.h75
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm110
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindowsurface.h73
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindowsurface.mm103
-rw-r--r--src/plugins/platforms/cocoa/qnsview.h79
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm211
-rw-r--r--src/plugins/platforms/cocoa/qnswindowdelegate.h61
-rw-r--r--src/plugins/platforms/cocoa/qnswindowdelegate.mm73
-rw-r--r--src/plugins/platforms/directfb/directfb.pro35
-rw-r--r--src/plugins/platforms/directfb/main.cpp72
-rw-r--r--src/plugins/platforms/directfb/qdirectfbblitter.cpp155
-rw-r--r--src/plugins/platforms/directfb/qdirectfbblitter.h76
-rw-r--r--src/plugins/platforms/directfb/qdirectfbconvenience.cpp376
-rw-r--r--src/plugins/platforms/directfb/qdirectfbconvenience.h84
-rw-r--r--src/plugins/platforms/directfb/qdirectfbcursor.cpp80
-rw-r--r--src/plugins/platforms/directfb/qdirectfbcursor.h63
-rw-r--r--src/plugins/platforms/directfb/qdirectfbglcontext.cpp101
-rw-r--r--src/plugins/platforms/directfb/qdirectfbglcontext.h69
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.cpp208
-rw-r--r--src/plugins/platforms/directfb/qdirectfbinput.h86
-rw-r--r--src/plugins/platforms/directfb/qdirectfbintegration.cpp146
-rw-r--r--src/plugins/platforms/directfb/qdirectfbintegration.h104
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.cpp191
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.h79
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindowsurface.cpp141
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindowsurface.h77
-rw-r--r--src/plugins/platforms/eglconvenience/eglconvenience.pri7
-rw-r--r--src/plugins/platforms/eglconvenience/qeglconvenience.cpp324
-rw-r--r--src/plugins/platforms/eglconvenience/qeglconvenience.h60
-rw-r--r--src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp157
-rw-r--r--src/plugins/platforms/eglconvenience/qeglplatformcontext.h71
-rw-r--r--src/plugins/platforms/eglconvenience/qxlibeglintegration.cpp184
-rw-r--r--src/plugins/platforms/eglconvenience/qxlibeglintegration.h53
-rw-r--r--src/plugins/platforms/eglconvenience/xlibeglintegration.pri7
-rw-r--r--src/plugins/platforms/eglfs/eglfs.pro31
-rw-r--r--src/plugins/platforms/eglfs/main.cpp72
-rw-r--r--src/plugins/platforms/eglfs/qeglfsintegration.cpp109
-rw-r--r--src/plugins/platforms/eglfs/qeglfsintegration.h77
-rw-r--r--src/plugins/platforms/eglfs/qeglfsscreen.cpp244
-rw-r--r--src/plugins/platforms/eglfs/qeglfsscreen.h80
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindow.cpp87
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindow.h68
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindowsurface.cpp101
-rw-r--r--src/plugins/platforms/eglfs/qeglfswindowsurface.h67
-rw-r--r--src/plugins/platforms/externalplugin.pri29
-rw-r--r--src/plugins/platforms/fb_base/fb_base.cpp507
-rw-r--r--src/plugins/platforms/fb_base/fb_base.h210
-rw-r--r--src/plugins/platforms/fb_base/fb_base.pri2
-rw-r--r--src/plugins/platforms/fb_base/fb_base.pro23
-rw-r--r--src/plugins/platforms/fontdatabases/basicunix/basicunix.pri86
-rw-r--r--src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.cpp328
-rw-r--r--src/plugins/platforms/fontdatabases/basicunix/qbasicunixfontdatabase.h67
-rw-r--r--src/plugins/platforms/fontdatabases/fontconfig/fontconfig.pri12
-rw-r--r--src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.cpp601
-rw-r--r--src/plugins/platforms/fontdatabases/fontconfig/qfontconfigdatabase.h56
-rw-r--r--src/plugins/platforms/fontdatabases/genericunix/genericunix.pri10
-rw-r--r--src/plugins/platforms/fontdatabases/genericunix/qgenericunixfontdatabase.h53
-rw-r--r--src/plugins/platforms/glxconvenience/glxconvenience.pri15
-rw-r--r--src/plugins/platforms/glxconvenience/qglxconvenience.cpp257
-rw-r--r--src/plugins/platforms/glxconvenience/qglxconvenience.h56
-rw-r--r--src/plugins/platforms/linuxfb/linuxfb.pro13
-rw-r--r--src/plugins/platforms/linuxfb/main.cpp72
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp875
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbintegration.h135
-rw-r--r--src/plugins/platforms/minimal/main.cpp73
-rw-r--r--src/plugins/platforms/minimal/minimal.pro13
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.cpp82
-rw-r--r--src/plugins/platforms/minimal/qminimalintegration.h86
-rw-r--r--src/plugins/platforms/minimal/qminimalwindowsurface.cpp86
-rw-r--r--src/plugins/platforms/minimal/qminimalwindowsurface.h67
-rw-r--r--src/plugins/platforms/openkode/main.cpp72
-rw-r--r--src/plugins/platforms/openkode/openkode.pro42
-rw-r--r--src/plugins/platforms/openkode/openkodekeytranslator.h244
-rw-r--r--src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp128
-rw-r--r--src/plugins/platforms/openkode/qopenkodeeventloopintegration.h71
-rw-r--r--src/plugins/platforms/openkode/qopenkodeintegration.cpp247
-rw-r--r--src/plugins/platforms/openkode/qopenkodeintegration.h120
-rw-r--r--src/plugins/platforms/openkode/qopenkodewindow.cpp315
-rw-r--r--src/plugins/platforms/openkode/qopenkodewindow.h89
-rw-r--r--src/plugins/platforms/openkode/resources.qrc6
-rw-r--r--src/plugins/platforms/openkode/shaders/frag.glslf49
-rw-r--r--src/plugins/platforms/openkode/shaders/vert.glslv55
-rw-r--r--src/plugins/platforms/platforms.pro8
-rw-r--r--src/plugins/platforms/qvfb/main.cpp73
-rw-r--r--src/plugins/platforms/qvfb/qvfb.pro13
-rw-r--r--src/plugins/platforms/qvfb/qvfbintegration.cpp448
-rw-r--r--src/plugins/platforms/qvfb/qvfbintegration.h100
-rw-r--r--src/plugins/platforms/qvfb/qvfbwindowsurface.cpp108
-rw-r--r--src/plugins/platforms/qvfb/qvfbwindowsurface.h80
-rw-r--r--src/plugins/platforms/uikit/README68
-rw-r--r--src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo-Info.plist41
-rwxr-xr-xsrc/plugins/platforms/uikit/examples/flickrdemo/flickrdemo.xcodeproj/project.pbxproj503
-rw-r--r--src/plugins/platforms/uikit/examples/flickrdemo/flickrdemo_Prefix.pch8
-rw-r--r--src/plugins/platforms/uikit/examples/flickrdemo/main.mm78
-rw-r--r--src/plugins/platforms/uikit/examples/qmltest/main.mm78
-rw-r--r--src/plugins/platforms/uikit/examples/qmltest/qml/main.qml112
-rw-r--r--src/plugins/platforms/uikit/examples/qmltest/qmltest-Info.plist28
-rwxr-xr-xsrc/plugins/platforms/uikit/examples/qmltest/qmltest.xcodeproj/project.pbxproj499
-rw-r--r--src/plugins/platforms/uikit/examples/qmltest/qmltest_Prefix.pch8
-rw-r--r--src/plugins/platforms/uikit/examples/share/qmlapplicationviewer/moc_qmlapplicationviewer.cpp122
-rw-r--r--src/plugins/platforms/uikit/examples/share/qmlapplicationviewer/qmlapplicationviewer.cpp198
-rw-r--r--src/plugins/platforms/uikit/examples/share/qmlapplicationviewer/qmlapplicationviewer.h83
-rw-r--r--src/plugins/platforms/uikit/main.mm74
-rw-r--r--src/plugins/platforms/uikit/phonon_av/avaudiooutput.cpp73
-rw-r--r--src/plugins/platforms/uikit/phonon_av/avaudiooutput.h68
-rw-r--r--src/plugins/platforms/uikit/phonon_av/avbackend.cpp127
-rw-r--r--src/plugins/platforms/uikit/phonon_av/avbackend.h73
-rw-r--r--src/plugins/platforms/uikit/phonon_av/avmediaobject.h123
-rw-r--r--src/plugins/platforms/uikit/phonon_av/avmediaobject.mm297
-rw-r--r--src/plugins/platforms/uikit/phonon_av/phonon_av.pro31
-rw-r--r--src/plugins/platforms/uikit/platform.pro27
-rw-r--r--src/plugins/platforms/uikit/quikiteventloop.h72
-rw-r--r--src/plugins/platforms/uikit/quikiteventloop.mm282
-rw-r--r--src/plugins/platforms/uikit/quikitintegration.h75
-rw-r--r--src/plugins/platforms/uikit/quikitintegration.mm120
-rw-r--r--src/plugins/platforms/uikit/quikitscreen.h76
-rw-r--r--src/plugins/platforms/uikit/quikitscreen.mm112
-rw-r--r--src/plugins/platforms/uikit/quikitsoftwareinputhandler.h73
-rw-r--r--src/plugins/platforms/uikit/quikitwindow.h135
-rw-r--r--src/plugins/platforms/uikit/quikitwindow.mm413
-rw-r--r--src/plugins/platforms/uikit/quikitwindowsurface.h64
-rw-r--r--src/plugins/platforms/uikit/quikitwindowsurface.mm133
-rw-r--r--src/plugins/platforms/uikit/uikit.pro2
-rw-r--r--src/plugins/platforms/vnc/main.cpp73
-rw-r--r--src/plugins/platforms/vnc/qvnccursor.cpp156
-rw-r--r--src/plugins/platforms/vnc/qvnccursor.h76
-rw-r--r--src/plugins/platforms/vnc/qvncintegration.cpp251
-rw-r--r--src/plugins/platforms/vnc/qvncintegration.h110
-rw-r--r--src/plugins/platforms/vnc/qvncserver.cpp1935
-rw-r--r--src/plugins/platforms/vnc/qvncserver.h533
-rw-r--r--src/plugins/platforms/vnc/vnc.pro22
-rw-r--r--src/plugins/platforms/wayland/gl_integration/gl_integration.pri57
-rw-r--r--src/plugins/platforms/wayland/gl_integration/qwaylandglintegration.cpp52
-rw-r--r--src/plugins/platforms/wayland/gl_integration/qwaylandglintegration.h62
-rw-r--r--src/plugins/platforms/wayland/gl_integration/qwaylandglwindowsurface.cpp184
-rw-r--r--src/plugins/platforms/wayland/gl_integration/qwaylandglwindowsurface.h69
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglcontext.cpp174
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglcontext.h80
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglintegration.cpp112
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglintegration.h82
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglwindow.cpp76
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_egl/qwaylandreadbackeglwindow.h66
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_egl/readback_egl.pri14
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxcontext.cpp163
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxcontext.h79
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxintegration.cpp97
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxintegration.h80
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxwindow.cpp73
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_glx/qwaylandreadbackglxwindow.h65
-rw-r--r--src/plugins/platforms/wayland/gl_integration/readback_glx/readback_glx.pri12
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandeglinclude.h57
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandeglintegration.cpp89
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandeglintegration.h70
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandeglwindow.cpp112
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandeglwindow.h70
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp133
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.h80
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/wayland_egl.pri11
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.cpp169
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglcontext.h82
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglintegration.cpp139
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglintegration.h98
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.cpp77
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/qwaylandxcompositeeglwindow.h65
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_egl/xcomposite_egl.pri15
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxcontext.cpp152
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxcontext.h85
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxintegration.cpp126
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxintegration.h93
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxwindow.cpp77
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_glx/qwaylandxcompositeglxwindow.h65
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_glx/xcomposite_glx.pri13
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_share/qwaylandxcompositebuffer.cpp59
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_share/qwaylandxcompositebuffer.h62
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_share/wayland-xcomposite-client-protocol.h123
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_share/wayland-xcomposite-protocol.c59
-rw-r--r--src/plugins/platforms/wayland/gl_integration/xcomposite_share/xcomposite_share.pri9
-rw-r--r--src/plugins/platforms/wayland/main.cpp75
-rw-r--r--src/plugins/platforms/wayland/qwaylandbuffer.h61
-rw-r--r--src/plugins/platforms/wayland/qwaylandclipboard.cpp293
-rw-r--r--src/plugins/platforms/wayland/qwaylandclipboard.h97
-rw-r--r--src/plugins/platforms/wayland/qwaylandcursor.cpp191
-rw-r--r--src/plugins/platforms/wayland/qwaylandcursor.h60
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.cpp336
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.h161
-rw-r--r--src/plugins/platforms/wayland/qwaylandinputdevice.cpp352
-rw-r--r--src/plugins/platforms/wayland/qwaylandinputdevice.h102
-rw-r--r--src/plugins/platforms/wayland/qwaylandintegration.cpp143
-rw-r--r--src/plugins/platforms/wayland/qwaylandintegration.h82
-rw-r--r--src/plugins/platforms/wayland/qwaylandnativeinterface.cpp72
-rw-r--r--src/plugins/platforms/wayland/qwaylandnativeinterface.h60
-rw-r--r--src/plugins/platforms/wayland/qwaylandscreen.cpp107
-rw-r--r--src/plugins/platforms/wayland/qwaylandscreen.h77
-rw-r--r--src/plugins/platforms/wayland/qwaylandshmsurface.cpp150
-rw-r--r--src/plugins/platforms/wayland/qwaylandshmsurface.h83
-rw-r--r--src/plugins/platforms/wayland/qwaylandshmwindow.cpp71
-rw-r--r--src/plugins/platforms/wayland/qwaylandshmwindow.h58
-rw-r--r--src/plugins/platforms/wayland/qwaylandwindow.cpp165
-rw-r--r--src/plugins/platforms/wayland/qwaylandwindow.h96
-rw-r--r--src/plugins/platforms/wayland/wayland.pro52
-rw-r--r--src/plugins/platforms/wayland/wayland_sha1.txt3
-rw-r--r--src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp92
-rw-r--r--src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.h70
-rw-r--r--src/plugins/platforms/wayland/windowmanager_integration/windowmanager_integration.pri16
-rw-r--r--src/plugins/platforms/xcb/README3
-rw-r--r--src/plugins/platforms/xcb/main.cpp72
-rw-r--r--src/plugins/platforms/xcb/qdri2context.cpp271
-rw-r--r--src/plugins/platforms/xcb/qdri2context.h77
-rw-r--r--src/plugins/platforms/xcb/qglxintegration.cpp153
-rw-r--r--src/plugins/platforms/xcb/qglxintegration.h78
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp780
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h331
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp151
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.h83
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.cpp973
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.h82
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.cpp185
-rw-r--r--src/plugins/platforms/xcb/qxcbnativeinterface.h75
-rw-r--r--src/plugins/platforms/xcb/qxcbobject.h62
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.cpp134
-rw-r--r--src/plugins/platforms/xcb/qxcbscreen.h80
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp690
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.h114
-rw-r--r--src/plugins/platforms/xcb/qxcbwindowsurface.cpp270
-rw-r--r--src/plugins/platforms/xcb/qxcbwindowsurface.h72
-rw-r--r--src/plugins/platforms/xcb/xcb.pro70
-rw-r--r--src/plugins/platforms/xlib/main.cpp79
-rw-r--r--src/plugins/platforms/xlib/qglxintegration.cpp158
-rw-r--r--src/plugins/platforms/xlib/qglxintegration.h85
-rw-r--r--src/plugins/platforms/xlib/qxlibclipboard.cpp675
-rw-r--r--src/plugins/platforms/xlib/qxlibclipboard.h94
-rw-r--r--src/plugins/platforms/xlib/qxlibcursor.cpp200
-rw-r--r--src/plugins/platforms/xlib/qxlibcursor.h68
-rw-r--r--src/plugins/platforms/xlib/qxlibdisplay.cpp78
-rw-r--r--src/plugins/platforms/xlib/qxlibdisplay.h63
-rw-r--r--src/plugins/platforms/xlib/qxlibintegration.cpp173
-rw-r--r--src/plugins/platforms/xlib/qxlibintegration.h90
-rw-r--r--src/plugins/platforms/xlib/qxlibkeyboard.cpp1001
-rw-r--r--src/plugins/platforms/xlib/qxlibkeyboard.h76
-rw-r--r--src/plugins/platforms/xlib/qxlibmime.cpp322
-rw-r--r--src/plugins/platforms/xlib/qxlibmime.h67
-rw-r--r--src/plugins/platforms/xlib/qxlibnativeinterface.cpp133
-rw-r--r--src/plugins/platforms/xlib/qxlibnativeinterface.h75
-rw-r--r--src/plugins/platforms/xlib/qxlibscreen.cpp488
-rw-r--r--src/plugins/platforms/xlib/qxlibscreen.h112
-rw-r--r--src/plugins/platforms/xlib/qxlibstatic.cpp508
-rw-r--r--src/plugins/platforms/xlib/qxlibstatic.h418
-rw-r--r--src/plugins/platforms/xlib/qxlibwindow.cpp749
-rw-r--r--src/plugins/platforms/xlib/qxlibwindow.h153
-rw-r--r--src/plugins/platforms/xlib/qxlibwindowsurface.cpp235
-rw-r--r--src/plugins/platforms/xlib/qxlibwindowsurface.h86
-rw-r--r--src/plugins/platforms/xlib/xlib.pro62
-rw-r--r--src/plugins/plugins.pro6
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstracttool.cpp54
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstracttool.h85
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.cpp511
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.h173
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/abstractliveedittool.cpp196
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/abstractliveedittool.h104
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/boundingrecthighlighter.cpp240
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/boundingrecthighlighter.h115
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/colorpickertool.cpp100
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/colorpickertool.h92
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/livelayeritem.cpp92
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/livelayeritem.h67
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liverubberbandselectionmanipulator.cpp165
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liverubberbandselectionmanipulator.h96
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liveselectionindicator.cpp118
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liveselectionindicator.h80
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liveselectionrectangle.cpp113
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liveselectionrectangle.h77
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liveselectiontool.cpp425
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/liveselectiontool.h120
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/livesingleselectionmanipulator.cpp151
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/livesingleselectionmanipulator.h89
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/qmltoolbar.cpp328
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/qmltoolbar.h132
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/subcomponentmasklayeritem.cpp130
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/subcomponentmasklayeritem.h71
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/toolbarcolorbox.cpp134
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/toolbarcolorbox.h81
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/zoomtool.cpp330
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/editor/zoomtool.h107
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qdeclarativeinspectorplugin.cpp80
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qdeclarativeinspectorplugin.h71
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qdeclarativeinspectorprotocol.h137
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qdeclarativeviewinspector.cpp436
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qdeclarativeviewinspector.h100
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qdeclarativeviewinspector_p.h117
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qmldbg_inspector.pro49
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qmlinspectorconstants.h77
-rw-r--r--src/plugins/qmltooling/qmldbg_ost/qmlostplugin.cpp6
-rw-r--r--src/plugins/qmltooling/qmldbg_ost/qmlostplugin.h1
-rw-r--r--src/plugins/qmltooling/qmldbg_ost/qostdevice.cpp42
-rw-r--r--src/plugins/qmltooling/qmldbg_ost/qostdevice.h4
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.cpp36
-rw-r--r--src/plugins/qmltooling/qmldbg_tcp/qtcpserverconnection.h4
-rw-r--r--src/plugins/qmltooling/qmltooling.pro2
-rw-r--r--src/plugins/qpluginbase.pri21
-rw-r--r--src/plugins/s60/3_1/3_1.pro9
-rw-r--r--src/plugins/s60/3_2/3_2.pro22
-rw-r--r--src/plugins/s60/5_0/5_0.pro22
-rw-r--r--src/plugins/s60/bwins/qts60pluginu.def8
-rw-r--r--src/plugins/s60/eabi/qts60pluginu.def8
-rw-r--r--src/plugins/s60/feedback/feedback.pro18
-rw-r--r--src/plugins/s60/feedback/qtactileFeedback.h54
-rw-r--r--src/plugins/s60/feedback/qtactileFeedback_s60.cpp83
-rw-r--r--src/plugins/s60/s60.pro11
-rw-r--r--src/plugins/s60/s60pluginbase.pri23
-rw-r--r--src/plugins/s60/src/qcoreapplication_3_1.cpp48
-rw-r--r--src/plugins/s60/src/qcoreapplication_3_2.cpp48
-rw-r--r--src/plugins/s60/src/qdesktopservices_3_1.cpp49
-rw-r--r--src/plugins/s60/src/qdesktopservices_3_2.cpp80
-rw-r--r--src/plugins/s60/src/qlocale_3_1.cpp148
-rw-r--r--src/plugins/s60/src/qlocale_3_2.cpp64
-rw-r--r--src/qbase.pri15
-rw-r--r--src/qt3support/dialogs/q3filedialog_mac.cpp2
-rw-r--r--src/qt3support/other/q3process_unix.cpp18
-rw-r--r--src/qt3support/qt3support.pro2
-rw-r--r--src/qt3support/text/q3richtext.cpp5
-rw-r--r--src/qt3support/text/q3textstream.h6
-rw-r--r--src/qt3support/tools/q3cstring.h50
-rw-r--r--src/qt3support/tools/q3valuevector.h4
-rw-r--r--src/qt_install.pri2
-rw-r--r--src/s60installs/bwins/QtCoreu.def467
-rw-r--r--src/s60installs/bwins/QtDeclarativeu.def73
-rw-r--r--src/s60installs/bwins/QtGuiu.def1035
-rw-r--r--src/s60installs/bwins/QtMultimediau.def19
-rw-r--r--src/s60installs/bwins/QtNetworku.def129
-rw-r--r--src/s60installs/bwins/QtOpenGLu.def193
-rw-r--r--src/s60installs/bwins/QtOpenVGu.def3
-rw-r--r--src/s60installs/bwins/QtScriptu.def6
-rw-r--r--src/s60installs/bwins/QtSqlu.def15
-rw-r--r--src/s60installs/bwins/QtSvgu.def6
-rw-r--r--src/s60installs/bwins/QtTestu.def3
-rw-r--r--src/s60installs/bwins/QtXmlPatternsu.def7
-rw-r--r--src/s60installs/bwins/QtXmlu.def7
-rw-r--r--src/s60installs/bwins/phononu.def32
-rw-r--r--src/s60installs/eabi/QtCoreu.def470
-rw-r--r--src/s60installs/eabi/QtDeclarativeu.def75
-rw-r--r--src/s60installs/eabi/QtGuiu.def656
-rw-r--r--src/s60installs/eabi/QtMultimediau.def14
-rw-r--r--src/s60installs/eabi/QtNetworku.def116
-rw-r--r--src/s60installs/eabi/QtOpenGLu.def104
-rw-r--r--src/s60installs/eabi/QtOpenVGu.def2
-rw-r--r--src/s60installs/eabi/QtScriptu.def4
-rw-r--r--src/s60installs/eabi/QtSqlu.def12
-rw-r--r--src/s60installs/eabi/QtSvgu.def6
-rw-r--r--src/s60installs/eabi/QtTestu.def3
-rw-r--r--src/s60installs/eabi/QtXmlPatternsu.def4
-rw-r--r--src/s60installs/eabi/phononu.def28
-rw-r--r--src/s60installs/qt.iby4
-rwxr-xr-xsrc/s60installs/s60installs.pro63
-rw-r--r--src/s60main/newallocator_hook.cpp97
-rw-r--r--src/s60main/qts60main.cpp3
-rw-r--r--src/s60main/qts60main_mcrt0.cpp8
-rw-r--r--src/s60main/s60main.pro3
-rw-r--r--src/script/api/qscriptcontextinfo.cpp10
-rw-r--r--src/script/api/qscriptengine.cpp98
-rw-r--r--src/script/api/qscriptengine.h72
-rw-r--r--src/script/api/qscriptengineagent_p.h18
-rw-r--r--src/script/api/qscriptprogram.cpp1
-rw-r--r--src/script/api/qscriptvalue.cpp39
-rw-r--r--src/script/api/qscriptvalueiterator.cpp4
-rw-r--r--src/script/bridge/qscriptclassobject.cpp11
-rw-r--r--src/script/bridge/qscriptqobject.cpp10
-rw-r--r--src/script/script.pro18
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommand.cpp6
-rw-r--r--src/scripttools/debugging/qscriptdebuggercommandexecutor.cpp8
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsole.cpp14
-rw-r--r--src/scripttools/debugging/qscriptdebuggerconsolewidget.cpp8
-rw-r--r--src/scripttools/debugging/qscriptdebuggerevent.cpp2
-rw-r--r--src/scripttools/debugging/qscriptdebuggerresponse.cpp16
-rw-r--r--src/scripttools/debugging/qscriptdebuggerscriptedconsolecommand.cpp2
-rw-r--r--src/scripttools/debugging/qscriptdebugoutputwidget.cpp8
-rw-r--r--src/scripttools/debugging/qscripterrorlogwidget.cpp8
-rw-r--r--src/scripttools/scripttools.pro2
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp6
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp14
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp41
-rw-r--r--src/sql/drivers/psql/qsql_psql.cpp4
-rw-r--r--src/sql/drivers/sqlite/qsql_sqlite.cpp4
-rw-r--r--src/sql/drivers/sqlite2/qsql_sqlite2.cpp4
-rw-r--r--src/sql/kernel/qsqldatabase.cpp8
-rw-r--r--src/sql/kernel/qsqldriver.cpp4
-rw-r--r--src/sql/kernel/qsqlfield.cpp3
-rw-r--r--src/sql/models/qsqlrelationaltablemodel.cpp121
-rw-r--r--src/sql/models/qsqlrelationaltablemodel.h6
-rw-r--r--src/sql/models/qsqltablemodel.cpp67
-rw-r--r--src/sql/models/qsqltablemodel_p.h4
-rw-r--r--src/sql/sql.pro2
-rw-r--r--src/src.pro17
-rw-r--r--src/svg/svg.pro2
-rw-r--r--src/testlib/qabstracttestlogger.cpp10
-rw-r--r--src/testlib/qabstracttestlogger_p.h2
-rw-r--r--src/testlib/qbenchmarkvalgrind.cpp11
-rw-r--r--src/testlib/qplaintestlogger.cpp22
-rw-r--r--src/testlib/qplaintestlogger_p.h4
-rw-r--r--src/testlib/qtest.h2
-rw-r--r--src/testlib/qtest_global.h2
-rw-r--r--src/testlib/qtestcase.cpp240
-rw-r--r--src/testlib/qtestlightxmlstreamer.cpp8
-rw-r--r--src/testlib/qtestlog.cpp66
-rw-r--r--src/testlib/qtestlog_p.h2
-rw-r--r--src/testlib/qtestlogger.cpp27
-rw-r--r--src/testlib/qtestlogger_p.h5
-rw-r--r--src/testlib/qtestmouse.h4
-rw-r--r--src/testlib/qtestresult.cpp5
-rw-r--r--src/testlib/qtestxmlstreamer.cpp10
-rw-r--r--src/testlib/qxmltestlogger.cpp27
-rw-r--r--src/testlib/qxmltestlogger_p.h4
-rw-r--r--src/testlib/testlib.pro10
-rw-r--r--src/tools/bootstrap/bootstrap.pri4
-rw-r--r--src/tools/bootstrap/bootstrap.pro26
-rw-r--r--src/tools/moc/generator.cpp165
-rw-r--r--src/tools/moc/generator.h2
-rw-r--r--src/tools/moc/main.cpp10
-rw-r--r--src/tools/moc/moc.cpp15
-rw-r--r--src/tools/moc/moc.h3
-rw-r--r--src/tools/moc/outputrevision.h2
-rw-r--r--src/tools/moc/parser.cpp6
-rw-r--r--src/tools/moc/parser.h4
-rw-r--r--src/tools/moc/preprocessor.cpp2
-rw-r--r--src/tools/uic/cpp/cppwriteincludes.cpp7
-rw-r--r--src/tools/uic/cpp/cppwriteincludes.h1
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp96
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.h1
-rw-r--r--src/tools/uic/ui4.cpp22
-rw-r--r--src/tools/uic/ui4.h16
-rw-r--r--src/tools/uic3/converter.cpp2
-rw-r--r--src/tools/uic3/domtool.cpp14
-rw-r--r--src/tools/uic3/domtool.h2
-rw-r--r--src/xml/xml.pro2
-rw-r--r--src/xmlpatterns/api/quriloader.cpp2
-rw-r--r--src/xmlpatterns/api/qvariableloader.cpp14
-rw-r--r--src/xmlpatterns/api/qxmlquery.cpp6
-rw-r--r--src/xmlpatterns/data/qatomicvalue.cpp2
-rw-r--r--src/xmlpatterns/data/qitem_p.h4
-rw-r--r--src/xmlpatterns/expr/qdynamiccontextstore.cpp8
-rw-r--r--src/xmlpatterns/expr/qdynamiccontextstore_p.h2
-rw-r--r--src/xmlpatterns/expr/qevaluationcache_p.h2
-rw-r--r--src/xmlpatterns/expr/qletclause.cpp2
-rw-r--r--src/xmlpatterns/schema/qxsdattribute.cpp4
-rw-r--r--src/xmlpatterns/schema/qxsdattribute_p.h2
-rw-r--r--src/xmlpatterns/schema/qxsdcomplextype.cpp4
-rw-r--r--src/xmlpatterns/schema/qxsdcomplextype_p.h2
-rw-r--r--src/xmlpatterns/schema/qxsdelement.cpp8
-rw-r--r--src/xmlpatterns/schema/qxsdelement_p.h8
-rw-r--r--src/xmlpatterns/schema/qxsdparticlechecker.cpp6
-rw-r--r--src/xmlpatterns/schema/qxsdsimpletype.cpp4
-rw-r--r--src/xmlpatterns/schema/qxsdsimpletype_p.h2
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachinebuilder.cpp10
-rw-r--r--src/xmlpatterns/utils/qautoptr_p.h2
-rw-r--r--src/xmlpatterns/xmlpatterns.pro2
-rw-r--r--tests/.gitignore6
-rw-r--r--tests/arthur/.gitignore2
-rw-r--r--tests/arthur/baselineserver/.gitignore2
-rwxr-xr-xtests/arthur/baselineserver/bin/runserver13
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.cpp595
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.h142
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.pro30
-rw-r--r--tests/arthur/baselineserver/src/baselineserver.qrc5
-rw-r--r--tests/arthur/baselineserver/src/main.cpp70
-rw-r--r--tests/arthur/baselineserver/src/report.cpp326
-rw-r--r--tests/arthur/baselineserver/src/report.h92
-rw-r--r--tests/arthur/baselineserver/src/templates/view.html79
-rw-r--r--tests/arthur/common/baselineprotocol.cpp537
-rw-r--r--tests/arthur/common/baselineprotocol.h194
-rw-r--r--tests/arthur/common/baselineprotocol.pri11
-rw-r--r--tests/arthur/common/lookup3.cpp786
-rw-r--r--tests/arthur/common/paintcommands.cpp121
-rw-r--r--tests/arthur/common/paintcommands.h8
-rw-r--r--tests/arthur/common/qbaselinetest.cpp193
-rw-r--r--tests/arthur/common/qbaselinetest.h77
-rw-r--r--tests/arthur/common/qbaselinetest.pri13
-rw-r--r--tests/arthur/data/qps/radial_gradients_extended.qps95
-rw-r--r--tests/arthur/data/qps/radial_gradients_extended_qps.pngbin0 -> 107978 bytes-rw-r--r--tests/arthur/lance/lance.pro2
-rw-r--r--tests/auto/baselineexample/baselineexample.pro18
-rw-r--r--tests/auto/baselineexample/tst_baselineexample.cpp146
-rw-r--r--tests/auto/checkxmlfiles/checkxmlfiles.pro2
-rw-r--r--tests/auto/collections/collections.pro1
-rw-r--r--tests/auto/collections/tst_collections.cpp236
-rw-r--r--tests/auto/corelib.pro4
-rw-r--r--tests/auto/dbus.pro2
-rw-r--r--tests/auto/declarative/declarative.pro47
-rw-r--r--tests/auto/declarative/examples/examples.pro6
-rw-r--r--tests/auto/declarative/moduleqt47/moduleqt47.pro4
-rw-r--r--tests/auto/declarative/parserstress/parserstress.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/data/transitionAssignmentBug.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/tst_qdeclarativeanimations.cpp13
-rw-r--r--tests/auto/declarative/qdeclarativeapplication/tst_qdeclarativeapplication.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro4
-rw-r--r--tests/auto/declarative/qdeclarativebinding/data/deletedObject.qml24
-rw-r--r--tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro4
-rw-r--r--tests/auto/declarative/qdeclarativebinding/tst_qdeclarativebinding.cpp17
-rw-r--r--tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro4
-rw-r--r--tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp142
-rw-r--r--tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/app/app.pro12
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/app/main.cpp72
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/data/backtrace1.js28
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/data/backtrace1.qml41
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/qdeclarativedebugjs.pro4
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/tst_qdeclarativedebugjs.cpp1442
-rw-r--r--tests/auto/declarative/qdeclarativedebugjs/tst_qdeclarativedebugjs.pro26
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/qtbug_20648.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/realToInt.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp27
-rw-r--r--tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro4
-rw-r--r--tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro4
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro4
-rw-r--r--tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro4
-rw-r--r--tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp10
-rw-r--r--tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/NestedComponentRoot.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/nestedComponentRoots.qml4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro4
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp7
-rw-r--r--tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro4
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro4
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp5
-rw-r--r--tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro4
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro4
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro4
-rw-r--r--tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro4
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro4
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp3
-rw-r--r--tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro4
-rw-r--r--tests/auto/declarative/qdeclarativescriptdebugging/data/backtrace1.js11
-rw-r--r--tests/auto/declarative/qdeclarativescriptdebugging/data/backtrace1.qml27
-rw-r--r--tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro20
-rw-r--r--tests/auto/declarative/qdeclarativescriptdebugging/tst_qdeclarativescriptdebugging.cpp154
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro4
-rw-r--r--tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro4
-rw-r--r--tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro4
-rw-r--r--tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro4
-rw-r--r--tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro4
-rw-r--r--tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro4
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro4
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro4
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro6
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro4
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/basic.icobin318 -> 0 bytes-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/basic.qml6
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/elements.qml8
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/loadError.qml6
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/newwindows.html16
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/newwindows.qml34
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/pixelCache.html10
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/pixelCache.qml6
-rw-r--r--tests/auto/declarative/qdeclarativewebview/data/sethtml.qml6
-rw-r--r--tests/auto/declarative/qdeclarativewebview/qdeclarativewebview.pro16
-rw-r--r--tests/auto/declarative/qdeclarativewebview/tst_qdeclarativewebview.cpp520
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro4
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro4
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro4
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp5
-rw-r--r--tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp30
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.pngbin1450 -> 1454 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.pngbin1188 -> 1189 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.pngbin1747 -> 1199 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.pngbin950 -> 941 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.1.pngbin983 -> 975 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.2.pngbin1243 -> 1235 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.3.pngbin1235 -> 1225 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.4.pngbin1253 -> 1247 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.5.pngbin1249 -> 1243 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.6.pngbin1241 -> 1234 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.7.pngbin1251 -> 1242 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.pngbin801 -> 2388 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.pngbin791 -> 762 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.pngbin1313 -> 1313 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.pngbin322 -> 1640 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.pngbin322 -> 625 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.0.pngbin465 -> 303 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.1.pngbin465 -> 303 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.1.pngbin581 -> 483 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.pngbin1187 -> 1189 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.1.pngbin1066 -> 1068 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.1.pngbin967 -> 814 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.2.pngbin962 -> 809 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.3.pngbin678 -> 527 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.4.pngbin676 -> 526 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.5.pngbin542 -> 399 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.pngbin1563 -> 3481 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.pngbin6348 -> 53503 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.0.pngbin13194 -> 13140 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.0.pngbin1510 -> 1503 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.0.pngbin9415 -> 9297 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.0.pngbin10671 -> 10626 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.pngbin1362 -> 5123 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.pngbin1377 -> 5500 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.pngbin2037 -> 8641 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.pngbin2037 -> 8641 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.pngbin1461 -> 6163 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.pngbin1577 -> 6785 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.pngbin1704 -> 6943 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.pngbin1778 -> 7043 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.pngbin1797 -> 7428 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.pngbin1859 -> 6860 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.pngbin1835 -> 8659 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.pngbin2028 -> 8641 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.pngbin3756 -> 11626 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.pngbin3891 -> 11869 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.pngbin3964 -> 12264 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.pngbin4054 -> 12607 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.pngbin4132 -> 13243 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.pngbin4234 -> 13260 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.pngbin4238 -> 13260 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.pngbin855 -> 688 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.pngbin863 -> 693 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.pngbin865 -> 695 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.pngbin862 -> 694 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.4.pngbin855 -> 688 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.pngbin2032 -> 2020 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.pngbin2032 -> 2020 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.pngbin2032 -> 2020 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.pngbin1843 -> 1836 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.pngbin2024 -> 2008 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.7.pngbin3930 -> 3943 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.pngbin256 -> 703 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.pngbin343 -> 1360 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.pngbin461 -> 2031 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.pngbin1468 -> 1455 bytes-rw-r--r--tests/auto/declarative/qmlvisual/qmlvisual.pro4
-rw-r--r--tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp14
-rw-r--r--tests/auto/declarative/qperformancetimer/tst_qperformancetimer.cpp2
-rw-r--r--tests/auto/declarative/symbianlibs.pri9
-rw-r--r--tests/auto/exceptionsafety/exceptionsafety.pro1
-rw-r--r--tests/auto/exceptionsafety_objects/tst_exceptionsafety_objects.cpp122
-rw-r--r--tests/auto/gestures/tst_gestures.cpp20
-rw-r--r--tests/auto/gui.pro11
-rw-r--r--tests/auto/guiapplauncher/guiapplauncher.pro1
-rw-r--r--tests/auto/guiapplauncher/tst_guiapplauncher.cpp2
-rw-r--r--tests/auto/headers/tst_headers.cpp6
-rw-r--r--tests/auto/lancelot/.gitignore1
-rw-r--r--tests/auto/lancelot/lancelot.pro13
-rw-r--r--tests/auto/lancelot/scripts/aliasing.qps156
-rw-r--r--tests/auto/lancelot/scripts/arcs.qps68
-rw-r--r--tests/auto/lancelot/scripts/arcs2.qps47
-rw-r--r--tests/auto/lancelot/scripts/background.qps136
-rw-r--r--tests/auto/lancelot/scripts/background_brush.qps5
-rw-r--r--tests/auto/lancelot/scripts/beziers.qps147
-rw-r--r--tests/auto/lancelot/scripts/bitmaps.qps166
-rw-r--r--tests/auto/lancelot/scripts/borderimage.qps120
-rw-r--r--tests/auto/lancelot/scripts/brush_pens.qps104
-rw-r--r--tests/auto/lancelot/scripts/brushes.qps79
-rw-r--r--tests/auto/lancelot/scripts/clippaths.qps60
-rw-r--r--tests/auto/lancelot/scripts/clipping.qps182
-rw-r--r--tests/auto/lancelot/scripts/clipping_state.qps47
-rw-r--r--tests/auto/lancelot/scripts/cliprects.qps59
-rw-r--r--tests/auto/lancelot/scripts/conical_gradients.qps85
-rw-r--r--tests/auto/lancelot/scripts/conical_gradients_perspectives.qps64
-rw-r--r--tests/auto/lancelot/scripts/dashes.qps268
-rw-r--r--tests/auto/lancelot/scripts/degeneratebeziers.qps10
-rw-r--r--tests/auto/lancelot/scripts/deviceclipping.qps48
-rw-r--r--tests/auto/lancelot/scripts/drawpoints.qps101
-rw-r--r--tests/auto/lancelot/scripts/ellipses.qps86
-rw-r--r--tests/auto/lancelot/scripts/filltest.qps413
-rw-r--r--tests/auto/lancelot/scripts/gradients.qps44
-rw-r--r--tests/auto/lancelot/scripts/hinting.qps26
-rw-r--r--tests/auto/lancelot/scripts/image_formats.qps81
-rw-r--r--tests/auto/lancelot/scripts/images.qps106
-rw-r--r--tests/auto/lancelot/scripts/images2.qps145
-rw-r--r--tests/auto/lancelot/scripts/join_cap_styles.qps63
-rw-r--r--tests/auto/lancelot/scripts/join_cap_styles_duplicate_control_points.qps68
-rw-r--r--tests/auto/lancelot/scripts/linear_gradients.qps144
-rw-r--r--tests/auto/lancelot/scripts/linear_gradients_perspectives.qps62
-rw-r--r--tests/auto/lancelot/scripts/linear_resolving_gradients.qps66
-rw-r--r--tests/auto/lancelot/scripts/lineconsistency.qps72
-rw-r--r--tests/auto/lancelot/scripts/linedashes.qps94
-rw-r--r--tests/auto/lancelot/scripts/linedashes2.qps154
-rw-r--r--tests/auto/lancelot/scripts/linedashes2_aa.qps5
-rw-r--r--tests/auto/lancelot/scripts/lines.qps558
-rw-r--r--tests/auto/lancelot/scripts/lines2.qps179
-rw-r--r--tests/auto/lancelot/scripts/pathfill.qps38
-rw-r--r--tests/auto/lancelot/scripts/paths.qps34
-rw-r--r--tests/auto/lancelot/scripts/paths_aa.qps4
-rw-r--r--tests/auto/lancelot/scripts/pens.qps133
-rw-r--r--tests/auto/lancelot/scripts/pens_aa.qps6
-rw-r--r--tests/auto/lancelot/scripts/pens_cosmetic.qps110
-rw-r--r--tests/auto/lancelot/scripts/perspectives.qps72
-rw-r--r--tests/auto/lancelot/scripts/perspectives2.qps309
-rw-r--r--tests/auto/lancelot/scripts/pixmap_rotation.qps30
-rw-r--r--tests/auto/lancelot/scripts/pixmap_scaling.qps224
-rw-r--r--tests/auto/lancelot/scripts/pixmap_subpixel.qps117
-rw-r--r--tests/auto/lancelot/scripts/pixmaps.qps106
-rw-r--r--tests/auto/lancelot/scripts/porter_duff.qps251
-rw-r--r--tests/auto/lancelot/scripts/porter_duff2.qps261
-rw-r--r--tests/auto/lancelot/scripts/primitives.qps184
-rw-r--r--tests/auto/lancelot/scripts/radial_gradients.qps99
-rw-r--r--tests/auto/lancelot/scripts/radial_gradients_perspectives.qps62
-rw-r--r--tests/auto/lancelot/scripts/rasterops.qps87
-rw-r--r--tests/auto/lancelot/scripts/sizes.qps150
-rw-r--r--tests/auto/lancelot/scripts/statictext.qps122
-rw-r--r--tests/auto/lancelot/scripts/text.qps124
-rw-r--r--tests/auto/lancelot/scripts/text_perspectives.qps102
-rw-r--r--tests/auto/lancelot/scripts/tiled_pixmap.qps84
-rw-r--r--tests/auto/lancelot/tst_lancelot.cpp359
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsejscontexts/main.js29
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsejscontexts/project.pro3
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsejscontexts/project.ts.result81
-rw-r--r--tests/auto/macnativeevents/expectedeventlist.cpp29
-rw-r--r--tests/auto/macnativeevents/expectedeventlist.h2
-rw-r--r--tests/auto/macnativeevents/nativeeventlist.cpp8
-rw-r--r--tests/auto/macnativeevents/nativeeventlist.h1
-rw-r--r--tests/auto/macnativeevents/qnativeevents_mac.cpp8
-rw-r--r--tests/auto/macnativeevents/tst_macnativeevents.cpp107
-rwxr-xr-xtests/auto/mediaobject/mediaobject.pro2
-rw-r--r--tests/auto/mediaobject/tst_mediaobject.cpp6
-rw-r--r--tests/auto/moc/moc.pro2
-rw-r--r--tests/auto/moc/tst_moc.cpp172
-rw-r--r--tests/auto/modeltest/dynamictreemodel.cpp10
-rw-r--r--tests/auto/modeltest/modeltest.cpp142
-rw-r--r--tests/auto/modeltest/tst_modeltest.cpp52
-rw-r--r--tests/auto/network.pro11
-rw-r--r--tests/auto/networkselftest/networkselftest.pro4
-rw-r--r--tests/auto/networkselftest/tst_networkselftest.cpp337
-rw-r--r--tests/auto/opengl.pro1
-rw-r--r--tests/auto/other.pro8
-rw-r--r--tests/auto/patternistexamples/patternistexamples.pro12
-rw-r--r--tests/auto/platformsocketengine/.gitignore1
-rw-r--r--tests/auto/platformsocketengine/platformsocketengine.pri (renamed from tests/auto/qnativesocketengine/qsocketengine.pri)0
-rw-r--r--tests/auto/platformsocketengine/platformsocketengine.pro16
-rw-r--r--tests/auto/platformsocketengine/tst_platformsocketengine.cpp763
-rw-r--r--tests/auto/q3accel/tst_q3accel.cpp2
-rw-r--r--tests/auto/q3checklistitem/tst_q3checklistitem.cpp2
-rw-r--r--tests/auto/q3dns/tst_q3dns.cpp4
-rw-r--r--tests/auto/q3listview/tst_q3listview.cpp2
-rw-r--r--tests/auto/q3popupmenu/tst_q3popupmenu.cpp2
-rw-r--r--tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp10
-rw-r--r--tests/auto/q_func_info/q_func_info.pro1
-rw-r--r--tests/auto/qabstractfileengine/qabstractfileengine.pro6
-rw-r--r--tests/auto/qabstractfileengine/qabstractfileengine.qrc5
-rw-r--r--tests/auto/qabstractfileengine/resources/file.txt1
-rw-r--r--tests/auto/qabstractfileengine/tst_qabstractfileengine.cpp794
-rw-r--r--tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro2
-rw-r--r--tests/auto/qabstractnetworkcache/tst_qabstractnetworkcache.cpp39
-rw-r--r--tests/auto/qabstractxmlnodemodel/LoadingModel.cpp54
-rw-r--r--tests/auto/qabstractxmlnodemodel/qabstractxmlnodemodel.pro2
-rw-r--r--tests/auto/qaccessibility/qaccessibility.pro5
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp1253
-rw-r--r--tests/auto/qaction/tst_qaction.cpp2
-rw-r--r--tests/auto/qalgorithms/tst_qalgorithms.cpp26
-rw-r--r--tests/auto/qanimationgroup/qanimationgroup.pro1
-rw-r--r--tests/auto/qapplication/test/test.pro12
-rw-r--r--tests/auto/qapplication/tst_qapplication.cpp2
-rw-r--r--tests/auto/qatomicint/qatomicint.pro1
-rw-r--r--tests/auto/qatomicint/tst_qatomicint.cpp3
-rw-r--r--tests/auto/qatomicpointer/qatomicpointer.pro1
-rw-r--r--tests/auto/qatomicpointer/tst_qatomicpointer.cpp3
-rw-r--r--tests/auto/qaudioinput/qaudioinput.pro4
-rw-r--r--tests/auto/qaudiooutput/qaudiooutput.pro4
-rw-r--r--tests/auto/qbitarray/qbitarray.pro1
-rw-r--r--tests/auto/qbitarray/tst_qbitarray.cpp9
-rw-r--r--tests/auto/qbrush/tst_qbrush.cpp9
-rw-r--r--tests/auto/qbuffer/qbuffer.pro1
-rw-r--r--tests/auto/qbuffer/tst_qbuffer.cpp53
-rw-r--r--tests/auto/qbuttongroup/tst_qbuttongroup.cpp10
-rw-r--r--tests/auto/qbytearray/qbytearray.pro3
-rw-r--r--tests/auto/qbytearray/tst_qbytearray.cpp77
-rw-r--r--tests/auto/qbytearraymatcher/qbytearraymatcher.pro1
-rw-r--r--tests/auto/qcache/qcache.pro1
-rw-r--r--tests/auto/qchar/qchar.pro5
-rw-r--r--tests/auto/qchar/tst_qchar.cpp4
-rw-r--r--tests/auto/qcheckbox/tst_qcheckbox.cpp7
-rw-r--r--tests/auto/qclipboard/test/test.pro14
-rw-r--r--tests/auto/qclipboard/tst_qclipboard.cpp8
-rw-r--r--tests/auto/qcolor/tst_qcolor.cpp12
-rw-r--r--tests/auto/qcombobox/tst_qcombobox.cpp39
-rw-r--r--tests/auto/qcommandlinkbutton/tst_qcommandlinkbutton.cpp2
-rw-r--r--tests/auto/qcompleter/tst_qcompleter.cpp43
-rw-r--r--tests/auto/qcomplextext/bidireorderstring.h1
-rw-r--r--tests/auto/qcomplextext/tst_qcomplextext.cpp127
-rw-r--r--tests/auto/qcontiguouscache/qcontiguouscache.pro1
-rw-r--r--tests/auto/qcontiguouscache/tst_qcontiguouscache.cpp13
-rw-r--r--tests/auto/qcopchannel/testSend/main.cpp6
-rw-r--r--tests/auto/qcoreapplication/qcoreapplication.pro1
-rw-r--r--tests/auto/qcryptographichash/qcryptographichash.pro1
-rw-r--r--tests/auto/qcssparser/qcssparser.pro4
-rw-r--r--tests/auto/qdatastream/qdatastream.pro4
-rw-r--r--tests/auto/qdatastream/tst_qdatastream.cpp51
-rw-r--r--tests/auto/qdate/qdate.pro1
-rw-r--r--tests/auto/qdatetime/qdatetime.pro4
-rw-r--r--tests/auto/qdatetime/tst_qdatetime.cpp49
-rw-r--r--tests/auto/qdatetimeedit/tst_qdatetimeedit.cpp52
-rw-r--r--tests/auto/qdbusabstractadaptor/myobject.h286
-rw-r--r--tests/auto/qdbusabstractadaptor/qdbusabstractadaptor.pro9
-rw-r--r--tests/auto/qdbusabstractadaptor/qmyserver/qmyserver.cpp167
-rw-r--r--tests/auto/qdbusabstractadaptor/qmyserver/qmyserver.pro5
-rw-r--r--tests/auto/qdbusabstractadaptor/test/test.pro7
-rw-r--r--tests/auto/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp985
-rw-r--r--tests/auto/qdbusabstractinterface/com.trolltech.QtDBus.Pinger.xml2
-rw-r--r--tests/auto/qdbusabstractinterface/interface.h1
-rw-r--r--tests/auto/qdbusabstractinterface/qdbusabstractinterface.pro17
-rw-r--r--tests/auto/qdbusabstractinterface/qpinger/qpinger.cpp131
-rw-r--r--tests/auto/qdbusabstractinterface/qpinger/qpinger.pro5
-rw-r--r--tests/auto/qdbusabstractinterface/test/test.pro13
-rw-r--r--tests/auto/qdbusabstractinterface/tst_qdbusabstractinterface.cpp573
-rw-r--r--tests/auto/qdbusconnection/tst_qdbusconnection.cpp582
-rw-r--r--tests/auto/qdbusinterface/myobject.h164
-rw-r--r--tests/auto/qdbusinterface/qdbusinterface.pro7
-rw-r--r--tests/auto/qdbusinterface/qmyserver/qmyserver.cpp155
-rw-r--r--tests/auto/qdbusinterface/qmyserver/qmyserver.pro5
-rw-r--r--tests/auto/qdbusinterface/test/test.pro7
-rw-r--r--tests/auto/qdbusinterface/tst_qdbusinterface.cpp700
-rw-r--r--tests/auto/qdbusmarshall/common.h69
-rw-r--r--tests/auto/qdbusmarshall/qdbusmarshall.pro2
-rw-r--r--tests/auto/qdbusmarshall/tst_qdbusmarshall.cpp94
-rw-r--r--tests/auto/qdbusperformance/qdbusperformance.pro8
-rw-r--r--tests/auto/qdbusthreading/tst_qdbusthreading.cpp2
-rw-r--r--tests/auto/qdbustype/qdbustype.pro10
-rw-r--r--tests/auto/qdbustype/tst_qdbustype.cpp273
-rw-r--r--tests/auto/qdebug/qdebug.pro1
-rw-r--r--tests/auto/qdesktopservices/qdesktopservices.pro12
-rw-r--r--tests/auto/qdial/tst_qdial.cpp64
-rw-r--r--tests/auto/qdir/qdir.pro5
-rw-r--r--tests/auto/qdir/tst_qdir.cpp415
-rw-r--r--tests/auto/qdiriterator/qdiriterator.pro6
-rw-r--r--tests/auto/qdiriterator/tst_qdiriterator.cpp48
-rw-r--r--tests/auto/qdirmodel/qdirmodel.pro6
-rw-r--r--tests/auto/qdirmodel/tst_qdirmodel.cpp28
-rw-r--r--tests/auto/qdom/qdom.pro2
-rw-r--r--tests/auto/qdom/tst_qdom.cpp18
-rw-r--r--tests/auto/qeasingcurve/qeasingcurve.pro1
-rw-r--r--tests/auto/qeasingcurve/tst_qeasingcurve.cpp6
-rw-r--r--tests/auto/qelapsedtimer/qelapsedtimer.pro1
-rw-r--r--tests/auto/qelapsedtimer/tst_qelapsedtimer.cpp7
-rw-r--r--tests/auto/qevent/qevent.pro1
-rw-r--r--tests/auto/qeventloop/qeventloop.pro1
-rw-r--r--tests/auto/qeventloop/tst_qeventloop.cpp89
-rw-r--r--tests/auto/qexplicitlyshareddatapointer/qexplicitlyshareddatapointer.pro1
-rw-r--r--tests/auto/qfile/largefile/largefile.pro2
-rw-r--r--tests/auto/qfile/largefile/tst_largefile.cpp8
-rw-r--r--tests/auto/qfile/qfile.pro1
-rw-r--r--tests/auto/qfile/test/test.pro10
-rw-r--r--tests/auto/qfile/tst_qfile.cpp397
-rw-r--r--tests/auto/qfiledialog/qfiledialog.pro4
-rw-r--r--tests/auto/qfiledialog/resources/file.txt1
-rw-r--r--tests/auto/qfiledialog/tst_qfiledialog.cpp57
-rw-r--r--tests/auto/qfiledialog2/qfiledialog2.pro4
-rw-r--r--tests/auto/qfiledialog2/tst_qfiledialog2.cpp6
-rw-r--r--tests/auto/qfileinfo/qfileinfo.pro11
-rw-r--r--tests/auto/qfileinfo/tst_qfileinfo.cpp401
-rw-r--r--tests/auto/qfileopenevent/qfileopenevent.pro2
-rw-r--r--tests/auto/qfileopenevent/qfileopeneventexternal/qfileopeneventexternal.cpp72
-rw-r--r--tests/auto/qfileopenevent/qfileopeneventexternal/qfileopeneventexternal.pro10
-rw-r--r--tests/auto/qfileopenevent/test/test.pro7
-rw-r--r--tests/auto/qfileopenevent/test/tst_qfileopenevent.cpp362
-rw-r--r--tests/auto/qfilesystementry/qfilesystementry.pro8
-rw-r--r--tests/auto/qfilesystementry/tst_qfilesystementry.cpp387
-rw-r--r--tests/auto/qfilesystemmodel/qfilesystemmodel.pro2
-rw-r--r--tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp46
-rw-r--r--tests/auto/qfilesystemwatcher/qfilesystemwatcher.pro2
-rw-r--r--tests/auto/qfilesystemwatcher/tst_qfilesystemwatcher.cpp20
-rw-r--r--tests/auto/qflags/qflags.pro1
-rw-r--r--tests/auto/qflags/tst_qflags.cpp28
-rw-r--r--tests/auto/qfont/tst_qfont.cpp20
-rw-r--r--tests/auto/qfontdatabase/qfontdatabase.pro2
-rw-r--r--tests/auto/qfontdatabase/tst_qfontdatabase.cpp35
-rw-r--r--tests/auto/qfontmetrics/qfontmetrics.pro2
-rw-r--r--tests/auto/qfontmetrics/testfont.qrc5
-rw-r--r--tests/auto/qfontmetrics/tst_qfontmetrics.cpp22
-rw-r--r--tests/auto/qfontmetrics/ucs4font.ttfbin0 -> 3076 bytes-rw-r--r--tests/auto/qftp/qftp.pro4
-rw-r--r--tests/auto/qftp/tst_qftp.cpp118
-rw-r--r--tests/auto/qfuture/qfuture.pro1
-rw-r--r--tests/auto/qfuture/tst_qfuture.cpp28
-rw-r--r--tests/auto/qfuture/versioncheck.h4
-rw-r--r--tests/auto/qfuturewatcher/qfuturewatcher.pro1
-rw-r--r--tests/auto/qfuturewatcher/tst_qfuturewatcher.cpp35
-rw-r--r--tests/auto/qgetputenv/qgetputenv.pro1
-rw-r--r--tests/auto/qgl/tst_qgl.cpp26
-rw-r--r--tests/auto/qglfunctions/qglfunctions.pro7
-rw-r--r--tests/auto/qglfunctions/tst_qglfunctions.cpp244
-rw-r--r--tests/auto/qglobal/qglobal.pro1
-rw-r--r--tests/auto/qglthreads/tst_qglthreads.cpp299
-rw-r--r--tests/auto/qglthreads/tst_qglthreads.h4
-rw-r--r--tests/auto/qglyphrun/qglyphrun.pro11
-rw-r--r--tests/auto/qglyphrun/test.ttfbin0 -> 3712 bytes-rw-r--r--tests/auto/qglyphrun/tst_qglyphrun.cpp661
-rw-r--r--tests/auto/qgraphicsanchorlayout/qgraphicsanchorlayout.pro2
-rw-r--r--tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp44
-rw-r--r--tests/auto/qgraphicsanchorlayout1/qgraphicsanchorlayout1.pro2
-rw-r--r--tests/auto/qgraphicsanchorlayout1/tst_qgraphicsanchorlayout1.cpp22
-rw-r--r--tests/auto/qgraphicseffect/qgraphicseffect.pro2
-rw-r--r--tests/auto/qgraphicseffectsource/qgraphicseffectsource.pro2
-rw-r--r--tests/auto/qgraphicsgridlayout/qgraphicsgridlayout.pro2
-rw-r--r--tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp507
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp4
-rw-r--r--tests/auto/qgraphicsitemanimation/qgraphicsitemanimation.pro2
-rw-r--r--tests/auto/qgraphicslayout/qgraphicslayout.pro2
-rw-r--r--tests/auto/qgraphicslayoutitem/qgraphicslayoutitem.pro2
-rw-r--r--tests/auto/qgraphicslinearlayout/qgraphicslinearlayout.pro2
-rw-r--r--tests/auto/qgraphicsobject/qgraphicsobject.pro1
-rw-r--r--tests/auto/qgraphicspixmapitem/qgraphicspixmapitem.pro2
-rw-r--r--tests/auto/qgraphicspolygonitem/qgraphicspolygonitem.pro2
-rw-r--r--tests/auto/qgraphicsproxywidget/tst_qgraphicsproxywidget.cpp69
-rw-r--r--tests/auto/qgraphicsscene/qgraphicsscene.pro4
-rw-r--r--tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp2
-rw-r--r--tests/auto/qgraphicssceneindex/qgraphicssceneindex.pro2
-rw-r--r--tests/auto/qgraphicstransform/qgraphicstransform.pro1
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp63
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp4
-rw-r--r--tests/auto/qhash/qhash.pro1
-rw-r--r--tests/auto/qhash/tst_qhash.cpp11
-rw-r--r--tests/auto/qheaderview/tst_qheaderview.cpp39
-rw-r--r--tests/auto/qhelpcontentmodel/qhelpcontentmodel.pro4
-rw-r--r--tests/auto/qhelpenginecore/qhelpenginecore.pro4
-rw-r--r--tests/auto/qhostaddress/tst_qhostaddress.cpp40
-rw-r--r--tests/auto/qhostinfo/tst_qhostinfo.cpp176
-rw-r--r--tests/auto/qhttp/qhttp.pro16
-rw-r--r--tests/auto/qhttpnetworkconnection/tst_qhttpnetworkconnection.cpp96
-rw-r--r--tests/auto/qhttpsocketengine/qhttpsocketengine.pro2
-rw-r--r--tests/auto/qicoimageformat/qicoimageformat.pro10
-rw-r--r--tests/auto/qicon/qicon.pro12
-rw-r--r--tests/auto/qicon/tst_qicon.cpp16
-rw-r--r--tests/auto/qidentityproxymodel/qidentityproxymodel.pro6
-rw-r--r--tests/auto/qidentityproxymodel/tst_qidentityproxymodel.cpp334
-rw-r--r--tests/auto/qimage/qimage.pro6
-rw-r--r--tests/auto/qimage/tst_qimage.cpp127
-rw-r--r--tests/auto/qimagereader/images/test32bfv4.bmpbin0 -> 232874 bytes-rw-r--r--tests/auto/qimagereader/images/test32v5.bmpbin0 -> 174858 bytes-rwxr-xr-xtests/auto/qimagereader/images/txts.pngbin0 -> 5413 bytes-rw-r--r--tests/auto/qimagereader/qimagereader.pro8
-rw-r--r--tests/auto/qimagereader/qimagereader.qrc3
-rw-r--r--tests/auto/qimagereader/tst_qimagereader.cpp122
-rw-r--r--tests/auto/qimagewriter/qimagewriter.pro6
-rw-r--r--tests/auto/qinputdialog/tst_qinputdialog.cpp18
-rw-r--r--tests/auto/qiodevice/qiodevice.pro4
-rw-r--r--tests/auto/qiodevice/tst_qiodevice.cpp59
-rw-r--r--tests/auto/qitemdelegate/tst_qitemdelegate.cpp26
-rw-r--r--tests/auto/qitemmodel/modelstotest.cpp35
-rw-r--r--tests/auto/qitemmodel/qitemmodel.pro4
-rw-r--r--tests/auto/qitemmodel/tst_qitemmodel.cpp42
-rw-r--r--tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp289
-rw-r--r--tests/auto/qitemview/tst_qitemview.cpp94
-rw-r--r--tests/auto/qitemview/viewstotest.cpp1
-rw-r--r--tests/auto/qkeysequence/tst_qkeysequence.cpp12
-rw-r--r--tests/auto/qlabel/qlabel.pro2
-rw-r--r--tests/auto/qlayout/qlayout.pro2
-rw-r--r--tests/auto/qlibrary/qlibrary.pro1
-rw-r--r--tests/auto/qlibrary/tst/tst.pro6
-rw-r--r--tests/auto/qlibrary/tst_qlibrary.cpp76
-rw-r--r--tests/auto/qline/qline.pro1
-rw-r--r--tests/auto/qlineedit/tst_qlineedit.cpp136
-rw-r--r--tests/auto/qlist/tst_qlist.cpp23
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp2
-rw-r--r--tests/auto/qlistwidget/tst_qlistwidget.cpp58
-rw-r--r--tests/auto/qlocale/test/test.pro2
-rw-r--r--tests/auto/qlocale/tst_qlocale.cpp165
-rw-r--r--tests/auto/qlocalsocket/test/test.pro8
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp6
-rw-r--r--tests/auto/qmake/testdata/subdir_via_pro_file_extra_target/simple/main.cpp45
-rw-r--r--tests/auto/qmake/testdata/subdir_via_pro_file_extra_target/simple/simple.pro5
-rw-r--r--tests/auto/qmake/testdata/subdir_via_pro_file_extra_target/subdir.pro7
-rw-r--r--tests/auto/qmake/testdata/subdir_via_pro_file_extra_target/subdir_via_pro_file_extra_target.pro7
-rw-r--r--tests/auto/qmake/tst_qmake.cpp14
-rw-r--r--tests/auto/qmap/qmap.pro1
-rw-r--r--tests/auto/qmap/tst_qmap.cpp12
-rw-r--r--tests/auto/qmargins/qmargins.pro1
-rw-r--r--tests/auto/qmath/qmath.pro1
-rw-r--r--tests/auto/qmatrixnxn/tst_qmatrixnxn.cpp6
-rw-r--r--tests/auto/qmdiarea/tst_qmdiarea.cpp73
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp4
-rw-r--r--tests/auto/qmenubar/tst_qmenubar.cpp2
-rw-r--r--tests/auto/qmessagebox/tst_qmessagebox.cpp187
-rw-r--r--tests/auto/qmetaobject/tst_qmetaobject.cpp179
-rw-r--r--tests/auto/qmetatype/qmetatype.pro1
-rw-r--r--tests/auto/qmetatype/tst_qmetatype.cpp48
-rw-r--r--tests/auto/qmovie/animations/corrupt.gifbin0 -> 847 bytes-rw-r--r--tests/auto/qmovie/qmovie.pro7
-rw-r--r--tests/auto/qmovie/resources.qrc5
-rw-r--r--tests/auto/qmovie/tst_qmovie.cpp13
-rw-r--r--tests/auto/qmutex/qmutex.pro1
-rw-r--r--tests/auto/qmutex/tst_qmutex.cpp98
-rw-r--r--tests/auto/qmutexlocker/qmutexlocker.pro1
-rw-r--r--tests/auto/qmutexlocker/tst_qmutexlocker.cpp2
-rw-r--r--tests/auto/qnativesocketengine/.gitignore1
-rw-r--r--tests/auto/qnativesocketengine/qnativesocketengine.pro13
-rw-r--r--tests/auto/qnativesocketengine/tst_qnativesocketengine.cpp705
-rw-r--r--tests/auto/qnetworkaccessmanager_and_qprogressdialog/tst_qnetworkaccessmanager_and_qprogressdialog.cpp18
-rw-r--r--tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro1
-rw-r--r--tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp9
-rw-r--r--tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp4
-rw-r--r--tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro1
-rw-r--r--tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp38
-rw-r--r--tests/auto/qnetworkinterface/tst_qnetworkinterface.cpp45
-rw-r--r--tests/auto/qnetworkproxyfactory/qnetworkproxyfactory.pro2
-rw-r--r--tests/auto/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp149
-rw-r--r--tests/auto/qnetworkreply/image1.jpgbin0 -> 1045459 bytes-rw-r--r--tests/auto/qnetworkreply/image2.jpgbin0 -> 879218 bytes-rw-r--r--tests/auto/qnetworkreply/image3.jpgbin0 -> 887729 bytes-rw-r--r--tests/auto/qnetworkreply/test/test.pro16
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp1061
-rw-r--r--tests/auto/qnetworksession/test/tst_qnetworksession.cpp20
-rw-r--r--tests/auto/qnumeric/qnumeric.pro1
-rw-r--r--tests/auto/qobject/qobject.pro1
-rw-r--r--tests/auto/qobject/signalbug.cpp9
-rw-r--r--tests/auto/qobject/tst_qobject.cpp383
-rw-r--r--tests/auto/qobject/tst_qobject.pro4
-rw-r--r--tests/auto/qobjectrace/qobjectrace.pro1
-rw-r--r--tests/auto/qpainter/qpainter.pro2
-rw-r--r--tests/auto/qpainter/tst_qpainter.cpp167
-rw-r--r--tests/auto/qpainterpath/tst_qpainterpath.cpp39
-rw-r--r--tests/auto/qpauseanimation/tst_qpauseanimation.cpp5
-rw-r--r--tests/auto/qpen/tst_qpen.cpp9
-rw-r--r--tests/auto/qpicture/tst_qpicture.cpp13
-rw-r--r--tests/auto/qpixmap/qpixmap.pro8
-rw-r--r--tests/auto/qpixmap/tst_qpixmap.cpp24
-rw-r--r--tests/auto/qpixmapfilter/qpixmapfilter.pro2
-rw-r--r--tests/auto/qplaintextedit/tst_qplaintextedit.cpp18
-rw-r--r--tests/auto/qplugin/qplugin.pro1
-rw-r--r--tests/auto/qplugin/tst_qplugin.pro4
-rw-r--r--tests/auto/qpluginloader/elftest/.gitattributes10
-rwxr-xr-xtests/auto/qpluginloader/elftest/corrupt1.elf64.sobin0 -> 239745 bytes-rwxr-xr-xtests/auto/qpluginloader/elftest/corrupt2.elf64.sobin0 -> 240097 bytes-rwxr-xr-xtests/auto/qpluginloader/elftest/corrupt3.elf64.sobin0 -> 240097 bytes-rw-r--r--tests/auto/qpluginloader/elftest/debugobj.sobin0 -> 507232 bytes-rw-r--r--tests/auto/qpluginloader/elftest/garbage1.so4
-rw-r--r--tests/auto/qpluginloader/elftest/garbage2.so1
-rw-r--r--tests/auto/qpluginloader/elftest/garbage3.so1
-rw-r--r--tests/auto/qpluginloader/elftest/garbage4.so1
-rw-r--r--tests/auto/qpluginloader/elftest/garbage5.so2
-rw-r--r--tests/auto/qpluginloader/qpluginloader.pro1
-rw-r--r--tests/auto/qpluginloader/tst/tst.pro8
-rw-r--r--tests/auto/qpluginloader/tst_qpluginloader.cpp64
-rw-r--r--tests/auto/qpoint/qpoint.pro1
-rw-r--r--tests/auto/qpointer/tst_qpointer.cpp128
-rw-r--r--tests/auto/qpolygon/tst_qpolygon.cpp10
-rw-r--r--tests/auto/qprinterinfo/tst_qprinterinfo.cpp4
-rw-r--r--tests/auto/qprocess/test/test.pro40
-rw-r--r--tests/auto/qprocess/tst_qprocess.cpp38
-rw-r--r--tests/auto/qprocessenvironment/qprocessenvironment.pro1
-rw-r--r--tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp67
-rw-r--r--tests/auto/qprogressbar/tst_qprogressbar.cpp7
-rw-r--r--tests/auto/qpushbutton/tst_qpushbutton.cpp2
-rw-r--r--tests/auto/qqueue/qqueue.pro1
-rw-r--r--tests/auto/qradiobutton/tst_qradiobutton.cpp6
-rw-r--r--tests/auto/qrand/qrand.pro1
-rw-r--r--tests/auto/qrawfont/qrawfont.pro13
-rw-r--r--tests/auto/qrawfont/testfont.ttfbin0 -> 63212 bytes-rw-r--r--tests/auto/qrawfont/testfont_bold_italic.ttfbin0 -> 49760 bytes-rw-r--r--tests/auto/qrawfont/tst_qrawfont.cpp850
-rw-r--r--tests/auto/qreadlocker/qreadlocker.pro1
-rw-r--r--tests/auto/qreadlocker/tst_qreadlocker.cpp2
-rw-r--r--tests/auto/qreadwritelock/qreadwritelock.pro1
-rw-r--r--tests/auto/qreadwritelock/tst_qreadwritelock.cpp35
-rw-r--r--tests/auto/qrect/qrect.pro1
-rw-r--r--tests/auto/qregexp/qregexp.pro1
-rw-r--r--tests/auto/qregexp/tst_qregexp.cpp9
-rw-r--r--tests/auto/qregion/tst_qregion.cpp10
-rw-r--r--tests/auto/qresourceengine/qresourceengine.pro21
-rw-r--r--tests/auto/qringbuffer/qringbuffer.pro1
-rw-r--r--tests/auto/qs60mainapplication/qs60mainapplication.pro1
-rw-r--r--tests/auto/qs60mainapplication/tst_qs60mainapplication.cpp259
-rw-r--r--tests/auto/qscopedpointer/qscopedpointer.pro1
-rw-r--r--tests/auto/qscopedpointer/tst_qscopedpointer.cpp22
-rw-r--r--tests/auto/qscopedvaluerollback/qscopedvaluerollback.pro4
-rw-r--r--tests/auto/qscopedvaluerollback/tst_qscopedvaluerollback.cpp203
-rw-r--r--tests/auto/qscriptable/tst_qscriptable.cpp31
-rw-r--r--tests/auto/qscriptclass/tst_qscriptclass.cpp893
-rw-r--r--tests/auto/qscriptcontext/tst_qscriptcontext.cpp576
-rw-r--r--tests/auto/qscriptcontextinfo/tst_qscriptcontextinfo.cpp14
-rw-r--r--tests/auto/qscriptengine/idtranslatable-unicode.js5
-rw-r--r--tests/auto/qscriptengine/qscriptengine.pro2
-rw-r--r--tests/auto/qscriptengine/qscriptengine.qrc2
-rw-r--r--tests/auto/qscriptengine/translatable-unicode.js9
-rw-r--r--tests/auto/qscriptengine/translatable.js3
-rw-r--r--tests/auto/qscriptengine/translations/idtranslatable-unicode.qmbin0 -> 209 bytes-rw-r--r--tests/auto/qscriptengine/translations/idtranslatable-unicode.ts26
-rw-r--r--tests/auto/qscriptengine/translations/translatable-unicode.qmbin0 -> 322 bytes-rw-r--r--tests/auto/qscriptengine/translations/translatable-unicode.ts37
-rw-r--r--tests/auto/qscriptengine/translations/translatable_la.qmbin678 -> 975 bytes-rw-r--r--tests/auto/qscriptengine/translations/translatable_la.ts16
-rw-r--r--tests/auto/qscriptengine/tst_qscriptengine.cpp1569
-rw-r--r--tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp112
-rw-r--r--tests/auto/qscriptenginedebugger/tst_qscriptenginedebugger.cpp80
-rw-r--r--tests/auto/qscriptextensionplugin/qscriptextensionplugin.pro3
-rw-r--r--tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.cpp79
-rw-r--r--tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.pro10
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/__init__.js6
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/staticplugin.cpp75
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/staticplugin.pro8
-rw-r--r--tests/auto/qscriptextensionplugin/staticplugin/staticplugin.qrc6
-rw-r--r--tests/auto/qscriptextensionplugin/test/test.pro18
-rw-r--r--tests/auto/qscriptextensionplugin/tst_qscriptextensionplugin.cpp167
-rw-r--r--tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp341
-rw-r--r--tests/auto/qscriptjstestsuite/expect_fail.txt198
-rw-r--r--tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro4
-rw-r--r--tests/auto/qscriptjstestsuite/qscriptjstestsuite.qrc6
-rw-r--r--tests/auto/qscriptjstestsuite/skip.txt9
-rw-r--r--tests/auto/qscriptjstestsuite/tst_qscriptjstestsuite.cpp819
-rw-r--r--tests/auto/qscriptv8testsuite/abstracttestsuite.cpp493
-rw-r--r--tests/auto/qscriptv8testsuite/abstracttestsuite.h125
-rw-r--r--tests/auto/qscriptv8testsuite/abstracttestsuite.pri4
-rw-r--r--tests/auto/qscriptv8testsuite/expect_fail.txt16
-rw-r--r--tests/auto/qscriptv8testsuite/qscriptv8testsuite.pro9
-rw-r--r--tests/auto/qscriptv8testsuite/qscriptv8testsuite.qrc7
-rw-r--r--tests/auto/qscriptv8testsuite/skip.txt31
-rw-r--r--tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp384
-rw-r--r--tests/auto/qscriptvalue/qscriptvalue.pro8
-rw-r--r--tests/auto/qscriptvalue/testgen/data.txt161
-rw-r--r--tests/auto/qscriptvalue/testgen/testgenerator.cpp771
-rw-r--r--tests/auto/qscriptvalue/testgen/testgenerator.h74
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.cpp1929
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.h418
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp1453
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp7026
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp198
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp830
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp1897
-rw-r--r--tests/auto/qscriptvaluegenerated/.gitignore1
-rw-r--r--tests/auto/qscriptvaluegenerated/qscriptvaluegenerated.pro18
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/data.txt167
-rwxr-xr-xtests/auto/qscriptvaluegenerated/testgen/gen.py (renamed from tests/auto/qscriptvalue/testgen/gen.py)0
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/main.cpp (renamed from tests/auto/qscriptvalue/testgen/main.cpp)0
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/testgen.pro (renamed from tests/auto/qscriptvalue/testgen/testgen.pro)0
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/testgenerator.cpp813
-rw-r--r--tests/auto/qscriptvaluegenerated/testgen/testgenerator.h75
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp116
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h370
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp1504
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp7542
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp204
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp862
-rw-r--r--tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp1963
-rw-r--r--tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp301
-rw-r--r--tests/auto/qsemaphore/qsemaphore.pro1
-rw-r--r--tests/auto/qsemaphore/tst_qsemaphore.cpp26
-rw-r--r--tests/auto/qsequentialanimationgroup/qsequentialanimationgroup.pro1
-rw-r--r--tests/auto/qset/qset.pro1
-rw-r--r--tests/auto/qset/tst_qset.cpp11
-rw-r--r--tests/auto/qsettings/qsettings.pro2
-rw-r--r--tests/auto/qsharedpointer/externaltests.cpp14
-rw-r--r--tests/auto/qsharedpointer/qsharedpointer.pro1
-rw-r--r--tests/auto/qsharedpointer/tst_qsharedpointer.cpp37
-rw-r--r--tests/auto/qshortcut/tst_qshortcut.cpp2
-rw-r--r--tests/auto/qsignalspy/qsignalspy.pro1
-rw-r--r--tests/auto/qsize/qsize.pro1
-rw-r--r--tests/auto/qsizef/qsizef.pro1
-rw-r--r--tests/auto/qsocketnotifier/qsocketnotifier.pro2
-rw-r--r--tests/auto/qsocketnotifier/tst_qsocketnotifier.cpp123
-rw-r--r--tests/auto/qsocks5socketengine/qsocks5socketengine.pro2
-rw-r--r--tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp141
-rw-r--r--tests/auto/qsound/qsound.pro4
-rw-r--r--tests/auto/qsound/tst_qsound.cpp7
-rw-r--r--tests/auto/qsplitter/qsplitter.pro2
-rw-r--r--tests/auto/qsplitter/tst_qsplitter.cpp6
-rw-r--r--tests/auto/qsql/qsql.pro2
-rw-r--r--tests/auto/qsqldatabase/qsqldatabase.pro4
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp4
-rw-r--r--tests/auto/qsqldriver/qsqldriver.pro4
-rw-r--r--tests/auto/qsqlerror/qsqlerror.pro2
-rw-r--r--tests/auto/qsqlfield/qsqlfield.pro2
-rw-r--r--tests/auto/qsqlquery/qsqlquery.pro4
-rw-r--r--tests/auto/qsqlquery/tst_qsqlquery.cpp7
-rw-r--r--tests/auto/qsqlquerymodel/qsqlquerymodel.pro2
-rw-r--r--tests/auto/qsqlquerymodel/tst_qsqlquerymodel.cpp6
-rw-r--r--tests/auto/qsqlrecord/qsqlrecord.pro2
-rw-r--r--tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro4
-rw-r--r--tests/auto/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp285
-rw-r--r--tests/auto/qsqltablemodel/qsqltablemodel.pro4
-rw-r--r--tests/auto/qsqltablemodel/tst_qsqltablemodel.cpp8
-rw-r--r--tests/auto/qsqlthread/qsqlthread.pro4
-rw-r--r--tests/auto/qsslcertificate/certificates/cert-ss-san-utf8.pem16
-rw-r--r--tests/auto/qsslcertificate/certificates/cert-ss-san-utf8.pem.san5
-rwxr-xr-xtests/auto/qsslcertificate/certificates/gencertificates.sh10
-rw-r--r--tests/auto/qsslcertificate/qsslcertificate.pro2
-rw-r--r--tests/auto/qsslcertificate/tst_qsslcertificate.cpp32
-rw-r--r--tests/auto/qsslkey/qsslkey.pro4
-rw-r--r--tests/auto/qsslkey/tst_qsslkey.cpp4
-rw-r--r--tests/auto/qsslsocket/qsslsocket.pro8
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp259
-rw-r--r--tests/auto/qsslsocket_onDemandCertificates_member/qsslsocket_onDemandCertificates_member.pro28
-rw-r--r--tests/auto/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp232
-rw-r--r--tests/auto/qsslsocket_onDemandCertificates_static/qsslsocket_onDemandCertificates_static.pro28
-rw-r--r--tests/auto/qsslsocket_onDemandCertificates_static/tst_qsslsocket_onDemandCertificates_static.cpp238
-rw-r--r--tests/auto/qstate/qstate.pro1
-rw-r--r--tests/auto/qstatemachine/tst_qstatemachine.cpp68
-rw-r--r--tests/auto/qstatictext/tst_qstatictext.cpp25
-rw-r--r--tests/auto/qstl/qstl.pro1
-rw-r--r--tests/auto/qstring/qstring.pro3
-rw-r--r--tests/auto/qstring/tst_qstring.cpp274
-rw-r--r--tests/auto/qstringbuilder1/qstringbuilder1.pro1
-rw-r--r--tests/auto/qstringbuilder1/stringbuilder.cpp97
-rw-r--r--tests/auto/qstringbuilder1/tst_qstringbuilder1.cpp3
-rw-r--r--tests/auto/qstringbuilder2/qstringbuilder2.pro1
-rw-r--r--tests/auto/qstringbuilder2/tst_qstringbuilder2.cpp3
-rw-r--r--tests/auto/qstringbuilder3/qstringbuilder3.pro1
-rw-r--r--tests/auto/qstringbuilder3/tst_qstringbuilder3.cpp3
-rw-r--r--tests/auto/qstringbuilder4/qstringbuilder4.pro1
-rw-r--r--tests/auto/qstringbuilder4/tst_qstringbuilder4.cpp3
-rw-r--r--tests/auto/qstringlist/qstringlist.pro1
-rw-r--r--tests/auto/qstringlist/tst_qstringlist.cpp13
-rw-r--r--tests/auto/qstringmatcher/qstringmatcher.pro1
-rw-r--r--tests/auto/qstringref/qstringref.pro5
-rw-r--r--tests/auto/qstringref/tst_qstringref.cpp881
-rw-r--r--tests/auto/qstyle/qstyle.pro2
-rw-r--r--tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp38
-rw-r--r--tests/auto/qsvggenerator/qsvggenerator.pro2
-rw-r--r--tests/auto/qsvgrenderer/qsvgrenderer.pro2
-rw-r--r--tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp6
-rw-r--r--tests/auto/qtabbar/tst_qtabbar.cpp41
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp4
-rw-r--r--tests/auto/qtablewidget/tst_qtablewidget.cpp3
-rw-r--r--tests/auto/qtabwidget/tst_qtabwidget.cpp77
-rw-r--r--tests/auto/qtconcurrentfilter/qtconcurrentfilter.pro2
-rw-r--r--tests/auto/qtconcurrentiteratekernel/qtconcurrentiteratekernel.pro2
-rw-r--r--tests/auto/qtconcurrentmap/qtconcurrentmap.pro2
-rw-r--r--tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp22
-rw-r--r--tests/auto/qtconcurrentrun/qtconcurrentrun.pro2
-rw-r--r--tests/auto/qtconcurrentrun/tst_qtconcurrentrun.cpp105
-rw-r--r--tests/auto/qtconcurrentthreadengine/qtconcurrentthreadengine.pro2
-rw-r--r--tests/auto/qtcpserver/crashingServer/crashingServer.pro1
-rw-r--r--tests/auto/qtcpserver/qtcpserver.pro2
-rw-r--r--tests/auto/qtcpserver/test/test.pro9
-rw-r--r--tests/auto/qtcpserver/tst_qtcpserver.cpp83
-rw-r--r--tests/auto/qtcpsocket/qtcpsocket.pro1
-rw-r--r--tests/auto/qtcpsocket/stressTest/stressTest.pro1
-rw-r--r--tests/auto/qtcpsocket/test/test.pro5
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp147
-rw-r--r--tests/auto/qtemporaryfile/qtemporaryfile.pro4
-rw-r--r--tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp167
-rw-r--r--tests/auto/qtessellator/dataparser.cpp8
-rw-r--r--tests/auto/qtessellator/oldtessellator.cpp19
-rw-r--r--tests/auto/qtessellator/testtessellator.cpp4
-rw-r--r--tests/auto/qtextboundaryfinder/qtextboundaryfinder.pro3
-rw-r--r--tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp18
-rw-r--r--tests/auto/qtextbrowser/qtextbrowser.pro4
-rw-r--r--tests/auto/qtextcodec/test/test.pro2
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp25
-rw-r--r--tests/auto/qtextcursor/tst_qtextcursor.cpp2
-rw-r--r--tests/auto/qtextdocument/tst_qtextdocument.cpp52
-rw-r--r--tests/auto/qtextedit/qtextedit.pro2
-rw-r--r--tests/auto/qtextedit/tst_qtextedit.cpp155
-rw-r--r--tests/auto/qtextformat/tst_qtextformat.cpp4
-rw-r--r--tests/auto/qtextlayout/tst_qtextlayout.cpp66
-rw-r--r--tests/auto/qtextlist/tst_qtextlist.cpp73
-rw-r--r--tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp11
-rw-r--r--tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp129
-rw-r--r--tests/auto/qtextstream/test/test.pro6
-rw-r--r--tests/auto/qtextstream/tst_qtextstream.cpp73
-rw-r--r--tests/auto/qthread/qthread.pro1
-rw-r--r--tests/auto/qthread/tst_qthread.cpp240
-rw-r--r--tests/auto/qthreadonce/qthreadonce.pro1
-rw-r--r--tests/auto/qthreadpool/qthreadpool.pro1
-rw-r--r--tests/auto/qthreadpool/tst_qthreadpool.cpp27
-rw-r--r--tests/auto/qthreadstorage/qthreadstorage.pro1
-rw-r--r--tests/auto/qthreadstorage/tst_qthreadstorage.cpp189
-rw-r--r--tests/auto/qtime/qtime.pro1
-rw-r--r--tests/auto/qtimeline/qtimeline.pro1
-rw-r--r--tests/auto/qtimer/qtimer.pro1
-rw-r--r--tests/auto/qtimer/tst_qtimer.cpp8
-rw-r--r--tests/auto/qtipc/qsharedmemory/src/qsystemlock.cpp2
-rw-r--r--tests/auto/qtipc/qsharedmemory/src/qsystemlock_unix.cpp3
-rw-r--r--tests/auto/qtipc/qsharedmemory/src/qsystemlock_win.cpp3
-rw-r--r--tests/auto/qtipc/qsharedmemory/test/test.pro6
-rw-r--r--tests/auto/qtipc/qsharedmemory/tst_qsharedmemory.cpp59
-rw-r--r--tests/auto/qtipc/qsystemsemaphore/qsystemsemaphore.pro4
-rw-r--r--tests/auto/qtmd5/qtmd5.pro1
-rw-r--r--tests/auto/qtokenautomaton/qtokenautomaton.pro1
-rw-r--r--tests/auto/qtranslator/qtranslator.pro2
-rw-r--r--tests/auto/qtreeview/tst_qtreeview.cpp20
-rw-r--r--tests/auto/qudpsocket/clientserver/clientserver.pro2
-rw-r--r--tests/auto/qudpsocket/qudpsocket.pro2
-rw-r--r--tests/auto/qudpsocket/test/test.pro4
-rw-r--r--tests/auto/qudpsocket/tst_qudpsocket.cpp499
-rw-r--r--tests/auto/qundogroup/testdata/qundogroup.ts25
-rw-r--r--tests/auto/qundogroup/tst_qundogroup.cpp37
-rw-r--r--tests/auto/qundostack/testdata/qundostack.ts25
-rw-r--r--tests/auto/qundostack/tst_qundostack.cpp94
-rw-r--r--tests/auto/qurl/qurl.pro1
-rw-r--r--tests/auto/qurl/tst_qurl.cpp140
-rw-r--r--tests/auto/quuid/quuid.pro1
-rw-r--r--tests/auto/quuid/test/test.pro4
-rw-r--r--tests/auto/quuid/tst_quuid.cpp101
-rw-r--r--tests/auto/qvariant/tst_qvariant.cpp51
-rw-r--r--tests/auto/qvarlengtharray/qvarlengtharray.pro1
-rw-r--r--tests/auto/qvector/qvector.pro1
-rw-r--r--tests/auto/qvector/tst_qvector.cpp29
-rw-r--r--tests/auto/qwaitcondition/qwaitcondition.pro1
-rw-r--r--tests/auto/qwebelement/qwebelement.pro2
-rw-r--r--tests/auto/qwebframe/qwebframe.pro2
-rw-r--r--tests/auto/qwebhistory/qwebhistory.pro2
-rw-r--r--tests/auto/qwebhistoryinterface/qwebhistoryinterface.pro2
-rw-r--r--tests/auto/qwebpage/qwebpage.pro2
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp226
-rw-r--r--tests/auto/qwidget/tst_qwidget_mac_helpers.h13
-rw-r--r--tests/auto/qwidget/tst_qwidget_mac_helpers.mm44
-rw-r--r--tests/auto/qwindowsurface/tst_qwindowsurface.cpp48
-rw-r--r--tests/auto/qwineventnotifier/qwineventnotifier.pro1
-rw-r--r--tests/auto/qwizard/tst_qwizard.cpp36
-rw-r--r--tests/auto/qwritelocker/qwritelocker.pro1
-rw-r--r--tests/auto/qwritelocker/tst_qwritelocker.cpp2
-rw-r--r--tests/auto/qwswindowsystem/tst_qwswindowsystem.cpp6
-rw-r--r--tests/auto/qxml/qxml.pro2
-rw-r--r--tests/auto/qxmlformatter/qxmlformatter.pro2
-rw-r--r--tests/auto/qxmlinputsource/tst_qxmlinputsource.cpp4
-rw-r--r--tests/auto/qxmlquery/MessageValidator.cpp5
-rw-r--r--tests/auto/qxmlquery/NetworkOverrider.h13
-rw-r--r--tests/auto/qxmlquery/PushBaseliner.h7
-rw-r--r--tests/auto/qxmlquery/pushBaselines/allAtomics.ref2
-rw-r--r--tests/auto/qxmlquery/qxmlquery.pro4
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp8
-rw-r--r--tests/auto/qxmlsimplereader/qxmlsimplereader.pro2
-rw-r--r--tests/auto/qxmlsimplereader/tst_qxmlsimplereader.cpp24
-rw-r--r--tests/auto/qxmlstream/qc14n.h37
-rw-r--r--tests/auto/qxmlstream/qxmlstream.pro4
-rw-r--r--tests/auto/qxmlstream/tst_qxmlstream.cpp106
-rw-r--r--tests/auto/qzip/qzip.pro2
-rw-r--r--tests/auto/script.pro2
-rw-r--r--tests/auto/selftests/alive/qtestalive.cpp7
-rw-r--r--tests/auto/selftests/expected_cmptest.txt2
-rw-r--r--tests/auto/selftests/expected_crashes_3.txt2
-rw-r--r--tests/auto/selftests/expected_longstring.txt2
-rw-r--r--tests/auto/selftests/expected_maxwarnings.txt2
-rw-r--r--tests/auto/selftests/expected_printdatatags.txt6
-rw-r--r--tests/auto/selftests/expected_printdatatagswithglobaltags.txt12
-rw-r--r--tests/auto/selftests/expected_skip.txt2
-rw-r--r--tests/auto/selftests/printdatatags/printdatatags.pro8
-rw-r--r--tests/auto/selftests/printdatatags/tst_printdatatags.cpp90
-rw-r--r--tests/auto/selftests/printdatatagswithglobaltags/printdatatagswithglobaltags.pro8
-rw-r--r--tests/auto/selftests/printdatatagswithglobaltags/tst_printdatatagswithglobaltags.cpp106
-rw-r--r--tests/auto/selftests/selftests.pro4
-rw-r--r--tests/auto/selftests/selftests.qrc2
-rw-r--r--tests/auto/selftests/subtest/tst_subtest.cpp2
-rw-r--r--tests/auto/selftests/tst_selftests.cpp28
-rw-r--r--tests/auto/symbols/tst_symbols.cpp17
-rw-r--r--tests/auto/uic/baseline/gridalignment.ui49
-rw-r--r--tests/auto/uic/baseline/gridalignment.ui.h83
-rw-r--r--tests/auto/uic/baseline/icontheme.ui55
-rw-r--r--tests/auto/uic/baseline/icontheme.ui.h95
-rw-r--r--tests/auto/uiloader/tst_screenshot/main.cpp2
-rw-r--r--tests/auto/uiloader/uiloader/uiloader.pro4
-rw-r--r--tests/auto/utf8/tst_utf8.cpp4
-rw-r--r--tests/auto/utf8/utf8.pro1
-rw-r--r--tests/auto/windowsmobile/test/test.pro2
-rw-r--r--tests/auto/xmlpatterns.pri4
-rw-r--r--tests/auto/xmlpatterns/stderrBaselines/Passhelp.txt16
-rw-r--r--tests/auto/xmlpatterns/tst_xmlpatterns.cpp8
-rw-r--r--tests/auto/xmlpatternsdiagnosticsts/xmlpatternsdiagnosticsts.pro4
-rw-r--r--tests/auto/xmlpatternsschemats/xmlpatternsschemats.pro2
-rw-r--r--tests/auto/xmlpatternsview/xmlpatternsview.pro2
-rw-r--r--tests/auto/xmlpatternsxqts/tst_suitetest.cpp2
-rw-r--r--tests/auto/xmlpatternsxqts/xmlpatternsxqts.pro2
-rw-r--r--tests/auto/xmlpatternsxslts/xmlpatternsxslts.pro2
-rw-r--r--tests/benchmarks/benchmarks.pro4
-rw-r--r--tests/benchmarks/corelib/codecs/qtextcodec/qtextcodec.pro2
-rw-r--r--tests/benchmarks/corelib/corelib.pro11
-rw-r--r--tests/benchmarks/corelib/io/qdir/qdir.pro4
-rw-r--r--tests/benchmarks/corelib/io/qdir/tree/bench_qdir_tree.cpp69
-rw-r--r--tests/benchmarks/corelib/io/qdir/tree/tree.pro5
-rwxr-xr-xtests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro2
-rw-r--r--tests/benchmarks/corelib/io/qfile/main.cpp20
-rw-r--r--tests/benchmarks/corelib/io/qfileinfo/main.cpp44
-rw-r--r--tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp52
-rw-r--r--tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp47
-rw-r--r--tests/benchmarks/corelib/plugin/quuid/tst_quuid.cpp125
-rw-r--r--tests/benchmarks/corelib/thread/qmutex/qmutex.pro6
-rw-r--r--tests/benchmarks/corelib/thread/qmutex/tst_qmutex.cpp452
-rw-r--r--tests/benchmarks/corelib/thread/qthreadstorage/qthreadstorage.pro5
-rw-r--r--tests/benchmarks/corelib/thread/qwaitcondition/qwaitcondition.pro5
-rw-r--r--tests/benchmarks/corelib/thread/qwaitcondition/tst_qwaitcondition.cpp210
-rw-r--r--tests/benchmarks/corelib/tools/containers-sequential/containers-sequential.pro2
-rw-r--r--tests/benchmarks/corelib/tools/qhash/data.txt195
-rw-r--r--tests/benchmarks/corelib/tools/qhash/outofline.cpp90
-rw-r--r--tests/benchmarks/corelib/tools/qhash/qhash.pro6
-rw-r--r--tests/benchmarks/corelib/tools/qhash/qhash_string.cpp131
-rw-r--r--tests/benchmarks/corelib/tools/qhash/qhash_string.h52
-rw-r--r--tests/benchmarks/corelib/tools/qstring/data.h12
-rw-r--r--tests/benchmarks/corelib/tools/qstring/fromlatin1.cpp43065
-rw-r--r--tests/benchmarks/corelib/tools/qstring/fromutf8.cpp28567
-rw-r--r--tests/benchmarks/corelib/tools/qstring/generatelist_char.pl208
-rw-r--r--tests/benchmarks/corelib/tools/qstring/main.cpp1316
-rw-r--r--tests/benchmarks/corelib/tools/qstring/qstring.pro5
-rw-r--r--tests/benchmarks/dbus/dbus.pro4
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/.gitignore (renamed from tests/auto/qdbusperformance/.gitignore)0
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/qdbusperformance.pro4
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/server/server.cpp (renamed from tests/auto/qdbusperformance/server/server.cpp)0
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/server/server.pro (renamed from tests/auto/qdbusperformance/server/server.pro)0
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/serverobject.h (renamed from tests/auto/qdbusperformance/serverobject.h)0
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/test/test.pro (renamed from tests/auto/qdbusperformance/test/test.pro)0
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp (renamed from tests/auto/qdbusperformance/tst_qdbusperformance.cpp)0
-rw-r--r--tests/benchmarks/dbus/qdbustype/main.cpp115
-rw-r--r--tests/benchmarks/dbus/qdbustype/qdbustype.pro8
-rw-r--r--tests/benchmarks/declarative/binding/binding.pro4
-rw-r--r--tests/benchmarks/declarative/compilation/compilation.pro2
-rw-r--r--tests/benchmarks/declarative/creation/creation.pro2
-rw-r--r--tests/benchmarks/declarative/declarative.pro2
-rw-r--r--tests/benchmarks/declarative/qdeclarativecomponent/qdeclarativecomponent.pro2
-rw-r--r--tests/benchmarks/declarative/qdeclarativeimage/qdeclarativeimage.pro4
-rw-r--r--tests/benchmarks/declarative/qdeclarativemetaproperty/qdeclarativemetaproperty.pro2
-rw-r--r--tests/benchmarks/declarative/qmltime/qmltime.pro2
-rw-r--r--tests/benchmarks/declarative/qperformancetimer/tst_qperformancetimer.cpp2
-rw-r--r--tests/benchmarks/declarative/script/script.pro4
-rw-r--r--tests/benchmarks/declarative/script/tst_script.cpp49
-rw-r--r--tests/benchmarks/declarative/typeimports/typeimports.pro2
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsscene/qgraphicsscene.pro1
-rw-r--r--tests/benchmarks/gui/graphicsview/qgraphicsview/qgraphicsview.pro2
-rw-r--r--tests/benchmarks/gui/gui.pro6
-rw-r--r--tests/benchmarks/gui/image/blendbench/main.cpp4
-rw-r--r--tests/benchmarks/gui/image/qimagereader/qimagereader.pro6
-rw-r--r--tests/benchmarks/gui/kernel/qguimetatype/qguimetatype.pro6
-rw-r--r--tests/benchmarks/gui/kernel/qguimetatype/tst_qguimetatype.cpp117
-rw-r--r--tests/benchmarks/gui/kernel/qguivariant/qguivariant.pro6
-rw-r--r--tests/benchmarks/gui/kernel/qguivariant/tst_qguivariant.cpp115
-rw-r--r--tests/benchmarks/gui/painting/qpainter/qpainter.pro2
-rw-r--r--tests/benchmarks/gui/text/qtext/qtext.pro2
-rw-r--r--tests/benchmarks/network/access/access.pro3
-rw-r--r--tests/benchmarks/network/access/qnetworkdiskcache/qnetworkdiskcache.pro15
-rw-r--r--tests/benchmarks/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp435
-rw-r--r--tests/benchmarks/network/access/qnetworkreply/tst_qnetworkreply.cpp90
-rwxr-xr-xtests/benchmarks/network/kernel/qhostinfo/qhostinfo.pro5
-rw-r--r--tests/benchmarks/network/network.pro6
-rw-r--r--tests/benchmarks/network/socket/qtcpserver/qtcpserver.pro5
-rw-r--r--tests/benchmarks/network/socket/qtcpserver/tst_qtcpserver.cpp41
-rw-r--r--tests/benchmarks/network/ssl/qsslsocket/qsslsocket.pro5
-rw-r--r--tests/benchmarks/network/ssl/qsslsocket/tst_qsslsocket.cpp13
-rw-r--r--tests/benchmarks/opengl/opengl.pro2
-rw-r--r--tests/benchmarks/script/context2d/context2d.pro22
-rw-r--r--tests/benchmarks/script/context2d/tst_context2d.cpp177
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/qscriptclass_bytearray.pro10
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/qscriptclass_bytearray.qrc5
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/construct-copy.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/construct.js2
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/for-in.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/get-element.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/get-length.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/mid.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/set-element.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/set-length.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/sum.js8
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tests/trimmed.js3
-rw-r--r--tests/benchmarks/script/qscriptclass_bytearray/tst_qscriptclass_bytearray.cpp109
-rw-r--r--tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp314
-rw-r--r--tests/benchmarks/script/qscriptqobject/qscriptqobject.pro7
-rw-r--r--tests/benchmarks/script/qscriptqobject/tst_qscriptqobject.cpp1265
-rw-r--r--tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp862
-rw-r--r--tests/benchmarks/script/qscriptvalueiterator/qscriptvalueiterator.pro2
-rw-r--r--tests/benchmarks/script/script.pro15
-rw-r--r--tests/benchmarks/script/sunspider/sunspider.pro12
-rw-r--r--tests/benchmarks/script/sunspider/sunspider.qrc5
-rw-r--r--tests/benchmarks/script/sunspider/tests/3d-cube.js337
-rw-r--r--tests/benchmarks/script/sunspider/tests/3d-morph.js54
-rw-r--r--tests/benchmarks/script/sunspider/tests/3d-raytrace.js441
-rw-r--r--tests/benchmarks/script/sunspider/tests/VERSION1
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-binary-trees.js50
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-fannkuch.js66
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-nbody.js169
-rw-r--r--tests/benchmarks/script/sunspider/tests/access-nsieve.js38
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-3bit-bits-in-byte.js32
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-bits-in-byte.js21
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-bitwise-and.js28
-rw-r--r--tests/benchmarks/script/sunspider/tests/bitops-nsieve-bits.js32
-rw-r--r--tests/benchmarks/script/sunspider/tests/controlflow-recursive.js25
-rw-r--r--tests/benchmarks/script/sunspider/tests/crypto-aes.js422
-rw-r--r--tests/benchmarks/script/sunspider/tests/crypto-md5.js286
-rw-r--r--tests/benchmarks/script/sunspider/tests/crypto-sha1.js224
-rw-r--r--tests/benchmarks/script/sunspider/tests/date-format-tofte.js299
-rw-r--r--tests/benchmarks/script/sunspider/tests/date-format-xparb.js417
-rw-r--r--tests/benchmarks/script/sunspider/tests/math-cordic.js95
-rw-r--r--tests/benchmarks/script/sunspider/tests/math-partial-sums.js33
-rw-r--r--tests/benchmarks/script/sunspider/tests/math-spectral-norm.js51
-rw-r--r--tests/benchmarks/script/sunspider/tests/regexp-dna.js1712
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-base64.js135
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-fasta.js85
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-tagcloud.js265
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-unpack-code.js68
-rw-r--r--tests/benchmarks/script/sunspider/tests/string-validate-input.js89
-rw-r--r--tests/benchmarks/script/sunspider/tst_sunspider.cpp124
-rw-r--r--tests/benchmarks/script/v8/tests/README.txt79
-rw-r--r--tests/benchmarks/script/v8/tests/base.js284
-rw-r--r--tests/benchmarks/script/v8/tests/crypto.js1698
-rw-r--r--tests/benchmarks/script/v8/tests/deltablue.js880
-rw-r--r--tests/benchmarks/script/v8/tests/earley-boyer.js4684
-rw-r--r--tests/benchmarks/script/v8/tests/raytrace.js904
-rw-r--r--tests/benchmarks/script/v8/tests/regexp.js1764
-rw-r--r--tests/benchmarks/script/v8/tests/richards.js539
-rw-r--r--tests/benchmarks/script/v8/tests/splay.js394
-rw-r--r--tests/benchmarks/script/v8/tst_v8.cpp137
-rw-r--r--tests/benchmarks/script/v8/v8.pro12
-rw-r--r--tests/benchmarks/script/v8/v8.qrc5
-rw-r--r--tests/benchmarks/svg/svg.pro2
-rw-r--r--tests/benchmarks/trusted-benchmarks.pri11
-rw-r--r--tests/manual/mkspecs/.gitignore2
-rwxr-xr-xtests/manual/mkspecs/test.sh105
-rw-r--r--tests/manual/qlocale/calendar.cpp405
-rw-r--r--tests/manual/qlocale/calendar.h115
-rw-r--r--tests/manual/qlocale/currency.cpp109
-rw-r--r--tests/manual/qlocale/currency.h70
-rw-r--r--tests/manual/qlocale/dateformats.cpp179
-rw-r--r--tests/manual/qlocale/dateformats.h78
-rw-r--r--tests/manual/qlocale/info.cpp92
-rw-r--r--tests/manual/qlocale/info.h72
-rw-r--r--tests/manual/qlocale/languages.cpp71
-rw-r--r--tests/manual/qlocale/languages.h62
-rw-r--r--tests/manual/qlocale/main.cpp55
-rw-r--r--tests/manual/qlocale/miscellaneous.cpp103
-rw-r--r--tests/manual/qlocale/miscellaneous.h72
-rw-r--r--tests/manual/qlocale/numberformats.cpp83
-rw-r--r--tests/manual/qlocale/numberformats.h63
-rw-r--r--tests/manual/qlocale/qlocale.pro8
-rw-r--r--tests/manual/qlocale/window.cpp138
-rw-r--r--tests/manual/qlocale/window.h82
-rw-r--r--tests/manual/socketengine/main.cpp152
-rw-r--r--tests/manual/socketengine/socketengine.pro15
-rw-r--r--tests/manual/textrendering/glyphshaping/glyphshaping.pro2
-rw-r--r--tests/shared/filesystem.h75
-rw-r--r--tools/activeqt/dumpcpp/main.cpp12
-rw-r--r--tools/activeqt/testcon/changeproperties.cpp6
-rw-r--r--tools/assistant/lib/fulltextsearch/fulltextsearch.pro2
-rw-r--r--tools/assistant/lib/fulltextsearch/qanalyzer.cpp10
-rw-r--r--tools/assistant/lib/lib.pro2
-rw-r--r--tools/assistant/lib/qhelpsearchquerywidget.cpp90
-rw-r--r--tools/assistant/lib/qhelpsearchquerywidget.h4
-rw-r--r--tools/assistant/tools/assistant/aboutdialog.cpp9
-rw-r--r--tools/assistant/tools/assistant/assistant.pro24
-rw-r--r--tools/assistant/tools/assistant/assistant_images.qrc6
-rw-r--r--tools/assistant/tools/assistant/bookmarkfiltermodel.cpp113
-rw-r--r--tools/assistant/tools/assistant/bookmarkmanager.cpp103
-rw-r--r--tools/assistant/tools/assistant/bookmarkmanager.h9
-rw-r--r--tools/assistant/tools/assistant/bookmarkmodel.cpp35
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp1112
-rw-r--r--tools/assistant/tools/assistant/centralwidget.h122
-rw-r--r--tools/assistant/tools/assistant/contentwindow.cpp12
-rw-r--r--tools/assistant/tools/assistant/contentwindow.h1
-rw-r--r--tools/assistant/tools/assistant/doc/assistant.qdocconf2
-rw-r--r--tools/assistant/tools/assistant/findwidget.cpp2
-rw-r--r--tools/assistant/tools/assistant/findwidget.h5
-rw-r--r--tools/assistant/tools/assistant/globalactions.cpp246
-rw-r--r--tools/assistant/tools/assistant/globalactions.h105
-rw-r--r--tools/assistant/tools/assistant/helpenginewrapper.cpp41
-rw-r--r--tools/assistant/tools/assistant/helpenginewrapper.h8
-rw-r--r--tools/assistant/tools/assistant/helpviewer.cpp71
-rw-r--r--tools/assistant/tools/assistant/helpviewer.h105
-rw-r--r--tools/assistant/tools/assistant/helpviewer_p.h123
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qtb.cpp337
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qtb.h113
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qwv.cpp230
-rw-r--r--tools/assistant/tools/assistant/helpviewer_qwv.h123
-rw-r--r--tools/assistant/tools/assistant/images/closebutton.pngbin0 -> 288 bytes-rw-r--r--tools/assistant/tools/assistant/images/darkclosebutton.pngbin0 -> 319 bytes-rw-r--r--tools/assistant/tools/assistant/indexwindow.cpp8
-rw-r--r--tools/assistant/tools/assistant/main.cpp3
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp521
-rw-r--r--tools/assistant/tools/assistant/mainwindow.h27
-rw-r--r--tools/assistant/tools/assistant/openpagesmanager.cpp378
-rw-r--r--tools/assistant/tools/assistant/openpagesmanager.h115
-rw-r--r--tools/assistant/tools/assistant/openpagesmodel.cpp119
-rw-r--r--tools/assistant/tools/assistant/openpagesmodel.h76
-rw-r--r--tools/assistant/tools/assistant/openpagesswitcher.cpp194
-rw-r--r--tools/assistant/tools/assistant/openpagesswitcher.h85
-rw-r--r--tools/assistant/tools/assistant/openpageswidget.cpp237
-rw-r--r--tools/assistant/tools/assistant/openpageswidget.h92
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.cpp26
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.h3
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.ui20
-rw-r--r--tools/assistant/tools/assistant/remotecontrol.cpp32
-rw-r--r--tools/assistant/tools/assistant/searchwidget.cpp25
-rw-r--r--tools/assistant/tools/assistant/searchwidget.h4
-rw-r--r--tools/assistant/tools/qcollectiongenerator/main.cpp11
-rw-r--r--tools/assistant/tools/shared/collectionconfiguration.cpp14
-rw-r--r--tools/assistant/tools/shared/collectionconfiguration.h4
-rw-r--r--tools/configure/configure.pro16
-rw-r--r--tools/configure/configureapp.cpp107
-rw-r--r--tools/configure/environment.cpp12
-rw-r--r--tools/configure/environment.h4
-rw-r--r--tools/designer/data/ui4.xsd4
-rw-r--r--tools/designer/src/components/buddyeditor/buddyeditor.cpp16
-rw-r--r--tools/designer/src/components/formeditor/dpi_chooser.cpp4
-rw-r--r--tools/designer/src/components/formeditor/formeditor.qrc2
-rw-r--r--tools/designer/src/components/formeditor/formwindow.cpp26
-rw-r--r--tools/designer/src/components/formeditor/images/mac/simplifyrichtext.pngbin0 -> 1988 bytes-rw-r--r--tools/designer/src/components/formeditor/images/win/simplifyrichtext.pngbin0 -> 1933 bytes-rw-r--r--tools/designer/src/components/formeditor/qdesigner_resource.cpp142
-rw-r--r--tools/designer/src/components/formeditor/qmainwindow_container.cpp2
-rw-r--r--tools/designer/src/components/lib/lib.pro2
-rw-r--r--tools/designer/src/components/objectinspector/objectinspectormodel.cpp2
-rw-r--r--tools/designer/src/components/propertyeditor/brushpropertymanager.cpp2
-rw-r--r--tools/designer/src/components/propertyeditor/designerpropertymanager.cpp416
-rw-r--r--tools/designer/src/components/propertyeditor/designerpropertymanager.h3
-rw-r--r--tools/designer/src/components/propertyeditor/fontpropertymanager.cpp12
-rw-r--r--tools/designer/src/components/propertyeditor/paletteeditor.cpp14
-rw-r--r--tools/designer/src/components/propertyeditor/propertyeditor.cpp12
-rw-r--r--tools/designer/src/components/signalsloteditor/connectdialog.cpp4
-rw-r--r--tools/designer/src/components/signalsloteditor/signalslot_utils.cpp2
-rw-r--r--tools/designer/src/components/signalsloteditor/signalsloteditor.cpp2
-rw-r--r--tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp10
-rw-r--r--tools/designer/src/components/tabordereditor/tabordereditor.cpp4
-rw-r--r--tools/designer/src/components/taskmenu/button_taskmenu.cpp4
-rw-r--r--tools/designer/src/components/taskmenu/inplace_editor.cpp6
-rw-r--r--tools/designer/src/components/taskmenu/itemlisteditor.cpp69
-rw-r--r--tools/designer/src/components/taskmenu/itemlisteditor.h10
-rw-r--r--tools/designer/src/components/taskmenu/listwidgeteditor.h2
-rw-r--r--tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp2
-rw-r--r--tools/designer/src/components/taskmenu/tablewidgeteditor.cpp85
-rw-r--r--tools/designer/src/components/taskmenu/tablewidgeteditor.h18
-rw-r--r--tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp2
-rw-r--r--tools/designer/src/components/taskmenu/treewidgeteditor.cpp77
-rw-r--r--tools/designer/src/components/taskmenu/treewidgeteditor.h18
-rw-r--r--tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp2
-rw-r--r--tools/designer/src/designer/qdesigner_formwindow.cpp1
-rw-r--r--tools/designer/src/designer/qdesigner_settings.cpp2
-rw-r--r--tools/designer/src/designer/qdesigner_workbench.cpp17
-rw-r--r--tools/designer/src/lib/lib.pro2
-rw-r--r--tools/designer/src/lib/sdk/abstractintegration.cpp51
-rw-r--r--tools/designer/src/lib/sdk/abstractintegration.h10
-rw-r--r--tools/designer/src/lib/shared/actioneditor.cpp21
-rw-r--r--tools/designer/src/lib/shared/actionrepository.cpp2
-rw-r--r--tools/designer/src/lib/shared/connectionedit.cpp6
-rw-r--r--tools/designer/src/lib/shared/formlayoutmenu.cpp6
-rw-r--r--tools/designer/src/lib/shared/formwindowbase.cpp4
-rw-r--r--tools/designer/src/lib/shared/grid.cpp22
-rw-r--r--tools/designer/src/lib/shared/iconselector.cpp124
-rw-r--r--tools/designer/src/lib/shared/iconselector_p.h30
-rw-r--r--tools/designer/src/lib/shared/layoutinfo.cpp4
-rw-r--r--tools/designer/src/lib/shared/morphmenu.cpp8
-rw-r--r--tools/designer/src/lib/shared/newactiondialog.cpp4
-rw-r--r--tools/designer/src/lib/shared/newactiondialog.ui108
-rw-r--r--tools/designer/src/lib/shared/qdesigner_command.cpp86
-rw-r--r--tools/designer/src/lib/shared/qdesigner_command2.cpp62
-rw-r--r--tools/designer/src/lib/shared/qdesigner_command2_p.h22
-rw-r--r--tools/designer/src/lib/shared/qdesigner_formbuilder.cpp4
-rw-r--r--tools/designer/src/lib/shared/qdesigner_formwindowcommand.cpp2
-rw-r--r--tools/designer/src/lib/shared/qdesigner_menu.cpp8
-rw-r--r--tools/designer/src/lib/shared/qdesigner_menubar.cpp2
-rw-r--r--tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp12
-rw-r--r--tools/designer/src/lib/shared/qdesigner_promotiondialog_p.h11
-rw-r--r--tools/designer/src/lib/shared/qdesigner_propertycommand.cpp28
-rw-r--r--tools/designer/src/lib/shared/qdesigner_propertysheet.cpp107
-rw-r--r--tools/designer/src/lib/shared/qdesigner_tabwidget.cpp34
-rw-r--r--tools/designer/src/lib/shared/qdesigner_taskmenu.cpp149
-rw-r--r--tools/designer/src/lib/shared/qdesigner_taskmenu_p.h1
-rw-r--r--tools/designer/src/lib/shared/qdesigner_toolbar.cpp6
-rw-r--r--tools/designer/src/lib/shared/qdesigner_toolbox.cpp24
-rw-r--r--tools/designer/src/lib/shared/qdesigner_utils.cpp248
-rw-r--r--tools/designer/src/lib/shared/qdesigner_utils_p.h32
-rw-r--r--tools/designer/src/lib/shared/qlayout_widget.cpp14
-rw-r--r--tools/designer/src/lib/shared/qtresourcemodel.cpp50
-rw-r--r--tools/designer/src/lib/shared/richtexteditor.cpp202
-rw-r--r--tools/designer/src/lib/shared/richtexteditor_p.h1
-rw-r--r--tools/designer/src/lib/shared/shared.pri2
-rw-r--r--tools/designer/src/lib/shared/stylesheeteditor.cpp4
-rw-r--r--tools/designer/src/lib/shared/widgetdatabase.cpp10
-rw-r--r--tools/designer/src/lib/shared/widgetfactory.cpp2
-rw-r--r--tools/designer/src/lib/shared/zoomwidget.cpp2
-rw-r--r--tools/designer/src/lib/uilib/abstractformbuilder.cpp246
-rw-r--r--tools/designer/src/lib/uilib/formbuilder.cpp4
-rw-r--r--tools/designer/src/lib/uilib/formbuilderextra.cpp2
-rw-r--r--tools/designer/src/lib/uilib/properties.cpp20
-rw-r--r--tools/designer/src/lib/uilib/resourcebuilder.cpp17
-rw-r--r--tools/designer/src/lib/uilib/ui4.cpp22
-rw-r--r--tools/designer/src/lib/uilib/ui4_p.h16
-rw-r--r--tools/designer/src/uitools/quiloader.cpp28
-rw-r--r--tools/designer/src/uitools/uitools.pro6
-rw-r--r--tools/doxygen/config/footer.html2
-rw-r--r--tools/linguist/linguist/Info_mac.plist60
-rw-r--r--tools/linguist/linguist/formpreviewview.cpp16
-rw-r--r--tools/linguist/linguist/main.cpp58
-rw-r--r--tools/linguist/linguist/mainwindow.cpp6
-rw-r--r--tools/linguist/linguist/mainwindow.h2
-rw-r--r--tools/linguist/linguist/messagemodel.cpp14
-rw-r--r--tools/linguist/lrelease/lrelease.pro10
-rw-r--r--tools/linguist/lrelease/main.cpp95
-rw-r--r--tools/linguist/lupdate/main.cpp82
-rw-r--r--tools/linguist/lupdate/merge.cpp54
-rw-r--r--tools/linguist/lupdate/qdeclarative.cpp1
-rw-r--r--tools/linguist/lupdate/qscript.cpp52
-rw-r--r--tools/linguist/lupdate/qscript.g52
-rw-r--r--tools/linguist/shared/abstractproitemvisitor.h74
-rw-r--r--tools/linguist/shared/ioutils.cpp161
-rw-r--r--tools/linguist/shared/ioutils.h74
-rw-r--r--tools/linguist/shared/profileevaluator.cpp4170
-rw-r--r--tools/linguist/shared/profileevaluator.h172
-rw-r--r--tools/linguist/shared/profileparser.cpp1037
-rw-r--r--tools/linguist/shared/profileparser.h195
-rw-r--r--tools/linguist/shared/proitems.cpp448
-rw-r--r--tools/linguist/shared/proitems.h317
-rw-r--r--tools/linguist/shared/proparser.pri13
-rw-r--r--tools/linguist/shared/proparser_global.h57
-rw-r--r--tools/linguist/shared/proparserutils.h324
-rw-r--r--tools/linguist/shared/qm.cpp22
-rw-r--r--tools/linguist/shared/simtexth.cpp4
-rw-r--r--tools/linguist/shared/translator.cpp196
-rw-r--r--tools/linguist/shared/translator.h31
-rw-r--r--tools/linguist/tests/tst_lupdate.cpp2
-rw-r--r--tools/macdeployqt/shared/shared.cpp136
-rw-r--r--tools/macdeployqt/shared/shared.h5
-rw-r--r--tools/makeqpf/mainwindow.cpp4
-rw-r--r--tools/qdbus/qdbus/qdbus.cpp8
-rw-r--r--tools/qdbus/qdbusviewer/qdbusviewer.cpp4
-rw-r--r--tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp8
-rw-r--r--tools/qdoc3/cppcodemarker.cpp4
-rw-r--r--tools/qdoc3/ditaxmlgenerator.cpp83
-rw-r--r--tools/qdoc3/ditaxmlgenerator.h11
-rw-r--r--tools/qdoc3/doc.cpp2
-rw-r--r--tools/qdoc3/generator.cpp142
-rw-r--r--tools/qdoc3/generator.h12
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp1
-rw-r--r--tools/qdoc3/htmlgenerator.cpp103
-rw-r--r--tools/qdoc3/htmlgenerator.h11
-rw-r--r--tools/qdoc3/jscodemarker.cpp2
-rw-r--r--tools/qdoc3/node.cpp10
-rw-r--r--tools/qdoc3/node.h2
-rw-r--r--tools/qdoc3/qmlcodemarker.cpp2
-rw-r--r--tools/qdoc3/qmlcodeparser.cpp2
-rw-r--r--tools/qdoc3/qmlmarkupvisitor.cpp2
-rw-r--r--tools/qdoc3/qmlmarkupvisitor.h2
-rw-r--r--tools/qdoc3/qmlvisitor.cpp13
-rw-r--r--tools/qdoc3/qmlvisitor.h2
-rw-r--r--tools/qdoc3/test/assistant.qdocconf6
-rw-r--r--tools/qdoc3/test/carbide-eclipse-integration.qdocconf2
-rw-r--r--tools/qdoc3/test/designer.qdocconf6
-rw-r--r--tools/qdoc3/test/jambi.qdocconf2
-rw-r--r--tools/qdoc3/test/linguist.qdocconf6
-rw-r--r--tools/qdoc3/test/qdeclarative.qdocconf16
-rw-r--r--tools/qdoc3/test/qmake.qdocconf6
-rw-r--r--tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf8
-rw-r--r--tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf10
-rw-r--r--tools/qdoc3/test/qt-defines.qdocconf3
-rw-r--r--tools/qdoc3/test/qt-html-default-styles.qdocconf6
-rw-r--r--tools/qdoc3/test/qt-html-templates-online.qdocconf2
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf505
-rw-r--r--tools/qdoc3/test/qt-html-templates_ja_JP-online.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf2
-rw-r--r--tools/qdoc3/test/qt-html-templates_zh_CN-online.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf4
-rw-r--r--tools/qdoc3/test/qt-project.qdocconf12
-rw-r--r--tools/qdoc3/test/standalone-eclipse-integration.qdocconf2
-rw-r--r--tools/qdoc3/tree.cpp71
-rw-r--r--tools/qml/loggerwidget.cpp14
-rw-r--r--tools/qml/main.cpp99
-rw-r--r--tools/qml/proxysettings.cpp36
-rw-r--r--tools/qml/proxysettings_maemo5.ui6
-rw-r--r--tools/qml/qdeclarativetester.cpp10
-rw-r--r--tools/qml/qml.pro4
-rw-r--r--tools/qml/qmlruntime.cpp110
-rw-r--r--tools/qmlplugindump/Info.plist16
-rw-r--r--tools/qmlplugindump/main.cpp654
-rw-r--r--tools/qmlplugindump/qmlplugindump.pro37
-rw-r--r--tools/qmlplugindump/qmlstreamwriter.cpp183
-rw-r--r--tools/qmlplugindump/qmlstreamwriter.h79
-rw-r--r--tools/qtconfig/colorbutton.cpp9
-rw-r--r--tools/qtconfig/main.cpp1
-rw-r--r--tools/qtconfig/mainwindow.cpp797
-rw-r--r--tools/qtconfig/mainwindow.h21
-rw-r--r--tools/qtconfig/mainwindow.ui1388
-rw-r--r--tools/qtconfig/mainwindowbase.cpp250
-rw-r--r--tools/qtconfig/mainwindowbase.h95
-rw-r--r--tools/qtconfig/mainwindowbase.ui1384
-rw-r--r--tools/qtconfig/paletteeditoradvanced.cpp579
-rw-r--r--tools/qtconfig/paletteeditoradvanced.h66
-rw-r--r--tools/qtconfig/paletteeditoradvanced.ui416
-rw-r--r--tools/qtconfig/paletteeditoradvancedbase.cpp144
-rw-r--r--tools/qtconfig/paletteeditoradvancedbase.h78
-rw-r--r--tools/qtconfig/paletteeditoradvancedbase.ui617
-rw-r--r--tools/qtconfig/previewframe.cpp18
-rw-r--r--tools/qtconfig/previewframe.h13
-rw-r--r--tools/qtconfig/previewwidget.cpp29
-rw-r--r--tools/qtconfig/previewwidget.h18
-rw-r--r--tools/qtconfig/previewwidget.ui252
-rw-r--r--tools/qtconfig/previewwidgetbase.cpp88
-rw-r--r--tools/qtconfig/previewwidgetbase.h68
-rw-r--r--tools/qtconfig/previewwidgetbase.ui340
-rw-r--r--tools/qtconfig/qtconfig.pro19
-rw-r--r--tools/qtestlib/wince/cetest/bootstrapped.pri5
-rw-r--r--tools/qtestlib/wince/cetest/deployment.cpp10
-rw-r--r--tools/qvfb/qvfb.pro12
-rw-r--r--tools/qvfb/qvfbmmap.cpp2
-rw-r--r--tools/qvfb/qvfbshmem.cpp50
-rw-r--r--tools/qvfb/qvfbview.cpp5
-rw-r--r--tools/runonphone/codasignalhandler.cpp579
-rw-r--r--tools/runonphone/codasignalhandler.h118
-rw-r--r--tools/runonphone/main.cpp203
-rw-r--r--tools/runonphone/runonphone.pro12
-rw-r--r--tools/runonphone/serenum_unix.cpp49
-rw-r--r--tools/runonphone/symbianutils/codadevice.cpp1501
-rw-r--r--tools/runonphone/symbianutils/codadevice.h447
-rw-r--r--tools/runonphone/symbianutils/codamessage.cpp605
-rw-r--r--tools/runonphone/symbianutils/codamessage.h333
-rw-r--r--tools/runonphone/symbianutils/json.cpp87
-rw-r--r--tools/runonphone/symbianutils/json.h8
-rw-r--r--tools/runonphone/symbianutils/launcher.cpp202
-rw-r--r--tools/runonphone/symbianutils/launcher.h29
-rw-r--r--tools/runonphone/symbianutils/symbiandevicemanager.cpp290
-rw-r--r--tools/runonphone/symbianutils/symbiandevicemanager.h78
-rw-r--r--tools/runonphone/symbianutils/symbianutils.pri18
-rw-r--r--tools/runonphone/symbianutils/tcftrkdevice.cpp929
-rw-r--r--tools/runonphone/symbianutils/tcftrkdevice.h295
-rw-r--r--tools/runonphone/symbianutils/tcftrkmessage.cpp562
-rw-r--r--tools/runonphone/symbianutils/tcftrkmessage.h296
-rw-r--r--tools/runonphone/symbianutils/trkdevice.cpp6
-rw-r--r--tools/runonphone/symbianutils/trkutils.h4
-rw-r--r--tools/runonphone/symbianutils/virtualserialdevice.cpp89
-rw-r--r--tools/runonphone/symbianutils/virtualserialdevice.h127
-rw-r--r--tools/runonphone/symbianutils/virtualserialdevice_posix.cpp344
-rw-r--r--tools/runonphone/symbianutils/virtualserialdevice_win.cpp369
-rw-r--r--tools/runonphone/trksignalhandler.cpp8
-rw-r--r--tools/runonphone/trksignalhandler.h4
-rw-r--r--tools/shared/qtpropertybrowser/qtpropertybrowserutils.pri4
-rw-r--r--tools/shared/qtpropertybrowser/qtvariantproperty.cpp182
-rw-r--r--tools/tools.pro7
-rw-r--r--tools/xmlpatterns/main.cpp14
-rw-r--r--translations/assistant_cs.ts2
-rw-r--r--translations/assistant_de.ts159
-rw-r--r--translations/assistant_sl.ts2
-rw-r--r--translations/designer_cs.ts2
-rw-r--r--translations/designer_de.ts103
-rw-r--r--translations/linguist_cs.ts4
-rw-r--r--translations/linguist_sl.ts2
-rw-r--r--translations/qt_cs.ts4
-rw-r--r--translations/qt_de.ts56
-rw-r--r--translations/qt_gl.ts12
-rw-r--r--translations/qtconfig_sl.ts2
-rw-r--r--translations/translations.pri80
-rw-r--r--translations/translations.pro85
-rw-r--r--util/corelib/qurl-generateTLDs/main.cpp161
-rw-r--r--util/corelib/qurl-generateTLDs/qurl-generateTLDs.pro (renamed from util/network/cookiejar-generateTLDs/cookiejar-generateTLDs.pro)0
-rw-r--r--util/integrity/qt.bod111
-rwxr-xr-xutil/local_database/cldr2qlocalexml.py277
-rw-r--r--util/local_database/enumdata.py20
-rwxr-xr-xutil/local_database/qlocalexml2cpp.py525
-rw-r--r--util/local_database/xpathlite.py42
-rw-r--r--util/network/cookiejar-generateTLDs/main.cpp161
-rw-r--r--util/qlalr/doc/qlalr.qdocconf2
-rw-r--r--util/unicode/main.cpp84
19262 files changed, 2610406 insertions, 1161779 deletions
diff --git a/.commit-template b/.commit-template
index 589ca89..6e0e3a4 100644
--- a/.commit-template
+++ b/.commit-template
@@ -5,6 +5,6 @@
# ---[ Fields ]-----------------[ uncomment and edit as applicable ]---|
#Task-number:
-#Reviewed-by:
+Reviewed-by: pending
# ==================================[ please wrap at 72 characters ]===|
diff --git a/.gitignore b/.gitignore
index 0700140..7a872c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -120,6 +120,14 @@ translations/*.qm
translations/*_untranslated.ts
qrc_*.cpp
+# Test generated files
+QObject.log
+tst_*
+!tst_*.*
+tst_*.log
+tst_*.debug
+tst_*~
+
# xemacs temporary files
*.flc
@@ -205,7 +213,7 @@ doc-build
# ---------------------
ABLD.BAT
-bld.inf
+bld.inf*
*.mmp
*.mk
*.rss
@@ -223,6 +231,10 @@ plugin_commonu.def
*.sym
*.lib
+# runonphone crash dumps
+d_exc_*.txt
+d_exc_*.stk
+
# Generated by abldfast.bat from devtools.
.abldsteps.*
@@ -241,3 +253,13 @@ src/network/lib
src/xml/lib/
.pc/
+
+# INTEGRITY generated files
+*.gpj
+*.int
+*.ael
+*.dla
+*.dnm
+*.dep
+*.map
+work
diff --git a/bin/createpackage.pl b/bin/createpackage.pl
index 8c1c290..3d67681 100755
--- a/bin/createpackage.pl
+++ b/bin/createpackage.pl
@@ -58,7 +58,7 @@ use File::Spec;
use File::Path;
# use CWD abs_bath, which is exported only on request
use Cwd 'abs_path';
-
+use File::Copy;
sub Usage() {
print <<ENDUSAGESTRING;
@@ -84,6 +84,8 @@ Where supported options are as follows:
[-g|gcce-is-armv5] = Convert gcce platform to armv5.
[-d|dont-patch] = Skip automatic patching of capabilities and pkg file if default certificate
is used. Instead non-self-signable capabilities just cause warnings.
+ [-t|tmp-dir <path>] = Specifies temporary directory to be used for package creation.
+ Defaults to 'createpackage_tmp' under same directory as templatepkg.
Where parameters are as follows:
templatepkg = Name of .pkg file template
target = Either debug or release
@@ -130,6 +132,7 @@ my $signed_sis_name = "";
my $onlyUnsigned = "";
my $convertGcce = "";
my $dontPatchCaps = "";
+my $tempPackageDir = "";
unless (GetOptions('i|install' => \$install,
'p|preprocess' => \$preprocessonly,
@@ -139,7 +142,8 @@ unless (GetOptions('i|install' => \$install,
's|stub' => \$stub,
'n|sisname=s' => \$signed_sis_name,
'g|gcce-is-armv5' => \$convertGcce,
- 'd|dont-patch' => \$dontPatchCaps,)) {
+ 'd|dont-patch' => \$dontPatchCaps,
+ 't|tmp-dir=s' => \$tempPackageDir,)) {
Usage();
}
@@ -190,18 +194,22 @@ $key = $ARGV[3] or $key = "";
my $passphrase;
$passphrase = $ARGV[4] or $passphrase = "";
+if ($tempPackageDir eq "") {
+ my ($templateVolume, $templatePath, $templateFileName) = File::Spec->splitpath($templatepkg);
+ $tempPackageDir = File::Spec->catpath($templateVolume, $templatePath."createpackage_tmp", "");
+}
+
+mkpath($tempPackageDir);
+
# Generate output pkg basename (i.e. file name without extension)
my $pkgoutputbasename = $templatepkg;
-my $preservePkgOutput = "";
$pkgoutputbasename =~ s/_template/_$targetplatform/g;
$pkgoutputbasename =~ s/_installer\.pkg/_installer___temp\.pkg/g;
-if ($pkgoutputbasename eq $templatepkg) {
- $preservePkgOutput = "1";
-}
$pkgoutputbasename =~ s/\.pkg//g;
# Store output file names to variables
-my $pkgoutput = $pkgoutputbasename.".pkg";
+my ($dummy1, $dummy2, $pkgoutput) = File::Spec->splitpath($pkgoutputbasename.".pkg");
+$pkgoutput = $tempPackageDir."/".$pkgoutput;
my $sisoutputbasename;
if ($signed_sis_name eq "") {
$sisoutputbasename = $pkgoutputbasename;
@@ -230,11 +238,7 @@ if ($templatepkg =~ m/_installer\.pkg$/i && $onlyUnsigned) {
my $unsigned_sis_name = $sisoutputbasename."_unsigned.sis";
my $stub_sis_name = $sisoutputbasename.".sis";
-# Store some utility variables
-my $scriptpath = dirname(__FILE__);
my $certtext = $certificate;
-# certificates are one step up in hierarchy
-my $certpath = File::Spec->catdir($scriptpath, File::Spec->updir(), "src/s60installs/");
# Check some pre-conditions and print error messages if needed.
unless (length($templatepkg)) {
@@ -257,6 +261,16 @@ if (length($certificate)) {
}
} else {
#If no certificate is given, check default options
+ my $scriptpath = dirname(__FILE__);
+ my $certpath = File::Spec->catdir($scriptpath, File::Spec->updir(), "src/s60installs");
+
+ unless (-e $certpath) {
+ my $qmakeCmd = File::Spec->catfile($scriptpath, "qmake");
+ $certpath = `$qmakeCmd -query QT_INSTALL_PREFIX`;
+ $certpath =~ s/\s+$//;
+ $certpath = File::Spec->catdir($certpath, "src/s60installs");
+ }
+
$certtext = "RnD";
$certificate = File::Spec->catfile($certpath, "rd.cer");
$key = File::Spec->catfile($certpath, "rd-key.pem");
@@ -300,9 +314,7 @@ unlink $unsigned_sis_name;
if (!$onlyUnsigned) {
unlink $signed_sis_name;
}
-if (!$preservePkgOutput) {
- unlink $pkgoutput;
-}
+unlink $pkgoutput;
# Preprocess PKG
@@ -334,6 +346,11 @@ print OUTPUT $_;
close OUTPUT;
if ($preprocessonly) {
+ # Copy preprocessed file from tmp dir to pkg file dir
+ my ($templateVolume, $templatePath, $templateFileName) = File::Spec->splitpath($templatepkg);
+ my ($dummy1, $dummy2, $copyFileName) = File::Spec->splitpath($pkgoutput);
+ my $copyTarget = File::Spec->catpath($templateVolume, $templatePath, $copyFileName);
+ copy($pkgoutput, $copyTarget) or die "Preprocessed pkg file '$pkgoutput' cannot be copied.";
exit;
}
@@ -354,7 +371,7 @@ if($stub) {
system ("$patch_capabilities -c $pkgoutput") and print ("Warning: Package check for self-signing viability failed. Installing the package on a device will most likely fail!\n\n");
} else {
print("Auto-patching self-signed package.\n");
- system ("$patch_capabilities $pkgoutput") and die ("ERROR: Automatic patching failed");
+ system ("$patch_capabilities -t $tempPackageDir $pkgoutput") and die ("ERROR: Automatic patching failed");
}
}
@@ -377,9 +394,6 @@ if($stub) {
print ("\nUnsigned package creation failed!\n");
}
- if (!$preservePkgOutput) {
- unlink $pkgoutput;
- }
print ("\n");
exit;
}
@@ -405,10 +419,7 @@ if($stub) {
print ("\tAdditionally signed the SIS with certificate: $row->[0]!\n");
}
- # remove temporary pkg and unsigned sis
- if (!$preservePkgOutput) {
- unlink $pkgoutput;
- }
+ # remove temporary unsigned sis
if (!$preserveUnsigned) {
unlink $unsigned_sis_name;
}
diff --git a/bin/elf2e32_qtwrapper.pl b/bin/elf2e32_qtwrapper.pl
index c5e3da6..54d7bac 100755
--- a/bin/elf2e32_qtwrapper.pl
+++ b/bin/elf2e32_qtwrapper.pl
@@ -5,7 +5,7 @@
## All rights reserved.
## Contact: Nokia Corporation (qt-info@nokia.com)
##
-## This file is part of the S60 port of the Qt Toolkit.
+## This file is part of the utilities of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL$
## GNU Lesser General Public License Usage
@@ -81,8 +81,59 @@ my $fixupFile = "";
my $runCount = 0;
my $returnCode = 0;
+# For debugging. Make it nonzero to give verbose output.
+my $debugScript = 1;
+my @usedDefFiles;
+sub recordDefFile {
+ return if (!$debugScript);
+
+ my ($msg, $file) = @_;
+ my $content = "$msg, $file:\n";
+ my $defFileFd;
+ if (!open($defFileFd, "< $file")) {
+ print("Warning: Could not open $file (for debug analysis)\n");
+ return;
+ }
+ while (<$defFileFd>) {
+ $content .= $_;
+ }
+
+ push(@usedDefFiles, $content);
+}
+sub printRecordedDefFiles {
+ return if (!$debugScript);
+
+ foreach (@usedDefFiles) {
+ print ("$_\n");
+ }
+}
+
+sub missingSymbolMismatch
+{
+ my $missingSymbolSum = $_[0];
+
+ printRecordedDefFiles;
+
+ print("Bug in the native elf2e32 tool: Number of missing symbols does not\n");
+ print("match number of removed symbols in the output DEF file.\n\n");
+
+ print("Original elf2e32 output:\n");
+ print(" $missingSymbolSum Frozen Export\(s\) missing from the ELF file\n\n");
+
+ print("However $defoutput[1] contains more missing entries than that.\n\n");
+
+ print("This needs to be fixed manually in the DEF file.\n");
+ exit(2);
+}
+
+if ($debugScript) {
+ print("PATH: $ENV{PATH}\n");
+ print("EPOCROOT: $ENV{EPOCROOT}\n");
+}
+
while (1) {
if (++$runCount > 2) {
+ printRecordedDefFiles if ($debugScript);
print("Internal error in $0, link succeeded, but exports may be wrong.\n");
last;
}
@@ -96,6 +147,8 @@ while (1) {
my %fixupSymbols;
my $foundBrokenSymbols = 0;
+ my $missingSymbolSum = 0;
+ my $missingSymbolCount = 0;
my $errors = 0;
while (<$elf2e32Pipe>) {
print;
@@ -104,12 +157,18 @@ while (1) {
} elsif (/symbol ([a-z0-9_]+) absent in the DEF file, but present in the ELF file/io) {
$fixupSymbols{$1} = 1;
$foundBrokenSymbols = 1;
- } elsif (/[0-9]+ Frozen Export\(s\) missing from the ELF file/io) {
+ } elsif (/([0-9]+) Frozen Export\(s\) missing from the ELF file/io) {
+ $missingSymbolSum = $1;
$foundBrokenSymbols = 1;
}
}
close($elf2e32Pipe);
+ if ($debugScript) {
+ recordDefFile("Run no $runCount, elf2e32 DEF file input", "$definput[1]");
+ recordDefFile("Run no $runCount, elf2e32 DEF file output", "$defoutput[1]");
+ }
+
if ($errors) {
$returnCode = 1;
last;
@@ -125,7 +184,7 @@ while (1) {
}
open($newDefFile, "< $defoutput[1]") or die("Could not open $defoutput[1]");
open($tmpDefFile, "> $defoutput[1].tmp") or die("Could not open $defoutput[1].tmp");
- print($tmpDefFile "EXPORTS\n");
+ print($tmpDefFile "EXPORTS\n") or die("Could not write to temporary DEF file: $!");
$fixupFile = "$defoutput[1].tmp";
while (1) {
my $origDefLine;
@@ -209,24 +268,25 @@ while (1) {
} elsif ($defLine =~ s/; MISSING://) {
# Auto-absent symbols.
$extraData .= " ABSENT";
+ if (++$missingSymbolCount > $missingSymbolSum) {
+ missingSymbolMismatch($missingSymbolSum);
+ }
}
- print($tmpDefFile "\t$sym \@ $ordinal $extraData\n");
+ print($tmpDefFile "\t$sym \@ $ordinal $extraData\n") or die("Could not write to temporary DEF file: $!");
}
- print($tmpDefFile "\n");
+ print($tmpDefFile "\n") or die("Could not write to temporary DEF file: $!");
close($origDefFile) if ($definput[1]);
close($newDefFile);
close($tmpDefFile);
$definput[1] = "$defoutput[1].tmp";
- if (!$foundBrokenSymbols || $errors) {
- last;
- }
-
- print("Rerunning elf2e32 due to DEF file / ELF file mismatch\n");
- } else {
+ }
+ if (!$foundBrokenSymbols || $errors) {
last;
}
+
+ print("Rerunning elf2e32 due to DEF file / ELF file mismatch\n");
};
if ($fixupFile) {
@@ -260,6 +320,6 @@ if ($buildingLibrary) {
}
if ($differenceFound) {
- copy($tmpdso[1], $dso[1]);
+ copy($tmpdso[1], $dso[1]) or die("Could not copy $tmpdso[1] to $dso[1]: $!");
}
}
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 019a780..0ba8bc5 100755
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -53,6 +53,7 @@
use File::Copy;
use File::Spec;
+use File::Path;
sub Usage() {
print("This script can be used to set capabilities of all binaries\n");
@@ -63,11 +64,13 @@ sub Usage() {
print(" symbian-sbsv2 platform, 'target-platform' is REQUIRED. ***\n\n");
print(" *** NOTE2: When patching gcce binaries built with symbian-sbsv2 toolchain,\n");
print(" armv5 must be specified as platform.\n");
- print("\nUsage: patch_capabilities.pl [-c] pkg_filename [target-platform [capability list]]\n");
+ print("\nUsage: patch_capabilities.pl [-c|-t tmp_path] pkg_filename [target-platform [capability list]]\n");
print("\nE.g. patch_capabilities.pl myapp_template.pkg release-armv5 \"All -TCB\"\n");
print("\nThe parameter -c can be used to just check if package is compatible with self-signing\n");
print("without actually doing any patching.\n");
print("Explicit capability list cannot be used with -c parameter.\n");
+ print("\nThe parameter -t can be used to specify a dir under which the temporary files are created.\n");
+ print("Defaults to 'patch_capabilities_tmp' under the path to pkg file.\n");
exit();
}
@@ -101,6 +104,7 @@ if (@ARGV)
my $pkgFileName = shift(@ARGV);
my $justCheck = "";
my $msgPrefix = "Patching:";
+ my $tempPatchPath = "";
if ($pkgFileName eq "-c") {
$pkgFileName = shift(@ARGV);
@@ -108,6 +112,18 @@ if (@ARGV)
$msgPrefix = "Warning:";
}
+ if ($pkgFileName eq "-t") {
+ $tempPatchPath = shift(@ARGV);
+ $pkgFileName = shift(@ARGV);
+ }
+
+ my ($pkgVolume, $pkgPath, $pkgPlainFileName) = File::Spec->splitpath($pkgFileName);
+ if ($tempPatchPath eq "") {
+ $tempPatchPath = File::Spec->catpath($pkgVolume, $pkgPath."patch_capabilities_tmp", "");
+ }
+
+ mkpath($tempPatchPath);
+
# These variables will only be set for template .pkg files.
my $target;
my $platform;
@@ -165,8 +181,9 @@ if (@ARGV)
# Start with no binaries listed.
my @binaries = ();
+ my $binariesDelimeter = "///";
- my $tempPkgFileName = $pkgFileName."_@@TEMP@@";
+ my $tempPkgFileName = $tempPatchPath."/__TEMP__".$pkgPlainFileName;
if (!$justCheck) {
unlink($tempPkgFileName);
@@ -216,19 +233,23 @@ if (@ARGV)
$sourcePath =~ s/\$\(TARGET\)/$target/gm;
}
+ my ($dummy1, $dummy2, $binaryBaseName) = File::Spec->splitpath($sourcePath);
+
if ($justCheck) {
- push (@binaries, $sourcePath);
+ push (@binaries, $binaryBaseName.$binariesDelimeter.$sourcePath);
} else {
- # Change the source file name (but only if not already patched)
+ # Copy original files over to patching dir
+ # Patching dir will be flat to make it cleanable with QMAKE_CLEAN, so path
+ # will be collapsed into the file name to avoid name collisions in the rare
+ # case where custom pkg rules are used to install files with same names from
+ # different directories (probably using platform checks to choose only one of them.)
my $patchedSourcePath = $sourcePath;
- if ($patchedSourcePath !~ m/_patched_caps/)
- {
- $newLine =~ s/(^.*)(\.dll|\.exe)(.*)(\.dll|\.exe)/$1_patched_caps$2$3$4/i;
- $patchedSourcePath =~ s/(^.*)(\.dll|\.exe)/$1_patched_caps$2/i;
+ $patchedSourcePath =~ s/[\/\\:]/_/g;
+ $patchedSourcePath = "$tempPatchPath/$patchedSourcePath";
+ $newLine =~ s/^.*(\.dll|\.exe)(.*)(\.dll|\.exe)/\"$patchedSourcePath$2$3/i;
- copy($sourcePath, $patchedSourcePath) or die "$sourcePath cannot be copied for patching.";
- }
- push (@binaries, $patchedSourcePath);
+ copy($sourcePath, $patchedSourcePath) or die "$sourcePath cannot be copied for patching.";
+ push (@binaries, $binaryBaseName.$binariesDelimeter.$patchedSourcePath);
}
}
}
@@ -250,10 +271,13 @@ if (@ARGV)
my $baseCommandToExecute = "${epocToolsDir}elftran -vid 0x0 -capability \"%s\" ";
# Actually set the capabilities of the listed binaries.
- foreach my $binaryPath(@binaries)
+ foreach my $binariesItem(@binaries)
{
+ $binariesItem =~ m|^(.*)$binariesDelimeter(.*)$|;
+ my $binaryBaseName = $1;
+ my $binaryPath = $2;
+
# Create the command line for setting the capabilities.
- my ($binaryVolume, $binaryDirs, $binaryBaseName) = File::Spec->splitpath($binaryPath);
my $commandToExecute = $baseCommandToExecute;
my $executeNeeded = "";
if (@capabilitiesSpecified)
diff --git a/bin/syncqt b/bin/syncqt
index 7e1f581..8e0b3e4 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -48,13 +48,13 @@ my %modules = ( # path to module name map
"QtDesigner" => "$basedir/tools/designer/src/lib",
"QtUiTools" => "$basedir/tools/designer/src/uitools",
"QtDBus" => "$basedir/src/dbus",
- "QtWebKit" => "$basedir/src/3rdparty/webkit/WebCore",
+ "QtWebKit" => "$basedir/src/3rdparty/webkit/Source/WebKit/qt",
"phonon" => "$basedir/src/phonon",
"QtMultimedia" => "$basedir/src/multimedia",
"QtMeeGoGraphicsSystemHelper" => "$basedir/tools/qmeegographicssystemhelper",
);
my %moduleheaders = ( # restrict the module headers to those found in relative path
- "QtWebKit" => "../WebKit/qt/Api",
+ "QtWebKit" => "Api",
"phonon" => "../3rdparty/phonon/phonon",
);
@@ -75,6 +75,7 @@ my @modules_to_sync ;
$force_relative = 1 if ( -d "/System/Library/Frameworks" );
my $out_basedir = $basedir;
$out_basedir =~ s=\\=/=g;
+my $quoted_basedir = "\Q$basedir";
# functions ----------------------------------------------------------
@@ -352,11 +353,9 @@ sub syncHeader {
######################################################################
sub fixPaths {
my ($file, $dir) = @_;
- $dir =~ s=^$basedir/=$out_basedir/= if(!($basedir eq $out_basedir));
+ $dir =~ s=^$quoted_basedir/=$out_basedir/= if(!($basedir eq $out_basedir));
$file =~ s=\\=/=g;
- $file =~ s/\+/\\+/g;
$dir =~ s=\\=/=g;
- $dir =~ s/\+/\\+/g;
#setup
my $ret = $file;
@@ -380,7 +379,7 @@ sub fixPaths {
my $slash = index($file_dir, "/", $i);
last if($slash == -1);
my $tmp = substr($file_dir, 0, $slash);
- last unless($dir =~ m,^$tmp/,);
+ last unless($dir =~ m,^\Q$tmp\E/,);
$match_dir = $tmp;
$i = $slash;
}
@@ -391,7 +390,7 @@ sub fixPaths {
for(my $i = 0; $i < $count; $i++) {
$dots .= "../";
}
- $ret =~ s,^$match_dir,$dots,;
+ $ret =~ s,^\Q$match_dir\E,$dots,;
}
$ret =~ s,/+,/,g;
return $ret;
@@ -509,13 +508,13 @@ sub symlinkFile
if ($isunix) {
print "symlink created for $file " unless $quiet;
- if ( $force_relative && ($ifile =~ /^$basedir/)) {
+ if ( $force_relative && ($ifile =~ /^$quoted_basedir/)) {
my $t = getcwd();
my $c = -1;
my $p = "../";
- $t =~ s-^$basedir/--;
+ $t =~ s-^$quoted_basedir/--;
$p .= "../" while( ($c = index( $t, "/", $c + 1)) != -1 );
- $file =~ s-^$basedir/-$p-;
+ $file =~ s-^$quoted_basedir/-$p-;
print " ($file)\n" unless $quiet;
}
print "\n" unless $quiet;
@@ -694,7 +693,7 @@ my $class_lib_map_contents = "";
my @ignore_for_master_contents = ( "qt.h", "qpaintdevicedefs.h" );
my @ignore_for_include_check = ( "qatomic.h" );
my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" );
-my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h" );
+my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h", "qatomic_arm.h", "qatomic_armv7.h" );
my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" );
my %colliding_headers = ();
my %inject_headers = ( "$basedir/src/corelib/global" => ( "qconfig.h" ) ); # all from build dir
@@ -715,8 +714,25 @@ foreach my $lib (@modules_to_sync) {
my $master_contents = "#ifndef QT_".$libcapitals."_MODULE_H\n#define QT_".$libcapitals."_MODULE_H\n";
#get dependencies
- if(-e "$dir/" . basename($dir) . ".pro") {
- if(open(F, "<$dir/" . basename($dir) . ".pro")) {
+ my $pro_file = "$dir/" . basename($dir) . ".pro";
+ if(!open(F, "<$pro_file")) {
+ #the pro file doesn't exist let's try to find one
+ opendir(DIR, $dir);
+ $pro_file = "";
+ foreach my $file (readdir(DIR))
+ {
+ if ( $file =~ /\.pro$/i) {
+ die "There are multiple pro files for $lib module, which one should I use? \n" if ($pro_file ne "");
+ $pro_file = "$dir/" . $file;
+ }
+ }
+ closedir(DIR);
+ if ($pro_file eq "") {
+ die "I couldn't find a pro file for $lib module \n";
+ }
+ }
+ if(-e "$pro_file") {
+ if(open(F, "<$pro_file")) {
while(my $line = <F>) {
chomp $line;
if($line =~ /^ *QT *\+?= *([^\r\n]*)/) {
@@ -839,7 +855,7 @@ foreach my $lib (@modules_to_sync) {
@headers = ( "$out_basedir/include/$lib/$header" );
# write forwarding headers to include/Qt
- if ($lib ne "phonon" && $subdir =~ /^$basedir\/src/) {
+ if ($lib ne "phonon" && $subdir =~ /^$quoted_basedir\/src/) {
my $file_name = "$out_basedir/include/Qt/$header";
my $file_op = '>';
my $header_content = '';
diff --git a/config.profiles/harmattan/QMLViewer.desktop b/config.profiles/harmattan/QMLViewer.desktop
new file mode 100644
index 0000000..0f96731
--- /dev/null
+++ b/config.profiles/harmattan/QMLViewer.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Name=QMLViewer
+Exec=/usr/bin/qmlviewer -graphicssystem meego
+Icon=/usr/share/icons/hicolor/64x64/apps/QMLViewer.png
+Categories=X-MeeGo;
+OnlyShowIn=X-MeeGo;
diff --git a/config.profiles/harmattan/QMLViewer.png b/config.profiles/harmattan/QMLViewer.png
new file mode 100644
index 0000000..a209cd0
--- /dev/null
+++ b/config.profiles/harmattan/QMLViewer.png
Binary files differ
diff --git a/config.profiles/harmattan/README.source b/config.profiles/harmattan/README.source
new file mode 100644
index 0000000..5dde0bf
--- /dev/null
+++ b/config.profiles/harmattan/README.source
@@ -0,0 +1,58 @@
+This package uses quilt to manage all modifications to the upstream
+source. Changes are stored in the source package as diffs in
+debian/patches and applied during the build.
+
+To configure quilt to use debian/patches instead of patches, you want
+either to export QUILT_PATCHES=debian/patches in your environment
+or use this snippet in your ~/.quiltrc:
+
+ for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do
+ if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then
+ export QUILT_PATCHES=debian/patches
+ break
+ fi
+ done
+
+To get the fully patched source after unpacking the source package, cd to
+the root level of the source package and run:
+
+ quilt push -a
+
+The last patch listed in debian/patches/series will become the current
+patch.
+
+To add a new set of changes, first run quilt push -a, and then run:
+
+ quilt new <patch>
+
+where <patch> is a descriptive name for the patch, used as the filename in
+debian/patches. Then, for every file that will be modified by this patch,
+run:
+
+ quilt add <file>
+
+before editing those files. You must tell quilt with quilt add what files
+will be part of the patch before making changes or quilt will not work
+properly. After editing the files, run:
+
+ quilt refresh
+
+to save the results as a patch.
+
+Alternately, if you already have an external patch and you just want to
+add it to the build system, run quilt push -a and then:
+
+ quilt import -P <patch> /path/to/patch
+ quilt push -a
+
+(add -p 0 to quilt import if needed). <patch> as above is the filename to
+use in debian/patches. The last quilt push -a will apply the patch to
+make sure it works properly.
+
+To remove an existing patch from the list of patches that will be applied,
+run:
+
+ quilt delete <patch>
+
+You may need to run quilt pop -a to unapply patches first before running
+this command.
diff --git a/config.profiles/harmattan/api b/config.profiles/harmattan/api
new file mode 100644
index 0000000..43ede3d
--- /dev/null
+++ b/config.profiles/harmattan/api
@@ -0,0 +1,120 @@
+interface: Phonon
+type: library
+libs-pkg: libqt4-phonon
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/phonon/*
+
+interface: QtCore
+type: library
+libs-pkg: libqtcore4
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtCore/*
+
+interface: QtDBus
+type: library
+libs-pkg: libqt4-dbus
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtDBus/*
+
+interface: QtDeclarative
+type: library
+libs-pkg: libqt4-declarative
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtDeclarative/*
+
+interface: QtGui
+type: library
+libs-pkg: libqtgui4
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtGui/*
+
+interface: QtHelp
+type: library
+libs-pkg: libqt4-help
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtHelp/*
+
+interface: QtMultimedia
+type: library
+libs-pkg: libqt4-multimedia
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtMultimedia/*
+
+interface: QtNetwork
+type: library
+libs-pkg: libqt4-network
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtNetwork/*
+
+interface: QtOpenGL
+type: library
+libs-pkg: libqt4-opengl
+dev-pkg: libqt4-dev libqt4-opengl-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtOpenGL/*
+
+interface: QtScript
+type: library
+libs-pkg: libqt4-script
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtScript/*
+
+interface: QtSql
+type: library
+libs-pkg: libqt4-sql-sqlite libqt4-sql
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtSql/*
+
+interface: QtSvg
+type: library
+libs-pkg: libqt4-svg
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtSvg/*
+
+interface: QtTest
+type: library
+libs-pkg: libqt4-test
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtTest/*
+
+interface: QtXml
+type: library
+libs-pkg: libqt4-xml
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtXml/*
+
+interface: QtXmlPatterns
+type: library
+libs-pkg: libqt4-xmlpatterns
+dev-pkg: libqt4-dev
+state: stable
+scope: Nokia MeeGo
+headers: /usr/include/qt4/QtXmlPatterns/*
+
diff --git a/config.profiles/harmattan/changelog b/config.profiles/harmattan/changelog
new file mode 100644
index 0000000..b04d788
--- /dev/null
+++ b/config.profiles/harmattan/changelog
@@ -0,0 +1,2039 @@
+qt4-x11 (4.7.2~git20110302-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#226454 - QDeclarativeTextInput::mousePressEvent() doesn't
+ call QInputContext::mouseHandler()
+ * Fixes: NB#220280 - QImage forever loops on SVG
+ * Fixes: NB#222060 - PIN UI freezes if "Continue offline" dialog is
+ shown before PIN query
+ * Fixes: NB#230591 - Regression from QFuture change
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 02 Mar 2011 12:06:31 +0200
+
+qt4-x11 (4.7.2~git20110221-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#227660 - QFuture uses internally QTime, instead of
+ QElapsedTimer
+ * Fixes: NB#226474 - imMicroFocus query on QML TextInput returns the
+ start of preedit instead of cursor position
+ * Fixes: NB#208927 - X dithering looks better than meego
+ graphicssystem one
+ * Fixes: NB#224327 - Malformed windows icons cause out of bounds
+ writes
+ * Fixes: NB#224413 - XPM files crash QImage (write)
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 21 Feb 2011 14:15:37 +0200
+
+qt4-x11 (4.7.2~git20110215-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#224314 - malformed bmp's cause QImage to write out of
+ bounds
+ * Fixes: NB#225732 - QGraphicsItem::ItemStopsClickFocusPropagation
+ doesn't stop propagation
+ * Fixes: NB#221924 - Morpheus crashes when network connection is lost
+ * Fixes: NB#218317 - All capital "i" in turkish is wrong inside of
+ buttons.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 17 Feb 2011 11:50:12 +0200
+
+qt4-x11 (4.7.2~git20110208-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#217912 - Deadlock after changes in qprocess_unix
+ * Fixes: NB#217850 - floating point compiler optimization has no
+ effect
+ * Fixes: NB#226130 - QtQuick 1.1 integration
+ * Fixes: NB#226478 - TextEdit and TextInput need text selection modes
+ * Fixes: NB#226484 - TextInput selectWord() on word's first letter
+ often selects two words
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 09 Feb 2011 15:54:33 +0200
+
+qt4-x11 (4.7.2~git20110203-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#215586 - Qt make unnecessary X calls on each mouse move
+ event QETWidget::translateXI2Event
+ * Fixes: NB#210752 - Text in QML application disappears after
+ application is restored from task switcher
+ * Fixes: NB#221806 - Subsequent signal networkAccessibleChanged
+ emitting problem of class QNetworkAccessManager
+ * Fixes: NB#218404 - Memory leaks in qx11embed_x11.cpp
+ * Fixes: NB#218410 - Fix error case in getNetWmState() in
+ qwidget_x11.cpp
+ * Fixes: NB#225875 - Integrate
+ 1137379e98cab8cc67fac70b31c97001c4473eb0
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Tue, 08 Feb 2011 10:13:03 +0200
+
+qt4-x11 (4.7.2~git20110119-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#221230 - libqt4-meegographicssystemhelper needs to depend
+ on libqt4-meegographicssystem instead of recommends
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 24 Jan 2011 10:08:26 +0200
+
+qt4-x11 (4.7.2~git20110119-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#212758 - creating a QPixmap triggers creation of the
+ qt_gl_share_widget
+ * Fixes: NB#219685 - QSystemSemaphore and QSharedMemory are influenced
+ by TMPDIR
+ * Fixes: NB#188780 - Items in larger layout are not centered
+ * Fixes: NB#218317 - All capital "i" in turkish is wrong inside of
+ buttons.
+ * Fixes: NB#216667 - libqt4-meego-dev is not available for i386 at all
+ * Fixes: NB#214064 - Latest focus changes break some platform
+ components
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 19 Jan 2011 17:06:16 +0200
+
+qt4-x11 (4.7.2~git20110111-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#205680 - meego graphicssystem clears scene even if
+ Qt::WA_OpaquePaintEvent is set
+ * Fixes: NB#215368 - QMeeGoSwitchEvent's eventNumber() is not static
+ and the class is not exported
+ * Fixes: NB#211573 - Qt not configured with -dbus-linked
+ * Fixes: NB#211951 - Qt unnecessary build dependency to libxcursor-dev
+ * Fixes: NB#214064 - Latest focus changes break some platform
+ components
+ * Fixes: NB#216968 - QHostInfoCache should use QElapsedTimer instead
+ of QTime
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Wed, 12 Jan 2011 12:23:50 +0200
+
+qt4-x11 (4.7.2~git20101231-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#213183 - Ensure two Qt raster fixes are released.
+ * Fixes: NB#215639 - Need to repopulate texture glyph cache after
+ recreating GL context
+ * Fixes: NB#212887 - would be possible to open these descriptors on-
+ demand
+ * Fixes: NB#195919 - Check whether shader compilation can be improved
+ * Fixes: NB#195442 - OpenGL paint engine produces artifacts with big
+ images
+ * Fixes: NB#186988 - opengl render Chinese text: fast change text,
+ text become black block.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 03 Jan 2011 13:50:51 +0200
+
+qt4-x11 (4.7.2~git20101209-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#205593 - Any app using meegotouch prints to console when started
+ * Fixes: NB#206111 - Sometimes MLabels apppear empty even if the text is set
+ * Fixes: NB#208617 - QtProxyFactory does not return correct (any) proxy data
+ * Fixes: NB#209473 - <UninitVar> qgraphicslayoutitem.cpp:143
+ * Fixes: NB#209863 - Qt tries to use id of a destroyed window
+ * Fixes: NB#210024 - MGS should provide translucency on a per-window basis
+ * Fixes: NB#210594 - Integration of focus change fixes
+ * Fixes: NB#210599 - QDeclarativeEngine object ownership issues
+ * Fixes: NB#210416 - Framerate in portrait is significantly lower than
+ in landscape
+ * Fixes: NB#199755 - Network session error when attempting to open
+ network session
+ * Fixes: NB#201619 - Synchronization is stuck in the progress
+ indicator screen when the internet is interrupted while sync
+ * Fixes: NB#209996 - Backup options view:Text inside the text box not
+ displayed properly in potrait mode
+ * Fixes: NB#194987 - Not all the synced contacts with S60 (N97 mini)
+ have an avatar
+ * Fixes: NB#206740 - Event handling in x11EventSourceDispatch is slow
+ * Fixes: NB#207115 - Qt calls eglSwapBuffers when no painting happened
+ * Fixes: NB#206119 - QSizePolicy causes the performance slow down
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 16 Dec 2010 12:22:45 +0200
+
+qt4-x11 (4.7.2~git20101130-0maemo6) unstable; urgency=low
+
+ * Fixes: NB#198573 - Need for Signals from Qt indicating aboutToSwich and swiched state
+ * Fixes: NB#194509 - Network access from a Qt app makes dbus daemon consume tons of cpu
+ * Fixes: NB#165283 - artificial emboldening doesn't work
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Tue, 07 Dec 2010 15:31:57 +0200
+
+qt4-x11 (4.7.2~git20101130-0maemo4) unstable; urgency=low
+
+ * Fixes: NB#205453 - Qt Update cause blocker performance drop in browser.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 10 Dec 2010 13:21:07 +0200
+
+qt4-x11 (4.7.1~git20101130.really.4.7.1~git20101118-0maemo3) unstable; urgency=low
+
+ * Revert to previous release.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 03 Dec 2010 11:24:03 +0200
+
+qt4-x11 (4.7.1~git20101118-0maemo2) unstable; urgency=low
+
+ * Proper workaround for bug 196954.
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 29 Nov 2010 14:05:44 +0200
+
+qt4-x11 (4.7.1~git20101118-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Enable using OpenGL scissor test
+ * Fixes: NB#188174 - The effect of filling massive amount of html <div> elements with color ...
+ * Fixes: NB#194032 - Gallery crashed random while slideshow is going on
+ * Fixes: NB#193247 - Slider widget crashes WG in a given scenario
+ * Fixes: NB#199790 - Qt sends touch point update event too late on release.
+ * Fixes: NB#200091 - Random crashes observed when trying to paste value
+ * Fixes: NB#163620 - QtTest headers prevent compilation with -Wshadow -Werror
+ * Fixes: NB#189468 - <Safety> Invalid read reported by valgrind in libX11 when analysing accounts-ui application
+ * Fixes: NB#191811 - <Safety> Invalid read frequently reported in scratchbox
+ * Fixes: NB#193881 - Image format autodetection causes unnecessary lseeks
+ * Fixes: NB#198023 - GLib >= 2.22 requires use of g_main_context_push_thread_default in QEventDispatcher when a QThread is created
+ * Fixes: NB#202866 - MeeGo graphicssystem dithering for textures with alpha channel looks crappy
+ * Fixes: NB#204234 - obsolete driver work-around
+ * Fixes: NB#204890 - device lock prompt keeps reappearing
+ * Fixes: NB#194345 - CoreWeb: 950 coredumps with stacktrace ending in QGestureManager::deliverEvents()
+ * Fixes: NB#204098 - qstrtod does not reset errno
+ * Fixes: NB#161439 - Using optimizations causes trouble
+ * Fixes: NB#186988 - opengl render Chinese text: fast change text, text become black block
+ * Fixes: NB#193505 - after maximizing applications fonts are sometimes corrupted
+ * Fixes: 204443 - Pinch gesture semantics change
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Mon, 22 Nov 2010 12:05:12 +0200
+
+qt4-x11 (4.7.1~git20101111.really.4.7.1~git20101103-0maemo2) unstable; urgen
+
+ * Revert to previous released version
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 19 Nov 2010 10:50:40 +
+
+qt4-x11 (4.7.1~git20101103-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Provide menu link and icon for QMLViewer
+ * Remove backported QScroller patch, it is to be used externally
+ * Fixes: NB#196806 - <MemLeak> Memory leak in feednamespacepluginmanager.cpp
+ * Fixes: NB#164431 - Blocking dialog doesn't work correctly
+ * Fixes: NB#170001 - QTouchEvent::touchpoint's isPrimary -method returns always false
+ * Fixes: NB#191116 - <MemLeak> Memory leak reported by valgrind on device, in XIQueryPointer.c
+ * Fixes: NB#198833 - Qt forgets to initialize members of QSharedPointer and its helpers
+ * Fixes: NB#200433 - cannot compile QMeeGoLivePixmap::livePixmapWithSize
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 04 Nov 2010 12:14:46 +0200
+
+qt4-x11 (4.7.1~git20101021-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Previous problem with the experimental client decorations are
+ * now fixed, enable them again.
+ * Fixes: NB#195540 - libqt4-doc has extra <tr> tags
+ * Fixes: NB#198766 - MeeGo graphicssystem does not create proper deep copies of QPixmaps
+ * Fixes: NB#194397 - /usr/lib/qt4/imports/Qt/labs/ missing from packages
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Thu, 21 Oct 2010 16:01:33 +0300
+
+qt4-x11 (4.7.1~git20101008-0maemo2) unstable; urgency=low
+
+ * Disable experimental client decorations again
+ * Fixes: NB#196543 - libQtMeeGoGraphicsSystemHelper not shipped with latest packages
+ * Fixes: NB#196712 - SVG and PNG data URIs don't work in offline mode
+ * Fixes: NB#197530 - Missing menu items from ui-file
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 15 Oct 2010 11:49:02 +0300
+
+qt4-x11 (4.7.1~git20101008-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Backport QScroller from 4.8
+ * Fixes: NB#184580 - QGraphicsItem::setCacheMode(DeviceCoordinateCache) unefficient in portrait mode
+ * Fixes: NB#191792 - QML: clickable items in GridView intermittently unresponsive on B2 hardware
+ * Fixes: NB#189797 - Qt build-depends circular dependency
+ * Fixes: NB#183846 - VKB adds and accumulates _NET_WM_STATE atoms when ever it's shown
+ * Fixes: 192385 - QML: runtime.orientation doesn't change when device orientation changes
+ * Fixes: NB#197181 - host binaries in libqt4-dev do not work in x86 target
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 08 Oct 2010 14:14:42 +0300
+
+qt4-x11 (4.7.1~git20101001-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Cross-compile Qt and install both host and native binaries
+ * of build tools
+ * Enable experimental client decorations
+ * Fixes: NB#191476 - Wrong reordering of Bidi Text in Labels
+ * Fixes: NB#186087 - QGraphicsItem never gets focusOutEvent on hide
+ * Fixes: NB#186988 - opengl render Chinese text: fast change text, text become black block
+ * Fixes: NB#189686 - connecting to dbus slows down MApplication c'tor creation by ~80ms
+ * Fixes: NB#188145 - Network interface doesn't go down after last client disconnects
+ * Fixes: NB#189001 - Qt4.7 bearer management icd plugin uses embedded libconninet
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Fri, 01 Oct 2010 12:44:54 +0300
+
+qt4-x11 (4.7.0~git20100917-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#187981 - Device hangs up when region is set to Arabic language.
+ * Fixes: NB#163798 - QRasterPaintEnginePrivate::drawImage using memcpy instead of ARM optimized implementation
+ * Fixes: NB#187851 - Font rendering issues with Nokia font
+ * Fixes: NB#190817 - libqt4-doc has extra </div> and <tr> tags
+ * Fixes: NB#191880 - QPixmap::size() should return 0x0 when there is no data
+ * Fixes: NB#193700 - Pinching in calendar weekly view regression
+
+ -- Petri Latvala <ext-petri.latvala@nokia.com> Tue, 21 Sep 2010 10:48:49 +0300
+
+qt4-x11 (4.7.0~git20100827-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#189487 - qt4-x11 fails to build due to problems with opening data base file doc/qch/qt.qch
+ * Fixes: NB#174335 - Pinch gesture events are sent twice to application
+ * Fixes: NB#175685 - QTextDocument setTextDirection without QStaticText is not obeyed in Qt 4.7
+ * Fixes: NB#185563 - QTouchEvents are not correctly delivered to widgets
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Mon, 06 Sep 2010 16:48:24 +0300
+
+qt4-x11 (4.7.0~git20100823-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#178358 - Qt doc package missing
+ * Stop building QtWebKit library from Qt source tree. QtWebKit will
+ * be delivered as an independent package.
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Tue, 31 Aug 2010 10:10:15 +0300
+
+qt4-x11 (4.7.0~git20100823-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#178358 - Qt doc package missing
+ * Fixes: NB#183896 - QAuthenticator need to be patched to enable signon usage for authentication
+ * Fixes: NB#176070 - QNetworkAccessManager can't be used in QThreads
+ * Fixes: NB#176651 - Height for Width in QGraphicsLayout
+ * Fixes: NB#174429 - Qt source packages are missing API files
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Tue, 24 Aug 2010 14:11:00 +0300
+
+qt4-x11 (4.7.0~git20100811-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#165683 - QGraphicsGridLayout::setColumnSpacing is used even after item has been removed
+ * Fixes: NB#172554 - POP: Random fenix crash @ "QAbstractSocket::writeData" when move to option selected
+ * Fixes: NB#175618 - qDrawBorderPixmap is not executing correctly when borders are too thick
+ * Fixes: NB#176643 - Segmentation fault occurs while using networking
+ * Fixes: NB#180034 - we need QTBUG-11213 fixed in Harmattan - QUuid::createUuid() is not random at all
+ * Fixes: NB#182005 - Unable to build libmcontentwidgets package with libqt4 4.7.0~git20100716-0maemo1+0m6
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Wed, 11 Aug 2010 11:03:15 +0200
+
+qt4-x11 (4.7.0~git20100716-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#176070 - QNetworkAccessManager can't be used in QThreads
+ * Fixes: NB#180047 - Call UI gets shrunken while calling any number
+ * Fixes: NB#174856 - QNetworkAccessManager broken in 4.7.0~git20100609-0maemo1+0m6
+ * Fixes: NB#179240 - QFile::read does not advance the stream
+ * Fixes: NB#173119 - Bidirectional Text Rendering in Arabic language is broken with Latin characters
+ * Fixes: NB#161897 - DuiInfoBanner's setBodyText ignores <br/> tag
+ * Fixes: NB#177478 - QAuthenticator should have property map
+
+ -- Janne Hamalainen <janne.a.hamalainen@nokia.com> Thu, 22 Jul 2010 11:19:09 +0200
+
+qt4-x11 (4.7.0~git20100704-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#172773 - celluid process is causing the wakeups in idle mode
+ * Fixes: NB#175064 - QNetworkSession signals wrong state after calling stop()
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Mon, 5 Jul 2010 14:39:09 +0200
+
+qt4-x11 (4.7.0~git20100614-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#167514 - [browser-blocker] Multitouch events don't work if application is launched during device start-up
+ * Fixes: NB#175383 - qt4-acceptance-tests fail during ART Execution
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Mon, 5 Jul 2010 14:39:09 +0200
+
+qt4-x11 (4.7.0~git20100614-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#172906 - Majority of applications crashing on exit
+ * Fixes: NB#173866 - Data added to HTML5 database doesn't get flushed/persisted to database
+ * Fixes: NB#173250 - QGLContext can create end up creating a QWidget during the QApplication destructor, leading to crash
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Tue, 15 Jun 2010 11:14:33 +0200
+
+qt4-x11 (4.7.0~git20100609-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#170006 - Qt 4.7 singleShot timer calls function immediately instead of at the next event loop
+ * Fixes: NB#167058 - TapGesture not working
+ * Fixes: NB#173089 - The Qt 4.7 does not compile icd bearermanagement network plugin
+ * Fixes: NB#172749 - If grabGesture() called QGraphicsWidget will crash in deletion
+ * Fixes: NB#155179 - (QTBUG-9707) qpainter->drawTiledPixmap cause slow call of QX11PixmapData::toImage.
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Thu, 10 Jun 2010 16:46:15 +0200
+
+qt4-x11 (4.6.3~git20100602.0.4.7-0maemo1) unstable; urgency=low
+
+ * Release Qt 4.7. The version still keeps the 4.6.3 package version,
+ * in order to allow for emergency rollback to Qt 4.6.
+ * Fixes: NB#161556 - [METABUG] Integrate Qt 4.7 into Harmattan
+ * Fixes: NB#151100 - (QT-2948) The Qt Reg-Exp engine sometimes gives false positive empty match
+ * Fixes: NB#157450 - Frequent use of QTime in animation related routines causes bad performance
+ * Fixes: NB#156908 - Qt's QTime::currentTime is slow
+ * Fixes: NB#166193 - MDialog crashes with ~40% likelihood
+ * Fixes: NB#170944 - Gesture not delivered to a QGraphicsWidget, asserts inside Qt
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Wed, 4 Jun 2010 12:46:15 +0300
+
+qt4-x11 (4.6.3~git20100521-0maemo2) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#169433 - when freeing a QQLWidget not all memory is actually freed
+ * Fixes: NB#165175 - a class inherited from QDBusInterface can't invoke a method
+
+ -- Janne Hamalainen <janne.a.hamalainen@nokia.com> Tue, 25 May 2010 10:13:31 +0300
+
+qt4-x11 (4.6.3~git20100514-0maemo2) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#164183 - Random gestureEvent crashes
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Tue, 18 May 2010 12:57:30 +0300
+
+qt4-x11 (4.6.3~git20100411-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#162327 unlocking the device causes a segfault in any app open in foreground
+ * Fixes: NB#163414 Crash when hiding VKB and keep finger on screen.
+ * Fixes: NB#160270 <MemLeak> valgrind report shows memory leak for QImage::save()
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Mon, 12 Apr 2010 13:51:00 +2000
+
+qt4-x11 (4.6.3~git20100319-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Multi-touch support
+ * Fixes: NB#159993 Qt is freezing application for 2 seconds when calling showFullScreen
+ * Fixes: NB#155384 Make drawGlyphs API public
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Fri, 19 Mar 2010 15:31:00 +2000
+
+qt4-x11 (4.6.3~git20100310-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#146992 Double tap doesn't get recognized in MAFW test gui
+ * Fixes: NB#134295 QDBusInterface::callWithCallback deadlocks if called from the callWithCallback error callback
+
+ -- Bojan Radakovic <bojan.radakovic@nokia.com> Mon, 15 Mar 2010 12:34:26 +2000
+
+qt4-x11 (4.6.3~git20100224-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Remove Qt3Support
+ * Add lconvert
+ * Fixes: NB#154800 Using -opensource configuration in maemo6
+ * Fixes: NB#158708 Googleplugin crashes while configuring google account
+ * Fixes: NB#158242 all unit tests for quillimagefilter-tests are core dumped
+ * Fixes: NB#157696 QDBusServiceWatcher watches only one service at a time
+
+ -- Janne Hamalainen <janne.a.hamalainen@nokia.com> Wed, 24 Feb 2010 11:34:26 +2000
+
+qt4-x11 (4.6.2~git20100205-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#142357 - (#QT-2307) Using QDBus::CallMode other than
+ * QDBus::Block produces invalid reply
+ * Fixes: NB#138587 - QGraphicsGridLayout row span feature is not working properly
+ * Fixes: NB#153726 - QtMultimedia module is not packaged
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 12 Feb 2010 12:20:26 +2000
+
+qt4-x11 (4.6.1~git20091228.4-0maemo1) unstable; urgency=low
+
+ * Turn off the HW multi-touch implementation using kernel device API.
+ * Removed Qt Assistant and Designer packages.
+ * Fixes: NB#148497 - Devel package missing requires for some libraries
+ * Fixes: NB#151088 - Packaging of the Qt4.6 developer tools
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Thu, 14 Jan 2010 12:43:37 +2000
+
+qt4-x11 (4.6.1~git20091228.2-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#144690 - Please cherrypick ConsumeEventHint patch (Gesture)
+ * Fixes: NB#143903 - Application not working in none gui mode -> The KDE libs cannot be installed.
+ * Fixes: NB#143427 - Qt 4.6 - lrelease does not accept empty <source>
+ * Fixes: NB#147283 - All DUI application crash in scratchbox
+ * Fixes: NB#147461 - QVariant::isNull() == true after QVariant::setValue()
+ * Fixes: NB#149547 - With latest Qt 20091127 Clock application is closing on setting alarm operation
+ * Fixes: NB#117725 - sb2 cannot build camera-ui
+ * Fixes: NB#148359 - webkit traverse fixture links against phonon but it is not in package dependencies
+ * Fixes: NB#148082 - Performance of the graphics view drops when text element is rotated
+ * Fixes: NB#142507 - QTimeLine's signals are not sent while an object is being dragged with mouseMoveEvent()
+ * Fixes: NB#147744 - Translucent QGLWidgets no longer works
+ * Fixes: NB#150790 - QWebKit based application crashes when executing SunSpider
+ * Fixes: NB#150808 - Loading a web page from network to qwebview fails on columbus
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Tue, 05 Jan 2010 11:10:00 +2000
+
+qt4-x11 (4.6.0~git20091030.2-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#129594 - Qt compiled without compiler optimization
+ * The X org package does not support the MIT SHM extension anymore,
+ so the MIT SHM option is removed from Qt configuration also.
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 20 Nov 2009 16:59:11 +2000
+
+qt4-x11 (4.6.0~git20091030-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#134295 - QDBusInterface::callWithCallback deadlocks if called from the callWithCallback error callback
+ * Fixes: NB#133005 - enabling accessibility while building Qt
+ * Fixes: NB#144501 - Application launcher does not start with the new Qt 4.6 versions
+ * Fixes: NB#129494 - Qt compiled without compiler optimization
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 30 Oct 2009 15:13:18 +1000
+
+qt4-x11 (4.6.0~git20091012-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#141280 - libqt4-dev.postinst rules for Qt4.6 wrong
+ * Fixes: NB#133500 - libqt4-dev postinst is broken by update-alternatives from dpkg 1.15
+ * Fixes: NB#142136 - Error in satisfying dependencies for qt4-x11
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Thu, 12 Oct 2009 10:30:00 +0300
+
+qt4-x11 (4.6.0~git20091008-0maemo1) unstable; urgency=low
+
+ * Fixes NB#141891: - Compiling a library which uses QStateMachine doesn't work
+ * Modify rpath-link options to adapt to armel scratchbox environment
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Wed, 08 Oct 2009 11:18:37 +0300
+
+qt4-x11 (4.6.0~git20091002-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#141550 - Error in qdatastream.h in libqt4-dev 4.6.0~git20091001-0maemo1+0m6
+ * Fixes: NB#140293 - applet titles in applet library are not shown properly - added PATCH in qt changing glyph cache
+ * Fixes: NB#140727 - Enable multitouch support on device
+ * Fixes: NB#123012 - QPainter::drawTiledPixmap does not work properly with
+ non-power-of-two pixmaps when used in a DuiWidgetView
+
+ -- Stefano Pironato <stefano.pironato@nokia.com> Thu, 01 Oct 2009 15:08:32 +0300
+
+qt4-x11 (4.6.0~git20090925-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#140735 - QtGui 4.6 should have dependency to EGL
+ * Fixes: NB#139269 - qmake CONFIG=debug does not add -g
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 25 Sep 2009 15:48:32 +0300
+
+qt4-x11 (4.6.0~git20090911-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Fixes: NB#111282 - Homescreen rotation takes too long
+ * Fixes: NB#110604 - DuiLayouts using DuiFlowLayoutPolicy don't resize properly
+ * Fixes: NB#121054 - Items being not painted until update()/paint() explicitly called
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Fri, 11 Sep 2009 15:17:33 +0300
+
+qt4-x11 (4.6.0~git20090909-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#137778 - qt macro causing build error when using -pedantic
+ * Fixes: NB#137775 - qt debian packaking installing a missing file
+
+ -- Adrian Constantin <adrian.constantin@nokia.com> Wed, 09 Aug 2009 15:52:51 +0300
+
+qt4-x11 (4.6.0~git20090907-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#104827 - DuiLabel truncate arabic string and renders replaces the MEDIAL form character into FINAL on the point of truncation
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 08 Aug 2009 15:17:24 +1000
+
+qt4-x11 (4.6.0~git20090828-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Mon, 24 Aug 2009 15:47:37 +1000
+
+qt4-x11 (4.6.0~git20090824-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#127429 - QtOpenGL public header refers to non-existant qglshaderprogram.h
+
+ -- Shane Bradley <shane.bradley@nokia.com> Mon, 24 Aug 2009 15:47:37 +1000
+
+qt4-x11 (4.6.0~git20090820-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 20 Aug 2009 16:16:14 +1000
+
+qt4-x11 (4.6.0~git20090819-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#132164 - libqt4-webkit package is broken
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 19 Aug 2009 15:32:21 +1000
+
+qt4-x11 (4.6.0~git20090728-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#129594 - Qt compiled without compiler optimization
+ * Fixes: NB#127404 - Rendering errors with OpenGL in Qt 4.6
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 30 Jul 2009 14:02:24 +1000
+
+qt4-x11 (4.6.0~git20090717-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#117929 - Qt mkspecs use -Wl,--rpath by default causing warnings in Debian packaging
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 15 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.6.0~git20090717-0maemo1) unstable; urgency=low
+
+ * Pull from upstream
+ * Partial fix for 127404.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 15 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.6.0~git20090706-0maemo1) unstable; urgency=low
+
+ * Switch to using 4.6.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 07 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.5.2~git20090701-0maemo1) unstable; urgency=low
+
+ * Fixes: NB#122175 - Qt debugging symbols issues
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 07 Jul 2009 10:32:20 +1000
+
+qt4-x11 (4.5.2~git20090605-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 05 Jun 2009 19:46:34 +1000
+
+qt4-x11 (4.5.2~git20090601-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Mon, 01 Jun 2009 17:01:23 +1000
+
+qt4-x11 (4.5.2~git20090525-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Mon, 25 May 2009 15:30:34 +1000
+
+qt4-x11 (4.5.2~git20090515-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 15 May 2009 20:01:16 +1000
+
+qt4-x11 (4.5.2~git20090508-0maemo2) unstable; urgency=low
+
+ * Changed control file as per Maemo patch.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Mon, 11 May 2009 18:49:23 +1000
+
+qt4-x11 (4.5.2~git20090508-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 08 May 2009 17:51:46 +1000
+
+qt4-x11 (4.5.2~git20090506-0maemo1) unstable; urgency=low
+
+ * Removed -lxcb-xlib referance from mkspec.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Wed, 06 May 2009 19:01:22 +1000
+
+qt4-x11 (4.5.2~git20090505-0maemo2) unstable; urgency=low
+
+ * Removed old EGL config patch.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Wed, 06 May 2009 14:42:35 +1000
+
+qt4-x11 (4.5.2~git20090505-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Added gles translucency patch
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Tue, 05 May 2009 21:32:21 +1000
+
+qt4-x11 (4.5.2~git20090424-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 24 Apr 2009 18:32:37 +1000
+
+qt4-x11 (4.5.1~git20090422-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 22 Apr 2009 17:20:12 +1000
+
+qt4-x11 (4.5.1~git20090417-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#110528 - int QTest::qExec() returns always 0...
+
+ -- Gareth Pethig <gareth.pethig@nokia.com> Fri, 17 Apr 2009 13:30:20 +1000
+
+qt4-x11 (4.5.1~git20090403-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#109352 - libqt4-dev is missing libQtUiTools.a
+
+ -- Shane Bradley <shane.bradley@nokia.com> Fri, 03 Apr 2009 17:04:40 +1000
+
+qt4-x11 (4.5.1~git20090331-0maemo2) unstable; urgency=low
+
+ * Move QtClucene from the core package to the help package. This is only
+ used by assistant.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Wed, 01 Apr 2009 16:44:52 +1000
+
+qt4-x11 (4.5.1~git20090331-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 31 Mar 2009 10:35:50 +1000
+
+qt4-x11 (4.5.1~git20090326-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Add qdoc3 binary to qt4-dev-tools package.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 26 Mar 2009 14:17:39 +1000
+
+qt4-x11 (4.5.1~git20090324-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 24 Mar 2009 10:39:35 +1000
+
+qt4-x11 (4.5.1~git20090317-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#105936
+
+ -- Shane Bradley <shane.bradley@nokia.com> Tue, 17 Mar 2009 14:15:30 +1000
+
+qt4-x11 (4.5.1~git20090316-0maemo1) unstable; urgency=low
+
+ * Pull from upstream.
+ * Fixes: NB#103601
+
+ -- Shane Bradley <shane.bradley@nokia.com> Mon, 16 Mar 2009 13:14:17 +1000
+
+qt4-x11 (4.5.0-0maemo2) unstable; urgency=low
+
+ * Fixes: NB#103953, NB#103601
+ * Add additional dependencies for the phonon package.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 05 Mar 2009 16:53:23 +1000
+
+qt4-x11 (4.5.0-0maemo1) unstable; urgency=low
+
+ * Pull from upstream for 4.5.0 release.
+ * Fixes: NB#99812
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 27 Feb 2009 18:37:27 +1000
+
+qt4-x11 (4.5.0~git20090219-0maemo1) unstable; urgency=low
+
+ * Removed subversion files and disabled patches.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 19 Feb 2009 16:09:14 +1000
+
+qt4-x11 (4.5.0~git20090219-maemo1) unstable; urgency=low
+
+ * Migrated to new repository.
+ * Merged with upstream.
+
+ -- Shane Bradley <shane.bradley@nokia.com> Thu, 19 Feb 2009 14:24:45 +1000
+
+qt4-x11 (4.5.0~git20090212-maemo2) unstable; urgency=low
+
+ * Removed include/Qt/qpixmapfilter.h from debian/libqt4-dev.install
+
+ -- Mohammad Anwari <mohammad.anwari@nokia.com> Fri, 13 Feb 2009 09:50:33 +0200
+
+qt4-x11 (4.5.0~git20090212-maemo1) unstable; urgency=low
+
+ * Merged with upstream.
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Thu, 12 Feb 2009 13:45:11 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo6) unstable; urgency=low
+
+ * Added patch 102_egl_config.diff
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Thu, 12 Feb 2009 12:53:25 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo5) unstable; urgency=low
+
+ * Removed old Ubuntu patches
+ * Added patch 101_multiple-translation.diff to series file
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Mon, 26 Jan 2009 18:48:50 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo4) unstable; urgency=low
+
+ * Multiple translation variant patch was added
+ * Shader patch was removed
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Mon, 26 Jan 2009 17:38:50 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo2) unstable; urgency=low
+
+ * Removed configure switch -no-tablet
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 22 Jan 2009 18:14:50 +0200
+
+qt4-x11 (4.5.0~git20090122-maemo1) unstable; urgency=low
+
+ * Merged from upstream
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 22 Jan 2009 17:51:34 +0200
+
+qt4-x11 (4.5.0~git20090108-maemo2) unstable; urgency=low
+
+ * Fixes for lintian errors
+ * Fixes in install files
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 15 Jan 2009 11:00:17 +0200
+
+qt4-x11 (4.5.0~git20090108-maemo1) unstable; urgency=low
+
+ * Merged from upstream
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Thu, 08 Jan 2009 19:19:29 +0200
+
+qt4-x11 (4.5.0~git20081217-maemo2) unstable; urgency=low
+
+ * Debug packages available again
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Wed, 07 Jan 2009 16:55:53 +0200
+
+qt4-x11 (4.5.0~git20081217-maemo1) unstable; urgency=low
+
+ * Quilt works again
+ * Merged from upstream
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Tue, 17 Dec 2008 10:21:47 +0200
+
+qt4-x11 (4.5.0~git20081216-maemo1) unstable; urgency=low
+
+ * Applied patch 100_glconfig_shader.diff until I have
+ figured out, why quilt won't run.
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Tue, 16 Dec 2008 12:51:47 +0200
+
+qt4-x11 (4.5.0~git20081215-maemo1) unstable; urgency=low
+
+ * added patch 100_glconfig_shader.diff submitted by <mohammad.anwari@nokia.com>:
+ * enable running Qt+GL in newer images of R***r
+ * solved the compilation of TextFragmentShader which failed because lacking of a precision of a vec4
+
+ -- Tobias Koch <ext-tobias.koch@nokia.com> Mon, 15 Dec 2008 14:43:56 +0200
+
+qt4-x11 (4.5.0~git20081209-maemo1) unstable; urgency=low
+
+ * Merge with upstream
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Tue, 09 Dec 2008 10:31:45 +0200
+
+qt4-x11 (4.5.0~git20081202-maemo3) unstable; urgency=low
+
+ * Removed libglu-dev from libqt4-opengl-dev
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Fri, 05 Dec 2008 00:31:36 +0200
+
+qt4-x11 (4.5.0~git20081202-maemo2) unstable; urgency=low
+
+ * Split opengl packages
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Tue, 02 Dec 2008 16:35:31 +0200
+
+qt4-x11 (4.5.0~git20081202-maemo1) unstable; urgency=low
+
+ * Pull from upstream
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Tue, 02 Dec 2008 09:33:02 +0200
+
+qt4-x11 (4.5.0~git20081129-maemo1) unstable; urgency=low
+
+ * Copied to DUI's git
+
+ -- Mohammad Anwari <Mohammad.Anwari@nokia.com> Sat, 29 Nov 2008 00:00:04 +0700
+
+qt4-x11 (4.5.0-maemo1-11142008) unstable; urgency=low
+
+ * pull from upstream
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Fri, 14 Nov 2008 15:00:00 +0200
+
+
+qt4-x11 (4.5.0-maemo1) unstable; urgency=low
+
+ * new upstream version with gles2 support
+ * removed nonfunctional patches
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Tue, 11 Nov 2008 18:00:00 +0200
+
+qt4-x11 (4.4.0-2maemo5) unstable; urgency=low
+
+ * Enabled Exceptions
+ * Added QT3 support libraries
+ * Added xml-patterns
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Tue, 28 Oct 2008 12:00:00 +0200
+
+qt4-x11 (4.4.0-2maemo4) unstable; urgency=low
+
+ * testing tag, minor changes
+
+ -- Jani Mikkonen <ext-jani.3.mikkonen@nokia.com> Tue, 9 Sep 2008 16:00:00 +0300
+
+qt4-x11 (4.4.0-2maemo3) unstable; urgency=low
+
+ * libreadline dependency, no opengl
+
+ -- Arsi Antila <ext-arsi.antila@nokia.com> Wed, 9 Jul 2008 15:36:34 +0300
+
+
+qt4-x11 (4.4.0-2maemo2) unstable; urgency=low
+
+ * No interbase support for i386
+
+ -- Jussi Hakala <ext-jussi.hakala@nokia.com> Wed, 18 Jun 2008 11:59:27 +0300
+
+qt4-x11 (4.4.0-2maemo1) unstable; urgency=low
+
+ * Configuration for maemo environment
+ * Workarounds for find/delete inside sbox environment
+ * Adjusted the control file to behave with etch dpkg
+
+ -- Jussi Hakala <ext-jussi.hakala@nokia.com> Thu, 12 Jun 2008 13:57:49 +0300
+
+qt4-x11 (4.4.0-2) unstable; urgency=low
+
+ +++ Changes by Fathi Boudra:
+
+ * Split html documentation in qt4-doc-html package.
+ * Merge Ubuntu patches:
+ * Add lpia architecture in trusted dpkg-arch over uname.
+ * Add sqlite3 workaround in config tests fixes.
+ * Add qt-copy patch:
+ * 0227-qdatastream-regression
+ Fix a bug that causes all Qt3/2 applications to crash or hang under KDE4.
+
+ +++ Changes by Modestas Vainius:
+
+ * Add 16_qsortfilterproxymodel_invalidate_noscroll.diff patch which stops
+ scrolling to the current item/index on QSortFilterProxyModel::invalidate()
+ This patch has been scheduled for Qt 4.4.1 (TT #204403).
+ * Add missing Replaces:
+ - libqt4-opengl-dev replaces libqt4-dev (<< 4.4.0-2) due to obvious
+ reasons.
+ - libqt4-dev replaces libqt4-opengl-dev (<< 4.4.0-2) (due to qglobal.h
+ misplace).
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Fri, 09 May 2008 23:35:16 +0300
+
+qt4-x11 (4.4.0-1) unstable; urgency=low
+
+ * New upstream release.
+
+ +++ Changes by Modestas Vainius:
+
+ * Split OpenGL headers from libqt4-dev to libqt4-opengl-dev:
+ - Update install files.
+ - Make libqt4-opengl-dev depend on X OpenGL headers, hence remove the
+ latter from libqt4-dev Recommends.
+ - Add libqt4-opengl-dev to libqt4-dev Recommends.
+ - Remove libq4-opengl from libqt4-dev Depends.
+ * Explicitly add libqtcore4 to libqt4-dev (was implicit before).
+ * Rename libqt4-gui to libqtgui4 (new package).
+ * Make libqt4-gui a transitional package (Closes: #478694) depending on
+ libqtgui4, libqt4-opengl (Closes: #478264), libqt4-sql, libqt4-designer,
+ libqt4-assistant.
+ * Use ${binary:Version} instead of ${source:Version} in dependencies of
+ libqt4-core and libqt4-gui transitional packages.
+ * Require just libqtcore4 to install libqt4-dbg instead of libqt4-gui.
+ * Resync patches:
+ - 05_append_qt4_target.diff - fix offsets.
+ - 11_qdbus_to_dbus_fix.diff - remove, merged upstream.
+ - Revert to "runtime" configuration for xcursor, xinerama, xfixes and drop
+ 16_always_init_qt_x11data_ptrx.diff patch. Fixed upstream.
+
+ +++ Changes by Fathi Boudra:
+
+ * Update libqt4-dev and libqt4-opengl-dev install to use complete files
+ list instead of wildcard.
+ * Update installed files: new qt help and assistant translations.
+ * Add qt-copy patch:
+ * 0226-qtreeview-column_resize_when_needed
+ This patch assures that if no header is shown, or if we only have one
+ column (so no other columns become shrinked), the contents will be
+ visible.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Tue, 06 May 2008 17:37:49 +0200
+
+qt4-x11 (4.4.0~rc1-5) unstable; urgency=high
+
+ +++ Changes by Fathi Boudra:
+
+ * Add libqt4-sql-sqlite dependency to qt4-dev-tools. Qt Assistant and
+ qhelpgenerator use the sqlite plugin. (Closes: #476986)
+ * Remove qt-copy patches 0191 and 0192. The relevant code has changed
+ such that neither patch seems to have any effect (although listviews
+ still do not use active/inactive roles correctly).
+ * Add qt-copy patches:
+ * 0223-fix-qpixmap-hasalpha
+ Fix a performance regression in QPixmap::hasAlpha() in Qt 4.4.
+ * 0224-fast-qpixmap-fill
+ This patch avoids the expensive image->pixmap conversion by discarding
+ the old pixmap, creating a new one with the correct format, and doing
+ the fill server side.
+ * 0225-invalidate-tabbar-geometry-on-refresh
+ Fix problem where Konsole's tab bar is not shown immediately on startup.
+
+ +++ Changes by Modestas Vainius:
+
+ * Downgrade libqt4-dev *gl*-dev dependencies to Recommends.
+ They pull in half of X11 development headers and are rarely needed.
+ What's more, OpenGL apps will probably depend on them explicitly anyway.
+ * Add development packages of the SQL plugins to libqt4-dev Suggests.
+ * Make libqt4-sql recommend its plugins. Depends does not do us any good
+ because we don't know which plugin a user is going to use anyway. Moreover
+ installation of the libqt4-sql package does not necessarily imply usage of
+ the specific plugin(s). Finally, this resolves circular dependencies among
+ libqt4-sql and its plugins.
+ * Add myself to Uploaders.
+ * Add 16_always_init_qt_x11data_ptrx.diff, which ensures that X11->ptrX*
+ are properly initialized when Xcursor, Xinerama, Xfixes are not available
+ in default "runtime" configuration (Closes: #476608).
+ * Pass -xfixes -xcursor -xinerama to configure because default "runtime"
+ configuration requires a user to have libxfixes-dev, libxcursor-dev and
+ libxinerama-dev installed to enable features requires respective X
+ libraries (QLibrary simply searches for "lib*.so"). This change in
+ configuration makes 16 patch irrelevant for Debian, but I'm leaving it
+ as it's still the fix for the crashes which might occur on default Qt 4.4
+ configutions.
+ * Optimize qmake: pass -optimized-qmake to configure.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Sun, 27 Apr 2008 04:15:28 +0300
+
+qt4-x11 (4.4.0~rc1-4) unstable; urgency=low
+
+ +++ Changes by Sune Vuorela:
+
+ * Have libqt4-dev conflict/replace libqtwebkit-dev.
+ * Fix qmake to generate a bit better pkg-config files. Those should usually
+ not be generated - as it ends up being crackful. After a bit of patching
+ they are a bit less crackful though. (Closes: 457570)
+ * Postprocess prl files to remove the same crack as in the pc files.
+ (Closes: 470572)
+ * Do a bit nicer linking when needed instead of relying on crackfulness from
+ prl and pc files.
+ * Add a disabled patch to generate better prl files, but unfortunately too
+ much of qt4 build process relies on on it and is not yet fixed, but it is
+ saved for later use.
+ * Fix qmake makefile generation - should not add double slashes to
+ makefiles.
+ * Make libqt4-core transitional package arch:any. It doesn't bloat the
+ archive too much, but it helps on installability.
+
+ +++ Changes by Matthew Rosewarne:
+
+ * Add Recommends: qt4-doc to qt4-demos.
+ * Add watch file.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Tue, 15 Apr 2008 23:48:31 +0200
+
+qt4-x11 (4.4.0~rc1-3) unstable; urgency=low
+
+ +++ Changes by Sune Vuorela:
+
+ * Clean up a bit in the dependencies of libqt4-dev. Removed dependencies:
+ libqt4-sql-mysql, libqt4-sql-odbc, libqt4-sql-psql, libqt4-sql-sqlite,
+ libqt4-sql-sqlite2, libqt4-sql-ibase, firebird2.0-dev, libaudio-dev,
+ libcupsys2-dev, libdbus-1-dev, libfreetype6-dev, libglib2.0-dev,
+ libice-dev, libiodbc2-dev, libjpeg62-dev, libmng-dev, libmysqlclient15-dev,
+ libpam0g-dev, libpng12-dev, libpq-dev, libreadline5-dev, libsm-dev,
+ libsqlite0-dev, libsqlite3-dev, libtiff4-dev, libx11-dev, libxcursor-dev,
+ libxext-dev, libxft-dev, libxi-dev, libxinerama-dev, libxmu-dev,
+ libxrandr-dev, libxrender-dev, libxslt1-dev, libxt-dev, x11proto-core-dev,
+ zlib1g-dev
+
+ +++ Changes by Fathi Boudra:
+
+ * Add libqt4-svg dependency to libqt4-gui. It helps for the transition as
+ libQtSvg.so.4 was previously in libqt4-gui package. (Closes: #475324)
+ * Replace libqcncodecs.so in libqt4-gui (<< 4.4.0~beta1-1). (Closes: #475340)
+ * Update 20_mips_atomic_ops patch. Qt4.4 introduced two new atomic operations
+ without the necessary assembler .set directives.
+ Thanks to Thiemo Seufer. (Closes: #475402)
+
+ -- Fathi Boudra <fabo@debian.org> Sat, 12 Apr 2008 07:48:37 +0200
+
+qt4-x11 (4.4.0~rc1-2) unstable; urgency=low
+
+ * Add patch for Explicit template specialization cannot have a storage class
+ with gcc-4.3. Specializations of templates cannot explicitly specify
+ a storage class, and have the same storage as the primary template.
+
+ -- Fathi Boudra <fabo@debian.org> Wed, 09 Apr 2008 09:40:00 +0200
+
+qt4-x11 (4.4.0~rc1-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #469783)
+
+ +++ Changes by Modestas Vainius:
+
+ * Refresh qt-copy patches:
+ * 0167-fix-group-reading.diff - adjust offsets.
+ * 0180-window-role.diff - adjust offsets.
+ * 0195-compositing-properties.diff - adjust offsets.
+ * 0203-qtexthtmlparser-link-color.diff - adjust offsets.
+ * 0209-prevent-qt-mixing.diff - adjust offsets.
+ * 0214-fix-qgraphicsproxywidget-tab-crash.diff - adjust offsets.
+ * 0216-allow-isystem-for-headers.diff - adjust offsets.
+ * Remove qt-copy patches:
+ * 0172-prefer-xrandr-over-xinerama.diff - merged upstream.
+ * 0178-transparency-window-types.diff - merged upstream.
+ * 0215-compile-with-Xcursor-linkage.diff - merged upstream.
+ * 0217-qurl-isempty-regression.diff - merged upstream.
+ * 0218-qassert-macro-fix.diff - merged upstream.
+ * fix-qt_bootstrapped-typo.diff - merged upstream.
+ * Add qt-copy patches:
+ * 0220-no-x-recursion-in-xerrhandler.diff - adjust offsets.
+ * Refresh Debian patches:
+ * 02_launch_assistant-qt4.diff - adjust offsets.
+ * 05_append_qt4_target.diff - adopt to upstream changes. lrelease and
+ lupdate have been moved to tools/linguist/, adjust offsets.
+ * 50_kfreebsd_build_fix.diff - adjust offsets.
+ * 80_hurd_max_path.diff - adjust offsets.
+ * Remove Debian patches:
+ * 08_load_ssl.diff - different fix applied upstream.
+ * Update *.install files:
+ * qt4-dev-tools.install: a few renames of the language files,
+ s/assistant-qt3/assistant-qt4/, add usr/bin/xmlpatterns
+ * Add libqt4-core transitional package. (Closes: #473658)
+ * Add debian/not-installed to document files which are deliberately not
+ installed
+ * Avoid calling ./configure repeatedly during build/install: tie ./configure
+ to config.status
+
+ +++ Changes by Fathi Boudra:
+
+ * Re-introduce LD_LIBRARY_PATH workaround to use lrelease.
+ * Remove Conflicts against libqt4-core.
+ * Reorder libqt4-sql dependencies to have packages available on all
+ architectures listed first. (Closes: #473348)
+ * Add architectures availability list to libqt4-sql-ibase package.
+ (Closes: #473348)
+ * Add patch to fix unaligned access on hppa. Thanks to Bernhard R. Link.
+ (Closes: #458133)
+ * Add patch to replace remaining qdbus by dbus. Fix libqtscriptdbus build.
+ * Update configure options:
+ * Replace -qdbus by -dbus.
+ * Add -svg.
+
+ +++ Changes by Matthew Rosewarne:
+
+ * Rewrite clean rule to remove remaining build cruft.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Mon, 07 Apr 2008 01:36:54 -0400
+
+qt4-x11 (4.4.0~beta1-1) experimental; urgency=low
+
+ * New upstream release.
+
+ * Add build dependencies: doxygen, firebird2.0-dev, libiodbc2-dev,
+ libpam0g-dev, libreadline5-dev, libxslt1-dev.
+ * Split libqt4-gui and libqt4-core packages.
+ * Create package for each Qt module.
+ * Enable all SQL drivers as plugins and add related packages:
+ libqt4-sql-ibase, libqt4-sql-mysql, libqt4-sql-odbc, libqt4-sql-psql,
+ libqt4-sql-sqlite, libqt4-sql-sqlite2.
+ * Add packages: libqt4-assistant, libqt4-dbus, libqt4-designer, libqt4-help,
+ libqt4-network, libqt4-opengl, libqt4-script, libqt4-svg, libqt4-test,
+ libqt4-webkit, libqt4-xml, libqt4-xmlpatterns and qt4-demos.
+ * Replace libqt4-core by libqtcore4 package.
+ * Rename libqt4-debug to libqt4-dbg like other debug packages in Debian.
+ * Update .lintian override files.
+ * Update .install files.
+ * Move translations files in their respective packages.
+ * Disable DEB_INSTALL_CHANGELOGS_ALL.
+ * Build ibase sql plugin on supported architectures only.
+ * Enable demos, examples, WebKit and XmlPatterns.
+ * Enable exceptions. It is a dependency to XmlPatterns module.
+ * Add qtdemo help collection file.
+ * Split WebKit and XmlPatterns debug packages from libqt4-dbg.
+ * Generate Doxygen tagfile in libqt4-dev. Thanks to Matthew Rosewarne.
+ * Examples and Demos are not shipped compressed anymore.
+ * Refresh qt-copy patches:
+ * 0167-fix-group-reading
+ * 0172-prefer-xrandr-over-xinerama
+ * 0178-transparency-window-types
+ * 0180-window-role
+ * 0191-listview-alternate-row-colors
+ * 0192-itemdelegate-palette-state
+ * 0195-compositing-properties
+ * 0203-qtexthtmlparser-link-color
+ * 0209-prevent-qt-mixing
+ * 0210-fix-crash-q3stylesheet-font-size
+ * Remove qt-copy patches:
+ * 0175-fix-s390-qatomic
+ * 0176-coverity-fixes
+ * 0179-transient-hack
+ * 0187-fix-font-fixed-pitch
+ * 0194-fix-moveonly-dnd-in-itemviews
+ * 0200-fix-qsslsocket-waitfor
+ * 0205-fast-qpixmap-fill
+ * 0211-q3action-crash
+ * Add qt-copy patches:
+ * 0214-fix-qgraphicsproxywidget-tab-crash
+ * 0215-compile-with-Xcursor-linkage
+ * 0216-allow-isystem-for-headers
+ * 0217-qurl-isempty-regression
+ * 0218-qassert-macro-fix
+ * fix-qt_bootstrapped-typo
+ * Refresh Debian patches:
+ * 01_qmake_for_debian
+ * 02_launch_assistant-qt4
+ * 03_launch_moc-qt4
+ * 04_launch_uic-qt4
+ * 05_append_qt4_target
+ * 08_load_ssl
+ * 10_config_tests_fixes
+ * 40_alpha_ice
+ * 41_disable_opengl_visibility
+ * 50_kfreebsd_build_fix
+ * 60_m68k_inotify_fix
+ * 80_hurd_max_path
+ * Remove Debian patches:
+ * 06_qtdemo_destdir. Useless as we ship qtdemo again.
+ * 30_arm_ftbfs_fixes. Merged upstream.
+ * 31_arm_eabi_fix. Upstream changed arm architecture handling.
+ This patch doesn't apply as it is.
+ * 91_qmake_lflags_no-undefined. Merged upstream.
+
+ -- Fathi Boudra <fabo@debian.org> Thu, 13 Mar 2008 22:34:45 +0100
+
+qt4-x11 (4.3.4-2) unstable; urgency=low
+
+ * Add patches:
+ * 09_qmake_lflags_as-needed
+ workaround as LDFLAGS isn't honored by configure script.
+ we set --as-needed flag for Qt build only.
+ * 10_config_tests_fixes.diff
+ configuration test fixes for Interbase/Firebird and ODBC sql drivers.
+ * Update 01_qmake_for_debian patch:
+ * re-introduce link_prl and drop QT_SHARED workaround.
+ * Update rules:
+ * Remove exported LDFLAGS.
+ * Remove DEB_CONFIGURE_SCRIPT_ENV.
+ * Exclude debug files from dh_shlibdeps using DEB_DH_SHLIBDEPS_ARGS_ALL.
+ * Update configure options to use libtiff from system.
+ * Remove debug configure option to build with -02.
+ * Update common-install-arch target to fix wrong path in pkconfig and prl files.
+ * Add libtiff4-dev build dependency.
+ * Update libqt4-dev dependencies.
+
+ -- Fathi Boudra <fabo@debian.org> Sat, 08 Mar 2008 10:09:02 +0100
+
+qt4-x11 (4.3.4-1) unstable; urgency=low
+
+ * New upstream release:
+ * This version adds the GNU General Public License (GPL) version 3
+ to all Qt Open Source editions. The GPL Exception version 1.1
+ applies to both versions of the GPL license.
+
+ * Add qt-copy patches:
+ * 0205-fast-qpixmap-fill
+ Fix a performance issue in QPixmap::fill()
+ * 0209-prevent-qt-mixing
+ This patch changes QObjectPrivateVersion, thus preventing mixing parts
+ of upstream Qt and qt-copy.
+ * 0210-fix-crash-q3stylesheet-font-size
+ This patch fixes crashs in q3stylesheet
+ (it was possible to use a qfont size < 1)
+ * 0211-q3action-crash
+ During porting qt3to4 port QGroupAction to Q3GroupAction but not QAction
+ to Q3Action (which is logical) But it crashs when it's not a q3action.
+ * Refresh and enable 0172-prefer-xrandr-over-xinerama patch.
+ * Remove 0204-fix-tulip-aliasing patch. Merged upstream.
+ * Remove 90_qmake_cxxflags_fpermissive patch.
+ * Add ${shlibs:Depends} to libqt4-dev. See missing shared library
+ dependencies thread on debian-devel mailing list.
+ * Add catalan translation. Thanks to Javier Serrano Polo. (Closes: #459822)
+ * Update copyright file. Add GPL version 3.
+ * Remove -fpermissive.
+
+ -- Fathi Boudra <fabo@debian.org> Tue, 26 Feb 2008 18:38:27 +0100
+
+qt4-x11 (4.3.3-2) unstable; urgency=low
+
+ * Update 0203-qtexthtmlparser-link-color qt-copy patch:
+ Add qt-bugs@ issue and Trolltech task ID.
+ * Add 0204-fix-tulip-aliasing qt-copy patch:
+ Fix KDE4 RC2 crashing on startup due to Qt 4.3.3 update.
+ * Downgrade libqt4-dev dependency to qt4-dev-tools from Recommends to
+ Suggests.
+ * Add semicolon at the end of the MimeType key. Thanks to Pino Toscano.
+ * Remove 91_qmake_ldflags_as-needed patch:
+ It breaks other packages. (Closes: #457038, #457284)
+ * Add 91_qmake_lflags_no-undefined patch:
+ By default, qmake adds --no-undefined linker flag.
+
+ -- Fathi Boudra <fabo@debian.org> Sun, 30 Dec 2007 23:29:09 +0100
+
+qt4-x11 (4.3.3-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [Adeodato SimĂł]
+
+ * Do not depend or build-depend on the transitional package xlibmesa-gl-dev,
+ but on libgl1-mesa-dev instead. Ditto for libglu1-xorg-dev/libglu1-mesa-dev.
+
+ [Fathi Boudra]
+
+ * Bump Standards-Version to 3.7.3.
+ * Fix description contains homepage lintian warning.
+ * Merge Kubuntu load ssl patch. Thanks to Jonathan Riddell.
+ * Add CDDL exception to debian/copyright.
+ * Add 21_assume_no_fpu_for_embedded_devices patch. Thanks to Thiemo Seufer
+ and Bradley Hughes. Not Enabled yet: It breaks ABI on mips.
+ We will keep it for later (> 4.3.3-1).
+ * Add 91_qmake_ldflags_as-needed patch. Build with --as-needed linker flag.
+ * Remove qt-copy patches:
+ * 0163-fix-gcc43-support.
+ * 0185-fix-format-strings.
+ * 0188-fix-moc-parser-same-name-header.
+ * 0189-fix-q3toolbar-qcombobox-signal-slot.
+ * 0193-qtreeview-division-by-zero.diff.
+ * Add qt-copy patches:
+ * 0200-fix-qsslsocket-waitfor.
+ Fixes some QSslSocket::waitFor$X methods.
+ * 0203-qtexthtmlparser-link-color.
+ Links are assigned a foreground color according to the system current
+ color scheme.
+
+ -- Fathi Boudra <fabo@debian.org> Thu, 06 Dec 2007 22:06:46 +0100
+
+qt4-x11 (4.3.2-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [Fathi Boudra]
+ * Update desktop files categories.
+ * Add desktop files icons. (Closes: #433581)
+ * Update patches to Qt4.3.2.
+ * Add 90_qmake_cxxflags_fpermissive patch.
+ * Remove 0186-fix-component-alpha-text patch. Merged upstream.
+ * Add qt-copy patches:
+ * 0188-fix-moc-parser-same-name-header
+ * 0189-fix-q3toolbar-qcombobox-signal-slot
+ * 0191-listview-alternate-row-colors
+ * 0192-itemdelegate-palette-state
+ * 0193-qtreeview-division-by-zero
+ * 0194-fix-moveonly-dnd-in-itemviews
+ * 0195-compositing-properties
+ * Update qt4-dev-tools long description.
+ * Update copyright:
+ * Update Trolltech GPL exception to v1.1.
+ * Add Trolltech GPL exception addenum.
+ * Update rules:
+ * Build with -fpermissive.
+ * Introduce QTVERSION.
+ * Fix qt4-config menu section. (Closes: 444896)
+
+ [Sune Vuorela]
+ * Have strict interdependencies between packages with a shlibs.local file.
+ (Closes: #438746)
+ * Don't trust uname in generating the qt build key. This has bitten us in
+ qt3, but will soon bite us in qt4 as qt4 becomes more popular.
+
+ [Ana Beatriz Guerrero Lopez]
+ * Add desktop files icons uuencoded and update rules to install them uudecoded.
+ * Add sharutils build dependency.
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Sat, 06 Oct 2007 07:00:54 +0200
+
+qt4-x11 (4.3.1-2) unstable; urgency=low
+
+ * There is a large difference between 8 spaces and a tab.
+
+ -- Sune Vuorela <debian@pusling.com> Fri, 10 Aug 2007 22:20:45 +0200
+
+qt4-x11 (4.3.1-1) unstable; urgency=low
+
+ * New upstream release.
+
+ [Fathi Boudra]
+ * Switch to quilt patch system.
+ * Update copyright. Add Trolltech GPL Exception.
+ * Update section in Debian menu files.
+ * Update patches for Qt4.3.1.
+ * Remove 51_kfreebsd_mkspecs patch. Moved in rules.
+ * Add 0187-fix-font-fixed-pitch patch:
+ This patch works around broken QFontInfo::fixedPitch by always using a
+ glyph metrics comparison test to guess the information. This has the
+ property of both ignoring (bad) and not relying on (good) any information
+ that might be provided by the OS's font facility. For Mac OS X only.
+ * Remove patches merged upstream:
+ * 0177-qurl-clear-fix
+ * 0183-qprocess-corruption
+ * 42_alpha_fetch_and_add
+ * Disable:
+ * 0172-prefer-xrandr-over-xinerama patch. (Closes: #433931)
+ * 0181-qdnd-x11-fix patch.
+
+ [Sune Vuorela]
+ * Add a quick and dirty test to make build on hppa fail if a current
+ getdents kernel bug is detected.
+
+ -- Fathi Boudra <fboudra@free.fr> Wed, 08 Aug 2007 15:08:11 +0200
+
+qt4-x11 (4.3.0-5) unstable; urgency=low
+
+ [Fathi Boudra]
+ * Update 01_qmake_for_debian patch. Add DEFINES += QT_SHARED in qmake.conf
+ along with the removal of link_prl. (Closes: #434019)
+ * Apply qt-copy patches:
+ * 00_0185-fix-format-strings: This patch fixes various code issues with
+ handling format strings. None of them seem to be exceptionally bad,
+ but its better safe than sorry. It is related to CVE-2007-3388.
+ TT claims the problem is not present in any version of Qt 4. Dirk Muller
+ disagrees and believes that some of them are possible to exploit.
+ * 00_0186-fix-component-alpha-text: This patch fixes component alpha
+ (LCD hinted) text when it's drawn on a non-opaque background. Qt doesn't
+ initialize the alpha channel in the glyph masks, which causes problems
+ in Konsole when transparency is enabled, and in other situations where
+ the background isn't fully opaque.
+
+ -- Fathi Boudra <fboudra@free.fr> Mon, 30 Jul 2007 21:36:25 +0200
+
+qt4-x11 (4.3.0-4) unstable; urgency=low
+
+ [Fathi Boudra]
+ * Add 42_alpha_fetch_and_add patch to fix broken threading on alpha, hangs
+ uselessly on startup. fetch-and-add is supposed to return the original
+ value before the addition. Thanks to Steve Langasek and Bradley Hughes.
+ (Closes: #433031)
+ * Update control: Replace ${source:Version} by ${binary:Version}.
+ Make the package binNMU safe. Thanks to Lior Kaplan. (Closes: #433548)
+
+ -- Fathi Boudra <fboudra@free.fr> Mon, 16 Jul 2007 21:32:01 +0200
+
+qt4-x11 (4.3.0-3) unstable; urgency=low
+
+ [Fathi Boudra]
+ * Update control: Replace deprecated ${Source-Version} by ${source:Version}.
+ * Update rules:
+ * Add bindir and libdir configure options.
+ * Replace common-install-arch target. Replaced by build system patches and
+ a fix for pkgconfig files. (Closes: #401807)
+ * Add patches:
+ * 04_launch_uic-qt4: call uic-qt4 binary.
+ * 05_append_qt4_target: append -qt4 when needed. It fixes moc-location and
+ uic_location are properly in pkgconfig files. (See bug #401807)
+ * 06_qtdemo_destdir: remove QT_BUILD_TREE in qtdemo DESTDIR target.
+ (Closes: #408639)
+ * Revert Qt handling argb visuals on X11 patch. There are dependencies
+ not fixed in Qt. They cause a few regressions when this patch is applied.
+ (Closes: #430907, #431436, #431943)
+ * Update Qt support for new window types used for compositing patch.
+ Fix crashes when 'w' is null. (Closes: #431322)
+ * Apply qt-copy patches:
+ * 00_0172-prefer-xrandr-over-xinerama: only trust libxinerama if it is not
+ the emulated information coming from xrandr 1.2.
+ * 00_0177-qurl-clear-fix: fix QUrl::clear(). Applied upstream.
+ * 00_0183-qprocess-corruption: fix plain data loss bug. Applied Upstream.
+
+ -- Fathi Boudra <fboudra@free.fr> Fri, 29 Jun 2007 08:15:23 +0200
+
+qt4-x11 (4.3.0-2) unstable; urgency=low
+
+ [Brian Nelson]
+ * Changed dist back to unstable.
+ * Tightened qt4-dev-tools's dependency on libqt4-core to
+ (= ${Source-Version}), since it uses internal (non-public) classes in
+ Qt whose ABI can change. (Closes: #429817)
+ * Added a build-dependency on libxi-dev to enable tablet support.
+ * Constrict the hack to clean all binary files to the bin, config.tests,
+ and qmake directories to drastically improve its speed
+
+ [Fathi Boudra]
+ * Qt4 demos builds properly in Qt4.3. (Closes: #408639)
+ * Apply qt-copy patches:
+ * 00_0178-transparency-window-types: adds Qt support for new window types
+ used for compositing.
+ * 00_0179-transient-hack: workaround that makes setting of WM_TRANSIENT_FOR
+ work with some window types.
+ * 00_0180-window-role: several problems with Qt's support for the
+ WM_WINDOW_ROLE property.
+ * 00_0181-qdnd-x11-fix: makes the find_child algorithm in qdnd look at
+ _all_ widgets that contain the QPoint.
+ * 00_0182-argb-visuals-default: Qt handling argb visuals on X11.
+
+ -- Brian Nelson <pyro@debian.org> Wed, 27 Jun 2007 00:02:07 -0400
+
+qt4-x11 (4.3.0-1) experimental; urgency=low
+
+ * New upstream release.
+ * Fixes a QListView issue. (Closes: #419654)
+
+ * Update uploaders. Add Ana, Sune and Fathi.
+
+ [Sune Vuorela]
+ * Remove 04_utf8_bug_fix: Merged upstream.
+ * Update libqt4-dev.install. Upstream installs pkgconfig files the right place.
+ * Update libqt4-core.install. Add libQtScript.
+ * Update rules:
+ * Add utils.mk to use list-missing.
+ * Cleaning seems to fail a bit. Trying to hack around that in clean::
+ target.
+
+ [Fathi Boudra]
+ * Redo 30_arm_ftbfs_fixes to fix another FTBFS. Add arm target to configure
+ script. Thanks to Sune Vuorela and Aurelien Jarno. (Closes: #426129)
+ * Remove 71_hppa_inotify_fix: Merged upstream.
+ * Update patches:
+ * 02_launch_assistant-qt4
+ * 03_launch_moc-qt4
+ * 50_kfreebsd_build_fix
+ * 80_hurd_max_path
+ * Apply qt-copy patches:
+ * 00_0163-fix-gcc43-support: Various fixes to get Qt 4.3 without hundreds
+ of warnings compiling.
+ * 00_0167-fix-group-reading: In big user environments, getgrgid_r() needs
+ more memory than sysconf() returns.
+ * 00_0175-fix-s390-qatomic: Fix s390(x) build.
+ * 00_0176-coverity-fixes: Fix various obvious memory leaks.
+ * Rename disable opengl visibility patch. It is not alpha architecture only.
+ * Add desktop files to support Desktop Environments. (Closes: #378915)
+ * Update qt4-dev-tools.install. Add qdbusviewer and pixeltool.
+ Thanks to Benjamin Meyer for the reminder.
+ * Update libqt4-dev.install. Remove qtdemo binary as we provide a tarball of the
+ demos directory. qtdemo is useless, it can't launch anything without demos
+ builded. It can only show screenshots and short description of demos,
+ users have it in Qt assistant.
+ * Update rules:
+ * Remove -debug-and-release option. Deprecated.
+ * Add configure options:
+ * -no-exceptions
+ * -debug
+ * -qdbus
+ * -pch
+ * -nomake examples
+ * -nomake demos
+
+ -- Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Sat, 09 Jun 2007 00:25:41 +0200
+
+qt4-x11 (4.2.3-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes build failures when QT_NO_DEBUG_OUTPUT defined
+ (Closes: #418832)
+ - Fixes broken signal/slot connection in QSvgRenderer
+ (Closes: #411292)
+
+ -- Brian Nelson <pyro@debian.org> Thu, 12 Apr 2007 12:38:06 -0400
+
+qt4-x11 (4.2.2-2) unstable; urgency=high
+
+ * debian/patches/04_utf8_bug_fix.dpatch: new patch to fix the "UTF-8
+ overlong sequence decoding vulnerability" [CVE-2007-0242]
+
+ -- Brian Nelson <pyro@debian.org> Fri, 30 Mar 2007 11:04:20 -0400
+
+qt4-x11 (4.2.2-1) unstable; urgency=low
+
+ * New upstream release (Closes: #410862)
+
+ * debian/rules: set the sysconfdir to /etc/xdg instead of /etc/qt4 to
+ match the QSettings documentation (Closes: #407297)
+
+ * Added Riku Voipio's patch for ARM EABI (Closes: #408813)
+
+ * debian/patches/22_launch_moc-qt4.dpatch: new patch to ensure the Qt4
+ version of moc is launched by qdbuscpp2xml (Closes: #399049)
+
+ * Added a doc-base file for qt4-doc (Closes: #403290)
+
+ * debian/qt4-designer.links: added a link /usr/share/qt4/bin/designer ->
+ /usr/bin/designer-qt4 (Closes: #410885)
+
+ * Re-arranged patches to group them by arch so that they're easier to
+ deal with
+
+ * Applied new patches for kFreeBSD and Hurd support
+ (Closes: #380097, #402007)
+
+ * debian/libqt4-gui.install: added the codecs plugins, somehow these got
+ accidentally dropped (Closes: #409228)
+
+ -- Brian Nelson <pyro@debian.org> Sun, 4 Mar 2007 13:50:39 -0500
+
+qt4-x11 (4.2.1-2) unstable; urgency=low
+
+ * debian/patches/20_hppa_inotify_fix.dpatch: new patch that should fix
+ the FTBFS on hppa due to missing defines (Closes: #394953)
+
+ * Added patches for hurd support (Closes: #380097)
+
+ * debian/patches/10_qmake_for_debian.dpatch: restored the modification
+ to remove link_prl from the CONFIG line, which fixes problems with
+ unnecessary linkage (Closes: #394836)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 31 Oct 2006 02:42:02 -0500
+
+qt4-x11 (4.2.1-1) unstable; urgency=high
+
+ * New upstream release
+ - Fixes integer overflow in pixmap handling [CVE-2006-4811]
+ (Closes: #394192)
+
+ * Install the libqtaccessiblecompatwidgets.so plugin into
+ libqt4-qt3support, so that libqt4-gui does not circularly depend on
+ libqt4-qt3support (Closes: #394351, #394629)
+
+ -- Brian Nelson <pyro@debian.org> Mon, 23 Oct 2006 11:59:52 -0400
+
+qt4-x11 (4.2.0-2) unstable; urgency=low
+
+ * debian/control: added a dependency on libglib2.0-dev for libqt4-dev
+ (Closes: #392797, #392173)
+
+ * Added a bunch of plugins and their debugging symbols to be installed
+
+ * debian/patches/19_m68k_inotify_fix.dpatch: new patch to fix FTBFS on
+ m68k (Closes: #391902)
+
+ * Imported Ubuntu fixes, thanks to Jonathan Riddell for the tip
+ - Fix typo in debian/rules -qt-sql-slite to -qt-sql-sqlite
+ (Closes: #392808)
+ - Install usr/bin/qdbus usr/bin/qdbusxml2cpp and usr/bin/qdbuscpp2xml
+ (Closes: #391726)
+
+ * debian/control: added a libqt4-dev dependency on libsqlite0-dev
+ (Closes: #392558)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 17 Oct 2006 23:44:31 -0400
+
+qt4-x11 (4.2.0-1) unstable; urgency=low
+
+ * New upstream release
+ - No longer includes "CONFIG = ... debug" in the mkspecs/qconfig.pri
+ (Closes: #357136)
+ - Fixes QFontDialog assert() failures (Closes: #380418)
+
+ * debian/control: made libqt4-gui conflict/replace libqt4-designer, to
+ ensure that old package is removed (Closes: #380253)
+
+ * Enable Qt's new support for using the system's SQLite 3 library
+ (Closes: #382238)
+
+ * debian/rules: removed the PostgreSQL and MySQL include hacks from the
+ configure arguments, since the configure script now autodetects them
+ itself
+
+ * debian/patches/10_qmake_for_debian.dpatch: updated for new upstream
+
+ * debian/patches/13_arm_ftbfs_fixes.dpatch: updated for new upstream
+
+ * debian/patches/19_s390_atomic.dpatch: removed, since it appears to be
+ obsolete
+
+ * debian/libqt4-debug.install: changed the wildcards to match the new
+ debug lib names. What was once *_debug.so.* is now *.debug. Ick.
+
+ * debian/control: removed libqt4-debug-dev since now that the _debug
+ libs have been removed and debugging symbols are shipped in their
+ place, this package is no longer needed
+
+ * Tar up the demos directory and include it in qt4-doc. Also added the
+ qtdemo binary to libqt4-dev. (Closes: #390925)
+
+ * debian/rules: add -DQT_QLOCALE_USES_FCVT to the configure arguments
+ when building on arm, like Qt3, to fix a uic problem (Closes: #386460)
+
+ * debian/libqt4-gui.install: added usr/lib/libQtAssistantClient.so.*,
+ since it's now shipped as a shared library; previously it was a static
+ library
+
+ * Added build-deps on libdbus-1-dev and libglib2.0-dev, and added
+ libQtDBus to the libqt4-core package
+
+ -- Brian Nelson <pyro@debian.org> Fri, 6 Oct 2006 23:16:46 -0400
+
+qt4-x11 (4.1.4-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Reintroduce the libpq-dev dependency, which seems to have been removed by
+ mistake in 4.1.0-2. (Closes: #327618)
+
+ -- Steinar H. Gunderson <sesse@debian.org> Tue, 29 Aug 2006 01:10:59 +0200
+
+qt4-x11 (4.1.4-1) unstable; urgency=low
+
+ * New upstream release (Closes: #378443)
+
+ * Moved usr/lib/libQtDesigner.so.* and
+ usr/lib/libQtDesignerComponents.so.* from qt4-designer to libqt4-gui
+ so there the libqt4-dev package won't contain dangling symlinks
+ (Closes: #374612)
+
+ -- Brian Nelson <pyro@debian.org> Sun, 16 Jul 2006 15:39:29 -0700
+
+qt4-x11 (4.1.3-3) unstable; urgency=low
+
+ * debian/patches/19_s390_atomic: patch from Bastian Blank to fix
+ including of s390 specific atomic header. (Closes: #370241)
+
+ * debian/patches/18_disable_opengl_visibility.dpatch: regenerated so
+ that it applies correctly for me
+
+ -- Brian Nelson <pyro@debian.org> Sun, 25 Jun 2006 11:42:57 -0700
+
+qt4-x11 (4.1.3-2) unstable; urgency=high
+
+ * patches/18_disable_opengl_visibility: disable -fvisibility-inlines-hidden
+ for src/opengl/opengl.pro as it makes gcc ICE on alpha.
+ (Closes: #368883)
+
+ * urgency set to high so that qt4-x11 stops blocking half of unstable out of
+ testing.
+
+ -- Pierre Habouzit <madcoder@debian.org> Mon, 5 Jun 2006 10:28:29 +0200
+
+qt4-x11 (4.1.3-1) unstable; urgency=high
+
+ * New upstream release
+
+ * debian/patches/16_hppa_ldcw_fix.dpatch: new patch from Ubuntu to
+ properly support hppa
+
+ * debian/patches/17_alpha_ice.dpatch: new patch from Steve Langasek to
+ fix FTBFS on alpha (Closes: #368883)
+ (urgency set to high for that fix).
+
+ * Dropped the .la files since they pull in too many unneeded
+ dependencies (Closes: #360802)
+
+ * debian/libqt4-debug.install: removed
+ usr/lib/qt4/plugins/codecs/*_debug.so since those aren't included
+ upstream anymore
+
+ * Increased standards version to 3.7.2
+
+ -- Brian Nelson <pyro@debian.org> Sat, 3 Jun 2006 17:56:32 -0700
+
+qt4-x11 (4.1.2-2) unstable; urgency=low
+
+ * debian/libqt4-debug-dev.install, debian/libqt4-dev.install: added
+ wildcards to install .a static libraries so that the libQtUiTools and
+ libQtAssistantClient libraries are included (Closes: #358224, #355902)
+
+ -- Brian Nelson <pyro@debian.org> Sun, 14 May 2006 10:03:40 -0700
+
+qt4-x11 (4.1.2-1) unstable; urgency=low
+
+ * New upstream release
+
+ * debian/control: removed dependencies on xlibs-static-dev and
+ xlibs-static-pic to transition to building against modular X
+ (Closes: #362262)
+
+ * debian/control: changed x-dev dependencies to x11proto-core-dev, for
+ modular X transition (Closes: #362053)
+
+ -- Brian Nelson <pyro@debian.org> Thu, 13 Apr 2006 10:35:28 -0700
+
+qt4-x11 (4.1.1-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes the broken debug-and-release build and a load of resulting
+ bugs (Closes: #337764, #337847, #341807, #338380, #354993, #347251)
+ - debian/patches/15_alpha_ftbfs_fix.dpatch: removed, integrated upstream
+
+ * debian/control: updated libqt4-debug-dev priority to match that of the
+ override file
+
+ * debian/libqt4-dev.links: added a symlink /usr/share/qt4/bin/rcc to
+ /usr/bin/rcc (Closes: #349438)
+
+ * debian/libqt4-gui.install: added libqmng.so and libqgif.so plugins
+ (Closes: #354266)
+
+ -- Brian Nelson <pyro@debian.org> Mon, 6 Mar 2006 10:20:47 -0800
+
+qt4-x11 (4.1.0-3) unstable; urgency=low
+
+ * Moved *_debug.prl and *_debug.la support files to the libqt4-debug-dev
+ package
+
+ * Updated to debhelper v5 compatibility
+
+ * debian/qt4-dev-tools.install: removed the /usr/share/qt4/templates
+ entry, which no longer contains anything
+
+ * Added gif support (Closes: #348092)
+
+ * debian/patches/12_mips_atomic_ops.dpatch: applied fixes from Isaac
+ Clerencia <isaac@debian.org>, as the last patch was not good enough to
+ fix the FTBFS bug (Closes: #335831)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 17 Jan 2006 09:49:11 -0800
+
+qt4-x11 (4.1.0-2) unstable; urgency=low
+
+ * debian/patches/12_mips_atomic_ops.dpatch: Updated patch to account for
+ 2 new functions, q_atomic_test_and_set_acquire_int and
+ q_atomic_test_and_set_release_int, that were added in this release.
+ This should again fix the build failures on mips. (Closes: #335831)
+
+ * debian/patches/13_arm_ftbfs_fixes.dpatch: renamed, added a fix for the
+ new build failure due to a poorly defined qreal (Closes: #347360)
+
+ * debian/control: build against libmysqlclient15, and updated all
+ dependencies to libmysqlclient15-dev (Closes: #346586)
+
+ * debian/control: added explicit dependencies for libqt4-dev on the
+ Source-Version packages libqt4-core, libqt4-gui, libqt4-sql, and
+ libqt4-qt3support. These dependencies were accidentally dropped in
+ the last version. Also removed some unneeded dependencies.
+
+ * Split the *_debug.so symlinks out of libqt4-dev and into a separate
+ libqt4-debug-dev package. Made the libqt4-debug-dev package depend on
+ the Source-Version of libqt4-debug. This way, the symlinks won't be
+ dangling if libqt4-debug isn't installed and prevents failed linking
+ due to version mismatches. (Closes: #346603, #346605)
+
+ * Re-enabled sqlite3 support. It's still statically linked, however,
+ but that'll have to do because I really don't want to futz with the
+ build system. (Closes: #330976)
+
+ * Enabled sqlite2 support
+
+ * debian/patches/15_alpha_ftbfs_fix.dpatch: new patch to rename
+ q_atomic_test_and_set_release_ptr to q_atomic_test_and_set_ptr, as
+ suggested by Isaac Clerencia <isaac@debian.org>, to fix a FTBFS on
+ alpha. (Closes: #347353)
+
+ * debian/patches/10_qmake_for_debian: renamed from
+ 10_qmake_use_qt4_tools, and updated to remove the "link_prl" from the
+ default qmake CONFIG line. This disables the recursive linkage
+ against all indirectly-used libraries. (Closes: #343190)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 10 Jan 2006 19:29:52 -0800
+
+qt4-x11 (4.1.0-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes missing QBitArray operators (Closes: #341658)
+ - Fixes qmake problem with including bad build path (Closes: #327359)
+
+ * Added the new QTestLib unit testing framework to the libqt4-core
+ package
+
+ * Added the new QtSvg module to the libqt4-gui package
+
+ * debian/patches/13_arm_gcc4.dpatch: new patch from Jeremy Laine to fix
+ FTBFS on arm (Closes: #343176)
+
+ * debian/patches/14_kfreebsd_build_fix.dpatch: new patch from Petr
+ Salinger to fix FTBFS on GNU/kFreeBSD (Closes: #343191)
+
+ * Split the qtconfig tool out of libqt4-gui and into a separate
+ qt4-qtconfig package, due to its linkage against libqt4-qt3support and
+ hence ridiculous dependency chain.
+
+ * debian/rules: improved/cleaned up the clean target
+
+ -- Brian Nelson <pyro@debian.org> Wed, 4 Jan 2006 12:56:23 -0800
+
+qt4-x11 (4.0.1-6) unstable; urgency=low
+
+ * Added a target to automatically install lintian overrides, stolen from
+ debian-qt-kde.mk
+
+ * Added a bunch of lintian overrides for stuff that should be ignored
+
+ -- Brian Nelson <pyro@debian.org> Sat, 19 Nov 2005 01:17:03 -0800
+
+qt4-x11 (4.0.1-5) unstable; urgency=low
+
+ * debian/control: made libqt4-gui replace libqt4-core (<< 4.0.1-3), for
+ the plugins move (Closes: #336492)
+
+ * debian/control: removed the mention of a qt4-examples package that
+ doesn't actually exist from the qt4-doc package description
+
+ * debian/rules: remove all *.so files under
+ examples/tools/plugandpaint/plugins/ in the clean target
+ (Closes: #339674)
+
+ * Removed the menu entry for designer-qt4 from qt4-dev-tools.menu, and
+ added it to a new qt4-designer.menu
+
+ * Added a tarball of the examples to qt4-doc (Closes: #336832)
+
+ -- Brian Nelson <pyro@debian.org> Fri, 18 Nov 2005 10:27:03 -0800
+
+qt4-x11 (4.0.1-4) unstable; urgency=low
+
+ * debian/control: changed qt4-designer's section to "devel"
+
+ * Added a patch from Thiemo Seufer to fix the FTBFS on mips/mipsel
+ (Closes: #335831)
+
+ -- Brian Nelson <pyro@debian.org> Wed, 26 Oct 2005 00:13:40 -0700
+
+qt4-x11 (4.0.1-3) unstable; urgency=low
+
+ * debian/libqt4-core.install: only install the non-debug codecs, since
+ the debug ones pull in a gratuitous dependency on libqt4-debug
+ (Closes: #328913)
+
+ * debian/libqt4-debug.install: install the debug codecs here instead
+
+ * debian/control: replaced obsolete xlibs-dev dependency with the
+ required split packages (Closes: #329302)
+
+ * Completely disabled SQLite support since it's too fubar in this
+ version to be usable. The build fails with SQLite2 support, and
+ SQLite3 is only supported by linking staticly with a version
+ distributed in the Qt source. Meh.
+
+ * Renamed libqt4-designer to qt4-designer, merged in the designer binary
+ from qt4-dev-tools, and added a dependency on libqt4-dev
+ (Closes: #330094)
+
+ * Moved the plugins installed in libqt4-core to libqt4-gui, since they
+ link against the GUI library. Otherwise a circular libqt4-core <->
+ libqt4-gui dependency results.
+
+ -- Brian Nelson <pyro@debian.org> Fri, 21 Oct 2005 00:28:53 -0700
+
+qt4-x11 (4.0.1-2) unstable; urgency=low
+
+ * debian/patches/10_qmake_use_qt4_tools.dpatch: new patch that modifies
+ qmake.conf so that qmake generates Makefiles that use the -qt4 tools.
+ This way, it can cope with systems that have alternatives set to use
+ the -qt3 versions.
+
+ * Increased the conflicting Qt3 package versions to <= 3.3.4-7, since
+ the Qt3 packages still don't use the alternatives system as needed to
+ coexist with Qt4.
+
+ * debian/libqt4-core.install: added /usr/lib/qt4/plugins/codecs
+
+ * debian/patches/11_launch_assistant-qt4: new patch that modifies the
+ QAssistantClient class to launch Qt Assistant as "assistant-qt4" to
+ cope with the alternatives system (Closes: #327294)
+
+ * debian/control: Upgraded libqt4-dev's dependencies on the modules
+ libqt4-sql and libqt4-qt3support from suggests to depends, and added
+ libpq-dev and libmysqlclient14-dev | libmysqlclient-dev as
+ dependencies. These dependencies are apparently required to make
+ building pkg-config-using packages happy. (Closes: #327618)
+
+ * debian/control: corrected libqt4-sql to suggest libmysqlclient14-dev,
+ not libmysqlclient12-dev which is deprecated
+
+ * debian/copyright: updated FSF snailmail address
+
+ * debian/libqt4-debug.install: removed the libqt3supportwidgets_debug.so
+ designer plugin, since for some reason having this installed breaks
+ designer (Closes: #325782)
+
+ -- Brian Nelson <pyro@debian.org> Mon, 12 Sep 2005 12:32:53 -0700
+
+qt4-x11 (4.0.1-1) unstable; urgency=low
+
+ * New upstream release
+
+ * Install changes-4.0.1 as upstream changelog
+
+ * debian/manpages/assistant-qt4.1: new manpage written from scratch
+ based on the output of "assistant -help"
+
+ * debian/manpages/designer-qt4.1, debian/manpages/linguist-qt4.1:
+ manpages stolen from the Qt3 packages and trivially adapted for Qt4
+ (Closes: #322403)
+
+ * debian/manpages/moc-qt4.1: escape some '-' characters
+
+ * debian/qt4-dev-tools.manpages: install the new assistant-qt4.1,
+ designer-qt4.1, and linguist-qt4.1 manpages
+
+ * debian/control: made qt4-dev-tools recommend qt4-doc, since assisant
+ needs it to be useful (Closes: #323251)
+
+ * Removed the FAQ from qt4-doc.docs, since it's no longer included in
+ 4.0.1, and was useless anyway
+
+ * Build-depend on libmysqlclient14-dev since libmysqlclient12-dev is
+ scheduled to be removed
+
+ * debian/libqt4-dev.install: work around TT's broken "install" target in
+ this release so that the pkgconfig files are installed in
+ /usr/lib/pkgconfig instead of directly in /usr/lib. Grrrr.
+
+ -- Brian Nelson <pyro@debian.org> Thu, 25 Aug 2005 19:28:35 -0700
+
+qt4-x11 (4.0.0-3) unstable; urgency=low
+
+ * debian/control: changed the xlibs-pic dependency to xlibs-static-pic
+ for the X.org transition (Closes: #319586)
+
+ * Added manpages for lrelease, lupdate, moc, qtconfig, and uic, stolen
+ from the Qt3 upstream tarball, and wrote a manpage for qmake from
+ scratch. Since now manpages are included for all executables using
+ the alternatives, the symlinks to them no longer dangle.
+ (Closes: #319456)
+
+ * debian/libqt4-core.install: added
+ usr/lib/qt4/plugins/imageformats/libqjpeg.so to include the jpeg
+ plugin (Closes: #321582)
+
+ * debian/libqt4-debug.install: added the libqjpeg_debug.so plugin
+
+ * debian/rules: don't hardcode the /usr/include/postgresql/8.0 path,
+ instead of the output of `pg_config --includedir`, stolen from Qt3
+ packages
+
+ * debian/libqt4-gui.install: added the OpenGL module library so that it
+ actually gets included in a package (Closes: #321874)
+
+ * debian/control: updated the package descriptions to note that the
+ Network and XML modules are included in the libqt4-core package, and
+ the OpenGL module is included in the libqt4-gui package
+
+ -- Brian Nelson <pyro@debian.org> Mon, 8 Aug 2005 08:58:10 -0700
+
+qt4-x11 (4.0.0-2) unstable; urgency=low
+
+ * libqt4-dev: added /usr/bin/uic3 (Closes: #318451)
+
+ * Transition to the new X.org packages:
+ + (Build-)depend on libglu1-xorg-dev instead of xlibmesa-gl-dev
+ + (Build-)depend on libxinerama-dev (Closes: #318682)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 19 Jul 2005 21:28:19 -0700
+
+qt4-x11 (4.0.0-1) unstable; urgency=low
+
+ * Initial release (Closes: #306694)
+
+ -- Brian Nelson <pyro@debian.org> Tue, 5 Jul 2005 19:42:18 -0700
diff --git a/config.profiles/harmattan/collection/qtdemo.qhc.uu b/config.profiles/harmattan/collection/qtdemo.qhc.uu
new file mode 100644
index 0000000..4e4898e
--- /dev/null
+++ b/config.profiles/harmattan/collection/qtdemo.qhc.uu
@@ -0,0 +1,231 @@
+begin 644 qtdemo.qhc
+M4U%,:71E(&9O<FUA="`S``0``0$`0"`@````%@````````````````````8`
+M```!```````````````"````````````````````````````````````````
+M``````````````4````!`_L`````"`/[````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````````````````````````````&`PT````"`MT``X$"
+MW0``````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``"!(0(%`'6!76,`;P!M`"X`=`!R`&\`;`!L`'0`90!C`&@`+@!D`&4`<P!I
+M`&<`;@!E`'(`+@`T`#0`,``N`"X`+P`N`"X`+P`N`"X`+P`N`"X`+P!S`&@`
+M80!R`&4`+P!Q`'0`-``O`&0`;P!C`"\`:`!T`&T`;``M`&0`90!S`&D`9P!N
+M`&4`<@`O`&0`90!S`&D`9P!N`&4`<@`N`'$`8P!H`'T!!0!=@2UC`&\`;0`N
+M`'0`<@!O`&P`;`!T`&4`8P!H`"X`<0!T`"X`-``T`#``+@`N`"\`+@`N`"\`
+M+@`N`"\`+@`N`"\`<P!H`&$`<@!E`"\`<0!T`#0`+P!D`&\`8P`O`&@`=`!M
+M`&P`+0!Q`'0`+P!Q`'0`+@!Q`&,`:``-`````@/B``/Q`^(`````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````#0($``$=`G$`9`!O`&,`#0$$
+M``$=`7$`9`!O`&,`#0````4#KP`#]P/H`],#Q`.O````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````!,%`P`M9`!E`',`:0!G`&X`90!R``T$`P`A=`!O`&\`;`!S
+M`!,#`P`M<0!T`'(`90!F`&0`;P!C``T"`P`A-``N`#0`+@`P``<!`P`5<0!T
+M``T````"`\(``^L#P@``````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````)P(#`%51`'0`(`!$`&4`<P!I`&<`;@!E`'(`
+M(`!-`&$`;@!U`&$`;``3`0,`+5$`=``@`#0`+@`T`"X`,``-`````P$_``$_
+M`BH##P``````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````@6@!!R%%
+M10&"270`80!B`&P`90!.`&$`;0!E`',`<`!A`&,`90!4`&$`8@!L`&4`3@!A
+M`&T`90!S`'``80!C`&4`5`!A`&(`;`!E``)#`%(`10!!`%0`10`@`%0`00!"
+M`$P`10`@`$X`80!M`&4`<P!P`&$`8P!E`%0`80!B`&P`90`@`"@`20!D`"``
+M20!.`%0`10!'`$4`4@`@`%``4@!)`$T`00!2`%D`(`!+`$4`60`L`"``3@!A
+M`&T`90`@`%0`10!8`%0`+``@`$8`:0!L`&4`4`!A`'0`:``@`%0`10!8`%0`
+M(``I`(%B`@<A.3D!@E5T`&$`8@!L`&4`1@!O`&P`9`!E`'(`5`!A`&(`;`!E
+M`$8`;P!L`&0`90!R`%0`80!B`&P`90`#0P!2`$4`00!4`$4`(`!4`$$`0@!,
+M`$4`(`!&`&\`;`!D`&4`<@!4`&$`8@!L`&4`(``H`$D`9``@`$D`3@!4`$4`
+M1P!%`%(`(`!0`%(`20!-`$$`4@!9`"``2P!%`%D`+``@`$X`80!M`&4`<P!P
+M`&$`8P!E`$D`9``@`$D`3@!4`$4`1P!%`%(`+``@`$X`80!M`&4`(`!4`$4`
+M6`!4`"``*0"!;@,'(5U=`8(E=`!A`&(`;`!E`$8`:0!L`'0`90!R`$$`=`!T
+M`'(`:0!B`'4`=`!E`%0`80!B`&P`90!&`&D`;`!T`&4`<@!!`'0`=`!R`&D`
+M8@!U`'0`90!4`&$`8@!L`&4`!$,`4@!%`$$`5`!%`"``5`!!`$(`3`!%`"``
+M1@!I`&P`=`!E`'(`00!T`'0`<@!I`&(`=0!T`&4`5`!A`&(`;`!E`"``*`!)
+M`&0`(`!)`$X`5`!%`$<`10!2`"``4`!2`$D`30!!`%(`60`@`$L`10!9`"P`
+M(`!.`&$`;0!E`"``5`!%`%@`5``@`"D`#0````4#W0`#^0/R`^L#Y`/=````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````````````````%!0,!`0(%!00#`0$"!`4#`P$!`@$%
+M`@,!`0$"!0$#`0$!`0T"7@`$`2L``F(#-0$K`?``````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````@4(&
+M!R%!00&"!70`80!B`&P`90!3`&4`=`!T`&D`;@!G`',`5`!A`&(`;`!E`%,`
+M90!T`'0`:0!N`&<`<P!4`&$`8@!L`&4`"4,`4@!%`$$`5`!%`"``5`!!`$(`
+M3`!%`"``4P!E`'0`=`!I`&X`9P!S`%0`80!B`&P`90`@`"@`2P!E`'D`(`!4
+M`$4`6`!4`"``4`!2`$D`30!!`%(`60`@`$L`10!9`"P`(`!6`&$`;`!U`&4`
+M(`!"`$P`3P!"`"``*0!L!P<A@0U!`0!I`&X`9`!E`'@`<P!Q`&P`:0!T`&4`
+M7P!A`'4`=`!O`&D`;@!D`&4`>`!?`%,`90!T`'0`:0!N`&<`<P!4`&$`8@!L
+M`&4`7P`Q`%,`90!T`'0`:0!N`&<`<P!4`&$`8@!L`&4`"@````2!4`0'(4E)
+M`8(1=`!A`&(`;`!E`$8`:0!L`'0`90!R`$X`80!M`&4`5`!A`&(`;`!E`$8`
+M:0!L`'0`90!R`$X`80!M`&4`5`!A`&(`;`!E``5#`%(`10!!`%0`10`@`%0`
+M00!"`$P`10`@`$8`:0!L`'0`90!R`$X`80!M`&4`5`!A`&(`;`!E`"``*`!)
+M`&0`(`!)`$X`5`!%`$<`10!2`"``4`!2`$D`30!!`%(`60`@`$L`10!9`"P`
+M(`!.`&$`;0!E`"``5`!%`%@`5``@`"D`@4@%!R$Y.0&"(70`80!B`&P`90!&
+M`&D`;`!T`&4`<@!4`&$`8@!L`&4`1@!I`&P`=`!E`'(`5`!A`&(`;`!E``=#
+M`%(`10!!`%0`10`@`%0`00!"`$P`10`@`$8`:0!L`'0`90!R`%0`80!B`&P`
+M90`@`"@`3@!A`&T`90!)`&0`(`!)`$X`5`!%`$<`10!2`"P`(`!&`&D`;`!T
+M`&4`<@!!`'0`=`!R`&D`8@!U`'0`90!)`&0`(`!)`$X`5`!%`$<`10!2`"``
+M*0`-``````0`````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````"@`````$````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+9````````````````````````````````````
+`
+end
diff --git a/config.profiles/harmattan/compat b/config.profiles/harmattan/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/config.profiles/harmattan/compat
@@ -0,0 +1 @@
+7
diff --git a/config.profiles/harmattan/configure-pulse.sh b/config.profiles/harmattan/configure-pulse.sh
new file mode 100755
index 0000000..7940d33
--- /dev/null
+++ b/config.profiles/harmattan/configure-pulse.sh
@@ -0,0 +1,122 @@
+#/bin/sh
+#############################################################################
+##
+## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is the build configuration utility of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## GNU Lesser General Public License Usage
+## This file may be used under the terms of the GNU Lesser General Public
+## License version 2.1 as published by the Free Software Foundation and
+## appearing in the file LICENSE.LGPL included in the packaging of this
+## file. Please review the following information to ensure the GNU Lesser
+## General Public License version 2.1 requirements will be met:
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU General
+## Public License version 3.0 as published by the Free Software Foundation
+## and appearing in the file LICENSE.GPL included in the packaging of this
+## file. Please review the following information to ensure the GNU General
+## Public License version 3.0 requirements will be met:
+## http://www.gnu.org/copyleft/gpl.html.
+##
+## Other Usage
+## Alternatively, this file may be used in accordance with the terms and
+## conditions contained in a signed written agreement between you and Nokia.
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+
+# Fail on error
+set -e
+# We will assume that if TOOLCHAIN_PATH is not set, that other required actions have not been done either
+# so advise the user - N.B.: PATH & PKG_CONFIG_PATH may already be set to system values so we can't
+# simply check for them being unset.
+if [ -z "$TOOLCHAIN_PATH" ]; then
+ echo
+ echo "TOOLCHAIN_PATH must be set to the path of the columbus toolchain, e.g.:" 1>&2
+ echo " export TOOLCHAIN_PATH=/opt/toolchains/columbus/cs2007q3-glibc2.5-arm7" 1>&2
+ echo "PATH should have the path to toolchain's bin dir at beginning, e.g.:" 1>&2
+ echo " export PATH=\$TOOLCHAIN_PATH/bin:\$PATH" 1>&2
+ echo "PKG_CONFIG_PREFIX should have the prefix for pkg config, e.g.:" 1>&2
+ echo " export PKG_CONFIG_PREFIX=\$TOOLCHAIN_PATH/arm-none-linux-gnueabi" 1>&2
+ echo "PKG_CONFIG_PATH must be set to the path(s) to pkg config .pc file location(s), e.g.:" 1>&2
+ echo " export PKG_CONFIG_PATH=\$PKG_CONFIG_PREFIX/libc/lib/pkgconfig:\$PKG_CONFIG_PREFIX/libc/usr/lib/pkgconfig" 1>&2
+ echo
+ exit 1
+fi
+
+# We assume the current dir is the depot and we are not shadow building
+# Blast the mkspec we use, if it exists, and copy it out of debian dir
+rm -rf mkspecs/linux-g++-cross
+cp -a debian/mkspecs/linux-g++-cross mkspecs/
+
+# maemo does the next two lines, no idea why, left them for referance
+# rm -rf mkspecs/glibc-g++
+# cp -a mkspecs/linux-g++ mkspecs/glibc-g++
+
+# Run configure - we take extra arguments if given
+exec ./configure -nokia-developer \
+ -prefix "/usr" \
+ -bindir "/usr/bin" \
+ -libdir "/usr/lib" \
+ -docdir "/usr/share/qt4/doc" \
+ -headerdir "/usr/include/qt4" \
+ -datadir "/usr/share/qt4" \
+ -plugindir "/usr/lib/qt4/plugins" \
+ -translationdir "/usr/share/qt4/translations" \
+ -sysconfdir "/etc/xdg" \
+ -arch arm \
+ -xplatform linux-g++-cross \
+ -fast \
+ -mitshm \
+ -no-optimized-qmake \
+ -reduce-relocations \
+ -no-separate-debug-info \
+ -system-zlib \
+ -system-libtiff \
+ -system-libpng \
+ -system-libjpeg \
+ -no-nas-sound \
+ -qt-gif \
+ -no-qt3support \
+ -no-libmng \
+ -opengl es2 \
+ -no-accessibility \
+ -nomake examples \
+ -nomake demos \
+ -little-endian \
+ -I${TOOLCHAIN_PATH}/libc/usr/include/freetype2 \
+ -lfontconfig \
+ -no-cups \
+ -no-gtkstyle \
+ -exceptions \
+ -no-xinerama \
+ -dbus \
+ -glib \
+ -no-pch \
+ -gstreamer \
+ -svg \
+ -webkit \
+ -no-sql-ibase \
+ -xmlpatterns \
+ -system-sqlite \
+ -plugin-sql-sqlite \
+ -openssl \
+ -DQT_QLOCALE_USES_FCVT \
+ "$@"
+# End of Script
diff --git a/config.profiles/harmattan/control b/config.profiles/harmattan/control
new file mode 100644
index 0000000..13908a9
--- /dev/null
+++ b/config.profiles/harmattan/control
@@ -0,0 +1,648 @@
+Source: qt4-x11
+Section: libs
+Priority: optional
+Maintainer: Petri Latvala <ext-petri.latvala@nokia.com>
+Build-Depends: cdbs, debhelper (>= 7), flex, quilt, sharutils,
+ libdbus-1-dev, libfreetype6-dev, libglib2.0-dev, libice-dev, libjpeg62-dev,
+ libpng12-dev, libreadline5-dev | libreadline4-dev, libsm-dev, libtiff4-dev, libx11-dev,
+ libxext-dev, libxft-dev, libxi-dev, libxmu-dev,
+ libxrandr-dev, libxrender-dev, libxslt1-dev, libxt-dev, x11proto-core-dev,
+ zlib1g-dev, libgstreamer-plugins-base0.10-dev, libgstreamer0.10-dev, libicu-dev,
+ libgles2-sgx-img-dev [arm armel] | libgles2-dev [arm armel], libgles2 [arm armel],
+ opengles-sgx-img-common-dev [arm armel], opengles-sgx-img-common [arm armel],
+ libgl-dev [i386], libgl1 [i386],
+ libxau-dev, libxcb1-dev, libxdmcp-dev, libexpat1-dev,
+ libsqlite3-dev, libsqlite3-0, libssl-dev, libasound2-dev, libxv-dev,
+ icd2-dev, icd2-osso-ic-dev, osso-wlan-dev, libconnsettings0-dev
+Standards-Version: 3.9.1.0
+
+Package: libqtcore4
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Replaces: libqt4-core (<< 4.4.0~beta1-1), libqt4-gui (<< 4.4.0~beta1-1)
+Description: Qt 4 core module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtCore module contains core non-GUI functionality.
+
+Package: libqtcore4-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqtcore4 (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Core libraries.
+
+Package: libqt4-core
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqt4-network (= ${binary:Version}), libqt4-script (= ${binary:Version}), libqt4-xml (= ${binary:Version}), libqt4-dbus (= ${binary:Version})
+Description: transitional package for Qt 4 core non-GUI runtime libraries
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a dummy transitional package to enable installation of other Debian
+ packages linked against Qt 4.3 or earlier Qt 4 releases previously shipped
+ in Debian.
+
+Package: libqtgui4
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), fontconfig, opengles-sgx-img-common [arm armel], libgles2 [arm armel]
+Conflicts: libqt4-designer (<< 4.4.0~beta1-1)
+Replaces: libqt4-core (<< 4.0.1-3), libqt4-gui (<< 4.4.0),
+ qt4-designer (<< 4.1.4), libqt4-designer (<< 4.4.0~beta1-1)
+Description: Qt 4 GUI module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtGui module extends QtCore with GUI functionality.
+
+Package: libqtgui4-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqtgui4 (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 GUI libraries.
+
+Package: libqt4-gui
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtgui4 (= ${binary:Version}), libqt4-svg (= ${binary:Version})
+Description: transitional package for Qt 4 GUI runtime libraries
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a dummy transitional package depending on the Qt4 GUI library
+ packages which the package of the same name used to provide in Qt 4.3.4
+ and earlier Debian packages of Qt4.
+
+Package: libqt4-network
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 network module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtNetwork module offers classes that allow you to write TCP/IP clients and
+ servers. It provides classes to make network programming easier and portable.
+
+Package: libqt4-network-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-network (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Network libraries.
+
+Package: libqt4-script
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-dbus (= ${binary:Version}), libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 script module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtScript module provides classes for making Qt applications scriptable.
+
+Package: libqt4-script-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-script (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Script libraries.
+
+Package: libqt4-sql
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Recommends: libqt4-sql-sqlite
+Suggests: libqt4-dev
+Description: Qt 4 SQL module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtSql module helps you provide seamless database integration to your Qt
+ applications.
+ .
+ If you wish to use the SQL module for development, you should install the
+ libqt4-dev package.
+
+Package: libqt4-sql-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-sql (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 SQL libraries.
+
+Package: libqt4-sql-sqlite
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-sql (= ${binary:Version})
+Description: Qt 4 SQLite plugin
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+
+Package: libqt4-sql-sqlite-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-sql-sqlite (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 SQL SQLite plugin.
+
+Package: libqt4-svg
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqtgui4 (= ${binary:Version})
+Conflicts: libqt4-gui (<< 4.4.0~beta1-1)
+Replaces: libqt4-gui (<< 4.4.0~beta1-1)
+Description: Qt 4 SVG module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtSvg module provides classes for displaying the contents of SVG files.
+ .
+ Scalable Vector Graphics (SVG) is a language for describing two-dimensional
+ graphics and graphical applications in XML.
+
+Package: libqt4-svg-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-svg (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 SVG libraries.
+
+Package: libqt4-webkit
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtwebkit4 (>= 2.0~)
+Description: Qt 4 WebKit module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a dummy transitional package to enable installation of other packages
+ linked against Qt WebKit 4.4 - 4.7 releases previously shipped from Qt source.
+
+Package: libqt4-xml
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 XML module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtXml module provides a stream reader and writer for XML documents,
+ and C++ implementations of SAX and DOM.
+
+Package: libqt4-xml-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-xml (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 XML libraries.
+
+Package: libqt4-xmlpatterns
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqt4-xml (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 XML Patterns module
+ lorem ipsum
+ .
+ and all that
+
+Package: libqt4-xmlpatterns-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-xmlpatterns (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 XML patterns library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 XML patterns
+ library.
+
+Package: libqt4-dbus
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-xml (= ${binary:Version}), libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 D-Bus module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtDBus module is a Unix-only library that you can use to make Inter-Process
+ Communication using the D-Bus protocol.
+ .
+ Applications using the QtDBus module can provide services to other, remote
+ applications by exporting objects, as well as use services exported by those
+ applications by placing calls and accessing properties.
+
+Package: libqt4-dbus-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-dbus (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 DBus libraries.
+
+Package: libqt4-help
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-sql (= ${binary:Version}), libqtcore4 (= ${binary:Version}), libqtgui4 (= ${binary:Version})
+Description: Qt 4 help module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtHelp module provides classes for integrating online documentation in
+ applications.
+
+Package: libqt4-help-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-help (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Help libraries.
+
+Package: libqt4-test
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 test module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtTest module provides classes for unit testing Qt applications and
+ libraries.
+
+Package: libqt4-test-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-test (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Test libraries.
+
+Package: libqt4-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ libqt4-dbus (= ${binary:Version}),
+ libqt4-xml (= ${binary:Version}), libqtcore4 (= ${binary:Version}),
+ libqt4-network (= ${binary:Version}), libqtgui4 (= ${binary:Version}),
+ libqt4-svg (= ${binary:Version}), libqt4-sql (= ${binary:Version}),
+ libqt4-script (= ${binary:Version}), libqt4-help (= ${binary:Version}),
+ libqt4-test (= ${binary:Version}), libqt4-phonon (= ${binary:Version}),
+ libqt4-xmlpatterns (= ${binary:Version}),
+ libqt4-multimedia (= ${binary:Version}), libqt4-opengl (= ${binary:Version}),
+ libqt4-declarative (= ${binary:Version}), qt4-linguist-tools (= ${binary:Version}),
+ libqt4-meegographicssystemhelper-dev (= ${binary:Version}) [arm armel],
+ libgl-dev [i386], libgles2-sgx-img-dev [arm armel],
+ opengles-sgx-img-common-dev [arm armel], libxv-dev, libc6-dev
+Conflicts: qt3-dev-tools (<= 3:3.3.4-7)
+Replaces: libqt4-opengl-dev (<< 4.4.0-2)
+Suggests: libmysqlclient15-dev, libsqlite0-dev, libsqlite3-dev, libpq-dev, libiodbc2-dev, firebird2.0-dev
+Description: Qt 4 development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the header development files and development programs
+ such as qmake used for building Qt4 applications.
+
+Package: qt4-linguist-tools
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the Qt Linguist development tool
+ such as lrelease used for building Qt4 applications.
+
+Package: libqt4
+Architecture: any
+Section: libs
+Depends: libqt4-core (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 dummy package
+ This is a dummy alias-package.
+
+Package: libqt4-phonon
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqtcore4 (= ${binary:Version}), libqt4-xml (= ${binary:Version}), libqtgui4 (= ${binary:Version}), libqt4-opengl (= ${binary:Version}), libqt4-dbus (= ${binary:Version})
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 Phonon Libraries
+ Qt 4 media playing libraries
+
+Package: libqt4-phonon-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-phonon (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 phonon module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbol for the Qt phonon library.
+
+Package: libqt4-multimedia
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 Multimedia Libraries
+ Qt 4 media playing libraries
+
+Package: libqt4-multimedia-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-multimedia (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 multimedia module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbol for the Qt multimedia library.
+
+Package: libqt4-opengl
+Architecture: any
+Section: libs
+Depends: libqtcore4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, opengles-sgx-img-common [arm armel], libgles2 [arm armel], libgl1 [i386]
+Replaces: libqt4-core (<< 4.4.0~beta1-1)
+Description: Qt 4 OpenGL module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtOpenGL module offers classes that make it easy to use OpenGL in Qt
+ applications.
+ .
+ OpenGL is a standard API for rendering 3D graphics. OpenGL only deals with 3D
+ rendering and provides little or no support for GUI programming issues.
+ .
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the development files needed to build Qt 4 applications
+ using QtOpenGL library.
+
+Package: libqt4-opengl-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-opengl (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 OpenGL libraries.
+
+Package: libqt4-opengl-dev
+Architecture: any
+Section: libdevel
+Depends: libqt4-dev (= ${binary:Version}), ${misc:Depends}
+Replaces: libqt4-dev (<< 4.4.0~beta1-1)
+Description: Qt 4 OpenGL library development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a transitional package for libqt4-opengl-dev, and can be safely removed
+ after the installation is complete.
+
+Package: qt4-acceptance-tests
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: ci-testing, ${shlibs:Depends}, ${misc:Depends}
+XB-Maemo-CI-Packages: libqtcore4
+XB-Maemo-CI-Stage: staging, acceptance
+Description: Tests for libqtcore4
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains selected autotest cases for CI testing.
+
+Package: qt4-maemo-auto-tests
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: ci-testing, ${shlibs:Depends}, ${misc:Depends}
+XB-Maemo-CI-Packages: libqtcore4
+XB-Maemo-CI-Stage: staging
+Description: Tests for Qt4
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains selected autotest cases for CI testing.
+
+Package: libqt4-declarative
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 declarative module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtDeclarative module contains declarative UI functionality.
+
+Package: libqt4-declarative-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-declarative (= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the debugging symbols for the Qt 4 Declarative
+ libraries.
+
+Package: libqt4-declarative-dev
+Architecture: any
+Section: libdevel
+Depends: libqt4-dev (>= ${binary:Version}), ${misc:Depends}
+Description: Qt 4 Declarative development files
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This is a transitional package for libqt4-declarative-dev, and can be
+ safely removed after the installation is complete.
+
+Package: qt4-declarative-qmlviewer
+Architecture: any
+Section: devel
+Depends: libqt4-declarative (=${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Description: Qt 4 declarative module
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ The QtDeclarative viewer allows viewing QML files
+
+Package: libqt4-gui-tests
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: ci-testing, ${shlibs:Depends}, ${misc:Depends}
+XB-Maemo-CI-Packages: libqtgui4
+XB-Maemo-CI-Stage: staging
+Description: Tests for Qt4
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains selected autotest cases for CI testing.
+
+Package: libqt4-doc
+Section: doc
+Priority: optional
+Architecture: all
+Depends: ${misc:Depends}
+Description: Qt 4 documentation
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the documentation for Qt 4.
+
+Package: libqt4-meegographicssystem
+Architecture: arm armel
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-meegographicssystemhelper
+Conflicts: libqt4-meego (<< 4.7.2~git20110119)
+Replaces: libqt4-meego (<< 4.7.2~git20110119)
+Description: Qt 4 MeeGo graphics system plugin
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the MeeGo graphics system plugin.
+
+Package: libqt4-meegographicssystemhelper
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-meegographicssystem [arm armel]
+Conflicts: libqt4-meego (<< 4.7.2~git20110119)
+Replaces: libqt4-meego (<< 4.7.2~git20110119)
+Provides: libqt4-meego
+Description: Qt 4 MeeGo graphics system helper
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the MeeGo graphics system helper library.
+
+Package: libqt4-meegographicssystemhelper-dev
+Architecture: any
+Section: libdevel
+Depends: libqt4-meegographicssystemhelper (= ${binary:Version}), ${misc:Depends}
+Conflicts: libqt4-meego-dev (<< 4.7.2~git20110119)
+Replaces: libqt4-meego-dev (<< 4.7.2~git20110119)
+Provides: libqt4-meego-dev
+Description: Qt 4 MeeGo graphics system development libraries and headers
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package contains the MeeGo graphics system header files and
+ development libraries.
+
+Package: libqt4-meegographicssystemhelper-dbg
+Priority: extra
+Architecture: any
+Section: debug
+Depends: libqt4-meegographicssystemhelper (= ${binary:Version}), ${misc:Depends}
+Conflicts: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Replaces: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides the debugging symbols for the MeeGo support
+ libraries.
+
+Package: libqt4-meegographicssystem-dbg
+Priority: extra
+Architecture: arm armel
+Section: debug
+Depends: libqt4-meegographicssystem (= ${binary:Version}), ${misc:Depends}
+Conflicts: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Replaces: libqt4-meego-dbg (<< 4.7.2~git20110119)
+Description: Qt 4 library debugging symbols
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package provides the debugging symbols for the MeeGo graphics
+ system plugin.
+
+Package: libqt4-meego
+Architecture: all
+Section: oldlibs
+Depends: libqt4-meegographicssystemhelper, libqt4-meegographicssystem [arm armel]
+Description: Qt 4 MeeGo support libraries transitional package
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package is for transitioning purposes only and can be removed.
+
+Package: libqt4-meego-dev
+Architecture: all
+Section: oldlibs
+Depends: libqt4-meegographicssystemhelper-dev
+Description: Qt 4 MeeGo support libraries transitional package
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package is for transitioning purposes only and can be removed.
+
+Package: libqt4-meego-dbg
+Priority: extra
+Architecture: all
+Section: debug
+Depends: libqt4-meegographicssystemhelper-dbg, libqt4-meegographicssystem-dbg [arm armel]
+Description: Qt 4 MeeGo support libraries transitional package
+ Qt is a cross-platform C++ application framework. Qt's primary feature
+ is its rich set of widgets that provide standard GUI functionality.
+ .
+ This package is for transitioning purposes only and can be removed.
diff --git a/config.profiles/harmattan/libqt4-core.lintian b/config.profiles/harmattan/libqt4-core.lintian
new file mode 100644
index 0000000..bd6e1f7
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-core.lintian
@@ -0,0 +1 @@
+libqt4-core: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-dbus-dbg.lintian b/config.profiles/harmattan/libqt4-dbus-dbg.lintian
new file mode 100644
index 0000000..aa4fa15
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dbus-dbg.lintian
@@ -0,0 +1 @@
+libqt4-dbus-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-dbus.install b/config.profiles/harmattan/libqt4-dbus.install
new file mode 100644
index 0000000..2242fb3
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dbus.install
@@ -0,0 +1,3 @@
+usr/lib/libQtDBus.so.*
+usr/bin/qdbus
+
diff --git a/config.profiles/harmattan/libqt4-dbus.lintian b/config.profiles/harmattan/libqt4-dbus.lintian
new file mode 100644
index 0000000..c6a37b7
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dbus.lintian
@@ -0,0 +1,2 @@
+libqt4-dbus: package-name-doesnt-match-sonames libQtDBus4
+libqt4-dbus: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-declarative-dbg.lintian b/config.profiles/harmattan/libqt4-declarative-dbg.lintian
new file mode 100644
index 0000000..3d16d1e
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative-dbg.lintian
@@ -0,0 +1 @@
+libqt4-declarative-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-declarative-dev.lintian b/config.profiles/harmattan/libqt4-declarative-dev.lintian
new file mode 100644
index 0000000..1045808
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative-dev.lintian
@@ -0,0 +1 @@
+libqt4-declarative-dev: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-declarative.install b/config.profiles/harmattan/libqt4-declarative.install
new file mode 100644
index 0000000..7b71d87
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative.install
@@ -0,0 +1,4 @@
+usr/lib/libQtDeclarative.so.*
+usr/lib/qt4/imports/Qt/labs/folderlistmodel
+usr/lib/qt4/imports/Qt/labs/gestures
+usr/lib/qt4/imports/Qt/labs/particles
diff --git a/config.profiles/harmattan/libqt4-declarative.lintian b/config.profiles/harmattan/libqt4-declarative.lintian
new file mode 100644
index 0000000..70dd96f
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-declarative.lintian
@@ -0,0 +1,2 @@
+libqt4-declarative: unknown-control-file digsigsums
+libqt4-declarative: package-name-doesnt-match-sonames libQtDeclarative4
diff --git a/config.profiles/harmattan/libqt4-dev.dirs b/config.profiles/harmattan/libqt4-dev.dirs
new file mode 100644
index 0000000..944cf06
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.dirs
@@ -0,0 +1 @@
+usr/share/qt4/doc/html
diff --git a/config.profiles/harmattan/libqt4-dev.install b/config.profiles/harmattan/libqt4-dev.install
new file mode 100644
index 0000000..e7edbcb
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.install
@@ -0,0 +1,85 @@
+usr/bin/native-moc
+usr/bin/qdbuscpp2xml
+usr/bin/qdbusxml2cpp
+usr/bin/native-qmake
+usr/bin/qt3to4
+usr/bin/native-rcc
+usr/bin/native-uic
+usr/bin/host-moc
+usr/bin/host-qmake
+usr/bin/host-rcc
+usr/bin/host-uic
+usr/include/qt4/QtUiTools
+usr/include/qt4/QtSvg
+usr/include/qt4/QtXml
+usr/include/qt4/QtGui
+usr/include/qt4/phonon
+usr/include/qt4/QtScript
+usr/include/qt4/QtScriptTools
+usr/include/qt4/QtSql
+usr/include/qt4/QtXmlPatterns
+usr/include/qt4/QtDBus
+usr/include/qt4/QtTest
+usr/include/qt4/QtHelp
+usr/include/qt4/Qt
+usr/include/qt4/QtCore
+usr/include/qt4/QtNetwork
+usr/include/qt4/QtMultimedia
+usr/include/qt4/QtOpenGL
+usr/include/qt4/QtDeclarative
+usr/lib/libphonon.prl
+usr/lib/libphonon.so
+usr/lib/libQtCLucene.prl
+usr/lib/libQtCLucene.so
+usr/lib/libQtCore.prl
+usr/lib/libQtCore.so
+usr/lib/libQtDBus.prl
+usr/lib/libQtDBus.so
+usr/lib/libQtGui.prl
+usr/lib/libQtGui.so
+usr/lib/libQtHelp.prl
+usr/lib/libQtHelp.so
+usr/lib/libQtNetwork.prl
+usr/lib/libQtNetwork.so
+usr/lib/libQtScript.prl
+usr/lib/libQtScript.so
+usr/lib/libQtScriptTools.prl
+usr/lib/libQtScriptTools.so
+usr/lib/libQtSql.prl
+usr/lib/libQtSql.so
+usr/lib/libQtSvg.prl
+usr/lib/libQtSvg.so
+usr/lib/libQtTest.prl
+usr/lib/libQtTest.so
+usr/lib/libQtUiTools.prl
+usr/lib/libQtUiTools.a
+usr/lib/libQtXmlPatterns.prl
+usr/lib/libQtXmlPatterns.so
+usr/lib/libQtXml.prl
+usr/lib/libQtXml.so
+usr/lib/libQtMultimedia.prl
+usr/lib/libQtMultimedia.so
+usr/lib/libQtOpenGL.prl
+usr/lib/libQtOpenGL.so
+usr/lib/libQtDeclarative.so
+usr/lib/libQtDeclarative.prl
+usr/lib/pkgconfig/phonon.pc
+usr/lib/pkgconfig/QtCLucene.pc
+usr/lib/pkgconfig/QtCore.pc
+usr/lib/pkgconfig/QtDBus.pc
+usr/lib/pkgconfig/QtGui.pc
+usr/lib/pkgconfig/QtHelp.pc
+usr/lib/pkgconfig/QtNetwork.pc
+usr/lib/pkgconfig/QtScript.pc
+usr/lib/pkgconfig/QtScriptTools.pc
+usr/lib/pkgconfig/QtSql.pc
+usr/lib/pkgconfig/QtSvg.pc
+usr/lib/pkgconfig/QtTest.pc
+usr/lib/pkgconfig/QtUiTools.pc
+usr/lib/pkgconfig/QtXmlPatterns.pc
+usr/lib/pkgconfig/QtXml.pc
+usr/lib/pkgconfig/QtMultimedia.pc
+usr/lib/pkgconfig/QtOpenGL.pc
+usr/lib/pkgconfig/QtDeclarative.pc
+usr/share/qt4/q3porting.xml
+usr/share/qt4/mkspecs
diff --git a/config.profiles/harmattan/libqt4-dev.links b/config.profiles/harmattan/libqt4-dev.links
new file mode 100644
index 0000000..0624825
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.links
@@ -0,0 +1,13 @@
+usr/include/qt4 usr/share/qt4/include
+usr/bin/lrelease usr/share/qt4/bin/lrelease
+usr/bin/lupdate usr/share/qt4/bin/lupdate
+usr/bin/moc usr/share/qt4/bin/moc
+usr/bin/qmake usr/share/qt4/bin/qmake
+usr/bin/uic usr/share/qt4/bin/uic
+usr/bin/lrelease usr/bin/lrelease-qt4
+usr/bin/lupdate usr/bin/lupdate-qt4
+usr/bin/moc usr/bin/moc-qt4
+usr/bin/qmake usr/bin/qmake-qt4
+usr/bin/uic usr/bin/uic-qt4
+usr/bin/rcc usr/share/qt4/bin/rcc
+usr/lib/qt4/plugins usr/share/qt4/plugins
diff --git a/config.profiles/harmattan/libqt4-dev.lintian b/config.profiles/harmattan/libqt4-dev.lintian
new file mode 100644
index 0000000..c4c242a
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.lintian
@@ -0,0 +1,17 @@
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-pbuilder/Info.plist.app
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-xcode/Info.plist.app
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-xcode/qmake.conf
+libqt4-dev: executable-not-elf-or-script ./usr/share/qt4/mkspecs/macx-pbuilder/qmake.conf
+libqt4-dev: unknown-control-file digsigsums
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-moc
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-moc /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-moc /host_usr/lib
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-qmake
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-qmake /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-qmake /host_usr/lib
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-rcc
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-rcc /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-rcc /host_usr/lib
+libqt4-dev: binary-from-other-architecture ./usr/bin/host-uic
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-uic /scratchbox/host_shared/lib
+libqt4-dev: binary-or-shlib-defines-rpath ./usr/bin/host-uic /host_usr/lib
diff --git a/config.profiles/harmattan/libqt4-dev.manpages b/config.profiles/harmattan/libqt4-dev.manpages
new file mode 100644
index 0000000..1e9423a
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.manpages
@@ -0,0 +1,5 @@
+debian/manpages/lrelease.1
+debian/manpages/lupdate.1
+debian/manpages/moc.1
+debian/manpages/qmake.1
+debian/manpages/uic.1
diff --git a/config.profiles/harmattan/libqt4-dev.postinst b/config.profiles/harmattan/libqt4-dev.postinst
new file mode 100644
index 0000000..2ab29ff
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.postinst
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+SPECDIR=/usr/share/qt4/mkspecs
+
+rm -f ${SPECDIR}/default
+ln -s ${SPECDIR}/#PLATFORM_ARG# ${SPECDIR}/default
+
+PREFIX=native
+if [ -f /targets/links/scratchbox.config ]; then
+ PREFIX=host
+fi
+
+BINARIES="qmake moc rcc uic"
+
+for bin in $BINARIES; do
+ ln -sf "/usr/bin/${PREFIX}-${bin}" "/usr/bin/${bin}"
+done
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/libqt4-dev.prerm b/config.profiles/harmattan/libqt4-dev.prerm
new file mode 100644
index 0000000..0a078be
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-dev.prerm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+BINARIES="qmake moc rcc uic"
+
+case "$1" in
+ upgrade) ;;
+ remove|failed-upgrade|deconfigure)
+ for bin in $BINARIES; do
+ rm -f "/usr/bin/${bin}"
+ done
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/libqt4-doc.install b/config.profiles/harmattan/libqt4-doc.install
new file mode 100644
index 0000000..badafd2
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-doc.install
@@ -0,0 +1 @@
+usr/share/qt4/doc/html/*
diff --git a/config.profiles/harmattan/libqt4-doc.lintian b/config.profiles/harmattan/libqt4-doc.lintian
new file mode 100644
index 0000000..e701359
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-doc.lintian
@@ -0,0 +1 @@
+libqt4-doc: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-gui-tests.lintian b/config.profiles/harmattan/libqt4-gui-tests.lintian
new file mode 100644
index 0000000..0139465
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-gui-tests.lintian
@@ -0,0 +1,64 @@
+libqt4-gui-tests: unknown-control-file digsigsums
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_modeltest
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractbutton
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractitemmodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractprintdialog
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractproxymodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractslider
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractspinbox
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstracttextdocumentlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractvideobuffer
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qabstractvideosurface
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qaction
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qboxlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfileiconprovider
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfocusframe
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfont
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qfontmetrics
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qformlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qgraphicslayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkcachemetadata
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpaintengine
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpalette
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qparallelanimationgroup
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpauseanimation
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpicture
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qplaintextedit
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpointer
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qprinterinfo
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qprogressbar
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qprogressdialog
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qpropertyanimation
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qradiobutton
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qregexpvalidator
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptenginedebugger
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qscrollarea
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qscrollbar
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsharedpointer_and_qwidget
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsignalmapper
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qslider
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsortfilterproxymodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qspinbox
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstackedlayout
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstackedwidget
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstandarditem
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstandarditemmodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstatemachine
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstringlistmodel
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qstyleoption
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qsyntaxhighlighter
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextblock
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextcursor
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextformat
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextlist
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextobject
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtextscriptengine
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtexttable
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtoolbox
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtoolbutton
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qtreewidgetitemiterator
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qundogroup
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qundostack
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qvideosurfaceformat
+libqt4-gui-tests: file-in-unusual-dir usr/tests/qt4/tst_qwidgetaction
+libqt4-gui-tests: non-standard-dir-in-usr usr/tests/
diff --git a/config.profiles/harmattan/libqt4-gui.lintian b/config.profiles/harmattan/libqt4-gui.lintian
new file mode 100644
index 0000000..ea3c04b
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-gui.lintian
@@ -0,0 +1 @@
+libqt4-gui: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-help-dbg.lintian b/config.profiles/harmattan/libqt4-help-dbg.lintian
new file mode 100644
index 0000000..06fd248
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-help-dbg.lintian
@@ -0,0 +1 @@
+libqt4-help-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-help.install b/config.profiles/harmattan/libqt4-help.install
new file mode 100644
index 0000000..2e06a51
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-help.install
@@ -0,0 +1,4 @@
+usr/lib/libQtHelp.so.*
+usr/lib/libQtCLucene.so.*
+usr/share/qt4/translations/qt_help_de.qm
+usr/share/qt4/translations/qt_help_pl.qm
diff --git a/config.profiles/harmattan/libqt4-help.lintian b/config.profiles/harmattan/libqt4-help.lintian
new file mode 100644
index 0000000..44aad04
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-help.lintian
@@ -0,0 +1,2 @@
+libqt4-help: package-name-doesnt-match-sonames libQtCLucene4 libQtHelp4
+libqt4-help: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-meego-dbg.lintian b/config.profiles/harmattan/libqt4-meego-dbg.lintian
new file mode 100644
index 0000000..939f381
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meego-dbg.lintian
@@ -0,0 +1 @@
+libqt4-meego-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-meego-dev.lintian b/config.profiles/harmattan/libqt4-meego-dev.lintian
new file mode 100644
index 0000000..36c9ee8
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meego-dev.lintian
@@ -0,0 +1 @@
+libqt4-meego-dev: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-meego.lintian b/config.profiles/harmattan/libqt4-meego.lintian
new file mode 100644
index 0000000..2f7b3f6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meego.lintian
@@ -0,0 +1,2 @@
+libqt4-meego: unknown-control-file digsigsums
+libqt4-meego: package-name-doesnt-match-sonames libQtMeeGoGraphicsSystemHelper4
diff --git a/config.profiles/harmattan/libqt4-meegographicssystem.install b/config.profiles/harmattan/libqt4-meegographicssystem.install
new file mode 100644
index 0000000..41bf9a0
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meegographicssystem.install
@@ -0,0 +1 @@
+usr/lib/qt4/plugins/graphicssystems/libqmeegographicssystem.so
diff --git a/config.profiles/harmattan/libqt4-meegographicssystemhelper-dev.install b/config.profiles/harmattan/libqt4-meegographicssystemhelper-dev.install
new file mode 100644
index 0000000..848d6ff
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meegographicssystemhelper-dev.install
@@ -0,0 +1,3 @@
+usr/include/qt4/QtMeeGoGraphicsSystemHelper
+usr/lib/libQtMeeGoGraphicsSystemHelper.so
+usr/lib/libQtMeeGoGraphicsSystemHelper.prl
diff --git a/config.profiles/harmattan/libqt4-meegographicssystemhelper.install b/config.profiles/harmattan/libqt4-meegographicssystemhelper.install
new file mode 100644
index 0000000..4eb904d
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-meegographicssystemhelper.install
@@ -0,0 +1 @@
+usr/lib/libQtMeeGoGraphicsSystemHelper.so.*
diff --git a/config.profiles/harmattan/libqt4-multimedia-dbg.lintian b/config.profiles/harmattan/libqt4-multimedia-dbg.lintian
new file mode 100644
index 0000000..e35e83e
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-multimedia-dbg.lintian
@@ -0,0 +1 @@
+libqt4-multimedia-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-multimedia.install b/config.profiles/harmattan/libqt4-multimedia.install
new file mode 100644
index 0000000..2f6f97d
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-multimedia.install
@@ -0,0 +1 @@
+usr/lib/libQtMultimedia.so.*
diff --git a/config.profiles/harmattan/libqt4-multimedia.lintian b/config.profiles/harmattan/libqt4-multimedia.lintian
new file mode 100644
index 0000000..ef410a2
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-multimedia.lintian
@@ -0,0 +1,2 @@
+libqt4-multimedia: unknown-control-file digsigsums
+libqt4-multimedia: package-name-doesnt-match-sonames libQtMultimedia4
diff --git a/config.profiles/harmattan/libqt4-network-dbg.lintian b/config.profiles/harmattan/libqt4-network-dbg.lintian
new file mode 100644
index 0000000..8cae7f3
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-network-dbg.lintian
@@ -0,0 +1 @@
+libqt4-network-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-network.install b/config.profiles/harmattan/libqt4-network.install
new file mode 100644
index 0000000..1681282
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-network.install
@@ -0,0 +1,2 @@
+usr/lib/libQtNetwork.so.*
+usr/lib/qt4/plugins/bearer/libqicdbearer.so
diff --git a/config.profiles/harmattan/libqt4-network.lintian b/config.profiles/harmattan/libqt4-network.lintian
new file mode 100644
index 0000000..11a2284
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-network.lintian
@@ -0,0 +1,2 @@
+libqt4-network: package-name-doesnt-match-sonames libQtNetwork4
+libqt4-network: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-opengl-dbg.lintian b/config.profiles/harmattan/libqt4-opengl-dbg.lintian
new file mode 100644
index 0000000..fb470cd
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl-dbg.lintian
@@ -0,0 +1 @@
+libqt4-opengl-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-opengl-dev.lintian b/config.profiles/harmattan/libqt4-opengl-dev.lintian
new file mode 100644
index 0000000..da53f96
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl-dev.lintian
@@ -0,0 +1 @@
+libqt4-opengl-dev: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-opengl.install b/config.profiles/harmattan/libqt4-opengl.install
new file mode 100644
index 0000000..fc0a7a6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl.install
@@ -0,0 +1,2 @@
+usr/lib/libQtOpenGL.so.*
+usr/lib/qt4/plugins/graphicssystems/libqglgraphicssystem.so
diff --git a/config.profiles/harmattan/libqt4-opengl.lintian b/config.profiles/harmattan/libqt4-opengl.lintian
new file mode 100644
index 0000000..8f49420
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-opengl.lintian
@@ -0,0 +1,3 @@
+libqt4-opengl: package-name-doesnt-match-sonames libQtOpenGL4
+libqt4-opengl: package-relation-with-self depends
+libqt4-opengl: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-phonon-dbg.lintian b/config.profiles/harmattan/libqt4-phonon-dbg.lintian
new file mode 100644
index 0000000..7ce2877
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-phonon-dbg.lintian
@@ -0,0 +1 @@
+libqt4-phonon-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-phonon.install b/config.profiles/harmattan/libqt4-phonon.install
new file mode 100644
index 0000000..3fdc018
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-phonon.install
@@ -0,0 +1,2 @@
+usr/lib/libphonon.so.*
+usr/lib/qt4/plugins/phonon_backend/libphonon_*.so
diff --git a/config.profiles/harmattan/libqt4-phonon.lintian b/config.profiles/harmattan/libqt4-phonon.lintian
new file mode 100644
index 0000000..a1a46b9
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-phonon.lintian
@@ -0,0 +1,2 @@
+libqt4-phonon: package-name-doesnt-match-sonames libphonon4
+libqt4-phonon: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-script-dbg.lintian b/config.profiles/harmattan/libqt4-script-dbg.lintian
new file mode 100644
index 0000000..9290ace
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-script-dbg.lintian
@@ -0,0 +1 @@
+libqt4-script-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-script.install b/config.profiles/harmattan/libqt4-script.install
new file mode 100644
index 0000000..f8cc5c4
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-script.install
@@ -0,0 +1,3 @@
+usr/lib/libQtScript.so.*
+usr/lib/libQtScriptTools.so.*
+usr/lib/qt4/plugins/script/libqtscriptdbus.so
diff --git a/config.profiles/harmattan/libqt4-script.lintian b/config.profiles/harmattan/libqt4-script.lintian
new file mode 100644
index 0000000..51b6944
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-script.lintian
@@ -0,0 +1,2 @@
+libqt4-script: package-name-doesnt-match-sonames libQtScript4 libQtScriptTools4
+libqt4-script: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql-dbg.lintian b/config.profiles/harmattan/libqt4-sql-dbg.lintian
new file mode 100644
index 0000000..5f4f189
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-dbg.lintian
@@ -0,0 +1 @@
+libqt4-sql-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql-sqlite-dbg.lintian b/config.profiles/harmattan/libqt4-sql-sqlite-dbg.lintian
new file mode 100644
index 0000000..6e53ab6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-sqlite-dbg.lintian
@@ -0,0 +1 @@
+libqt4-sql-sqlite-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql-sqlite.install b/config.profiles/harmattan/libqt4-sql-sqlite.install
new file mode 100644
index 0000000..6590079
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-sqlite.install
@@ -0,0 +1,2 @@
+usr/lib/qt4/plugins/sqldrivers/libqsqlite.so
+
diff --git a/config.profiles/harmattan/libqt4-sql-sqlite.lintian b/config.profiles/harmattan/libqt4-sql-sqlite.lintian
new file mode 100644
index 0000000..a6eb651
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql-sqlite.lintian
@@ -0,0 +1 @@
+libqt4-sql-sqlite: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-sql.install b/config.profiles/harmattan/libqt4-sql.install
new file mode 100644
index 0000000..5ff4a1f
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql.install
@@ -0,0 +1,2 @@
+usr/lib/libQtSql.so.*
+
diff --git a/config.profiles/harmattan/libqt4-sql.lintian b/config.profiles/harmattan/libqt4-sql.lintian
new file mode 100644
index 0000000..b20d867
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-sql.lintian
@@ -0,0 +1,2 @@
+libqt4-sql: package-name-doesnt-match-sonames libQtSql4
+libqt4-sql: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-svg-dbg.lintian b/config.profiles/harmattan/libqt4-svg-dbg.lintian
new file mode 100644
index 0000000..171ee74
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-svg-dbg.lintian
@@ -0,0 +1 @@
+libqt4-svg-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-svg.install b/config.profiles/harmattan/libqt4-svg.install
new file mode 100644
index 0000000..21289f8
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-svg.install
@@ -0,0 +1,4 @@
+usr/lib/libQtSvg.so.*
+usr/lib/qt4/plugins/iconengines/libqsvgicon.so
+usr/lib/qt4/plugins/imageformats/libqsvg.so
+
diff --git a/config.profiles/harmattan/libqt4-svg.lintian b/config.profiles/harmattan/libqt4-svg.lintian
new file mode 100644
index 0000000..31b3b15
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-svg.lintian
@@ -0,0 +1,2 @@
+libqt4-svg: package-name-doesnt-match-sonames libQtSvg4
+libqt4-svg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-test-dbg.lintian b/config.profiles/harmattan/libqt4-test-dbg.lintian
new file mode 100644
index 0000000..587353e
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-test-dbg.lintian
@@ -0,0 +1 @@
+libqt4-test-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-test.install b/config.profiles/harmattan/libqt4-test.install
new file mode 100644
index 0000000..7883dee
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-test.install
@@ -0,0 +1,2 @@
+usr/lib/libQtTest.so.*
+
diff --git a/config.profiles/harmattan/libqt4-test.lintian b/config.profiles/harmattan/libqt4-test.lintian
new file mode 100644
index 0000000..db7b2a6
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-test.lintian
@@ -0,0 +1,2 @@
+libqt4-test: package-name-doesnt-match-sonames libQtTest4
+libqt4-test: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-webkit.lintian b/config.profiles/harmattan/libqt4-webkit.lintian
new file mode 100644
index 0000000..9c70f48
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-webkit.lintian
@@ -0,0 +1 @@
+libqt4-webkit: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xml-dbg.lintian b/config.profiles/harmattan/libqt4-xml-dbg.lintian
new file mode 100644
index 0000000..8df20db
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xml-dbg.lintian
@@ -0,0 +1 @@
+libqt4-xml-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xml.install b/config.profiles/harmattan/libqt4-xml.install
new file mode 100644
index 0000000..6366cb3
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xml.install
@@ -0,0 +1 @@
+usr/lib/libQtXml.so.*
diff --git a/config.profiles/harmattan/libqt4-xml.lintian b/config.profiles/harmattan/libqt4-xml.lintian
new file mode 100644
index 0000000..bd61725
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xml.lintian
@@ -0,0 +1,2 @@
+libqt4-xml: package-name-doesnt-match-sonames libQtXml4
+libqt4-xml: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xmlpatterns-dbg.lintian b/config.profiles/harmattan/libqt4-xmlpatterns-dbg.lintian
new file mode 100644
index 0000000..aafa724
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xmlpatterns-dbg.lintian
@@ -0,0 +1 @@
+libqt4-xmlpatterns-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4-xmlpatterns.install b/config.profiles/harmattan/libqt4-xmlpatterns.install
new file mode 100644
index 0000000..1997474
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xmlpatterns.install
@@ -0,0 +1,3 @@
+usr/lib/libQtXmlPatterns.so.*
+usr/bin/xmlpatterns
+
diff --git a/config.profiles/harmattan/libqt4-xmlpatterns.lintian b/config.profiles/harmattan/libqt4-xmlpatterns.lintian
new file mode 100644
index 0000000..785b999
--- /dev/null
+++ b/config.profiles/harmattan/libqt4-xmlpatterns.lintian
@@ -0,0 +1,2 @@
+libqt4-xmlpatterns: package-name-doesnt-match-sonames libQtXmlPatterns4
+libqt4-xmlpatterns: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqt4.lintian b/config.profiles/harmattan/libqt4.lintian
new file mode 100644
index 0000000..2eb0928
--- /dev/null
+++ b/config.profiles/harmattan/libqt4.lintian
@@ -0,0 +1 @@
+libqt4: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtcore4-dbg.lintian b/config.profiles/harmattan/libqtcore4-dbg.lintian
new file mode 100644
index 0000000..8dfcc0c
--- /dev/null
+++ b/config.profiles/harmattan/libqtcore4-dbg.lintian
@@ -0,0 +1 @@
+libqtcore4-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtcore4.install b/config.profiles/harmattan/libqtcore4.install
new file mode 100644
index 0000000..1c8fc57
--- /dev/null
+++ b/config.profiles/harmattan/libqtcore4.install
@@ -0,0 +1,6 @@
+usr/lib/libQtCore.so.*
+usr/lib/qt4/plugins/codecs/lib*.so
+usr/share/qt4/translations/qt_??.qm
+usr/share/qt4/translations/qt_??_??.qm
+usr/share/qt4/translations/qvfb_*.qm
+
diff --git a/config.profiles/harmattan/libqtcore4.lintian b/config.profiles/harmattan/libqtcore4.lintian
new file mode 100644
index 0000000..1c14b59
--- /dev/null
+++ b/config.profiles/harmattan/libqtcore4.lintian
@@ -0,0 +1,2 @@
+libqtcore4: package-name-doesnt-match-sonames libQtCLucene4 libQtCore4
+libqtcore4: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtgui4-dbg.lintian b/config.profiles/harmattan/libqtgui4-dbg.lintian
new file mode 100644
index 0000000..d166ea8
--- /dev/null
+++ b/config.profiles/harmattan/libqtgui4-dbg.lintian
@@ -0,0 +1 @@
+libqtgui4-dbg: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/libqtgui4.install b/config.profiles/harmattan/libqtgui4.install
new file mode 100644
index 0000000..4b4fa9c
--- /dev/null
+++ b/config.profiles/harmattan/libqtgui4.install
@@ -0,0 +1,7 @@
+usr/lib/libQtGui.so.*
+usr/lib/qt4/plugins/imageformats/libqgif.so
+usr/lib/qt4/plugins/imageformats/libqico.so
+usr/lib/qt4/plugins/imageformats/libqjpeg.so
+usr/lib/qt4/plugins/imageformats/libqtiff.so
+usr/lib/qt4/plugins/inputmethods/libqimsw-multi.so
+usr/lib/qt4/plugins/accessible/libqtaccessiblewidgets.so
diff --git a/config.profiles/harmattan/libqtgui4.lintian b/config.profiles/harmattan/libqtgui4.lintian
new file mode 100644
index 0000000..e9d4ec9
--- /dev/null
+++ b/config.profiles/harmattan/libqtgui4.lintian
@@ -0,0 +1,2 @@
+libqtgui4: package-name-doesnt-match-sonames libQtGui4
+libqtgui4: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/manpages/lrelease.1 b/config.profiles/harmattan/manpages/lrelease.1
new file mode 100644
index 0000000..30e58e1
--- /dev/null
+++ b/config.profiles/harmattan/manpages/lrelease.1
@@ -0,0 +1,111 @@
+.TH lrelease 1 "18 October 2001" "Nokia Corporation and/or its subsidiary(-ies)" \" -*- nroff -*-
+.\"
+.\" Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+.\" All rights reserved.
+.\" Contact: Nokia Corporation (qt-info@nokia.com)
+.\"
+.\" This file is part of the QtGui module of the Qt Toolkit.
+.\"
+.\" $QT_BEGIN_LICENSE:LGPL$
+.\" GNU Lesser General Public License Usage
+.\" This file may be used under the terms of the GNU Lesser General Public
+.\" License version 2.1 as published by the Free Software Foundation and
+.\" appearing in the file LICENSE.LGPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU Lesser
+.\" General Public License version 2.1 requirements will be met:
+.\" http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+.\"
+.\" In addition, as a special exception, Nokia gives you certain additional
+.\" rights. These rights are described in the Nokia Qt LGPL Exception
+.\" version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+.\"
+.\" GNU General Public License Usage
+.\" Alternatively, this file may be used under the terms of the GNU General
+.\" Public License version 3.0 as published by the Free Software Foundation
+.\" and appearing in the file LICENSE.GPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU General
+.\" Public License version 3.0 requirements will be met:
+.\" http://www.gnu.org/copyleft/gpl.html.
+.\"
+.\" Other Usage
+.\" Alternatively, this file may be used in accordance with the terms and
+.\" conditions contained in a signed written agreement between you and Nokia.
+.\"
+.\"
+.\"
+.\"
+.\"
+.\" $QT_END_LICENSE$
+.\"
+.SH NAME
+lrelease \- generate Qt message files from Qt Linguist translation files
+.SH SYNOPSIS
+.B lrelease
+.RI "[ " options " ] " project-file
+.br
+.B lrelease
+.RI "[ " options " ] " ts-files " [ -qm " qm-file " ]"
+.SH DESCRIPTION
+This page documents the
+.B Qt Linguist Release
+tool for the Qt GUI toolkit.
+.B Lrelease
+reads a qmake/tmake project file (.pro file) and converts the
+translation files (.ts files) specified in it into Qt message files
+(.qm files) used by the application to translate.
+.PP
+The .qm file format is a compact binary format that provides
+extremely fast lookups for translations and that is used by Qt.
+.SH OPTIONS
+.TP
+.I "-help"
+Display the usage and exit.
+.TP
+.I "-nocompress"
+Do not compress the .qm files.
+.TP
+.I "-verbose"
+Explain what is being done.
+.TP
+.I "-version"
+Display the version of
+.B lrelease
+and exit.
+.SH USAGE
+Here is an example .pro file that can be given to
+.B lrelease:
+.PP
+.in +4
+.nf
+HEADERS = funnydialog.h \\
+ wackywidget.h
+SOURCES = funnydialog.cpp \\
+ main.cpp \\
+ wackywidget.cpp
+FORMS = fancybox.ui
+TRANSLATIONS = gnomovision_dk.ts \\
+ gnomovision_fi.ts \\
+ gnomovision_no.ts \\
+ gnomovision_se.ts
+.fi
+.in -4
+.PP
+When running
+.B lrelease
+on this project file, the Qt message files gnomovision_dk.qm,
+gnomovision_fi.qm, gnomovision_no.qm and gnomovision_se.qm will be
+generated from gnomovision_dk.ts, gnomovision_fi.ts,
+gnomovision_no.ts and gnomovision_se.ts, respectively.
+.PP
+.B Lrelease
+can also be invoked with a list of .ts files to convert:
+.PP
+.in +4
+.nf
+lrelease gnomovision_*.ts
+.fi
+.in -4
+.SH "SEE ALSO"
+.BR lupdate (1)
+and
+.BR http://doc.trolltech.com/i18n.html
diff --git a/config.profiles/harmattan/manpages/lupdate.1 b/config.profiles/harmattan/manpages/lupdate.1
new file mode 100644
index 0000000..ff049b3
--- /dev/null
+++ b/config.profiles/harmattan/manpages/lupdate.1
@@ -0,0 +1,117 @@
+.TH lupdate 1 "18 October 2001" "Nokia Corporation and/or its subsidiary(-ies)" \" -*- nroff -*-
+.\"
+.\" Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+.\" All rights reserved.
+.\" Contact: Nokia Corporation (qt-info@nokia.com)
+.\"
+.\" This file is part of the QtGui module of the Qt Toolkit.
+.\"
+.\" $QT_BEGIN_LICENSE:LGPL$
+.\" GNU Lesser General Public License Usage
+.\" This file may be used under the terms of the GNU Lesser General Public
+.\" License version 2.1 as published by the Free Software Foundation and
+.\" appearing in the file LICENSE.LGPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU Lesser
+.\" General Public License version 2.1 requirements will be met:
+.\" http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+.\"
+.\" In addition, as a special exception, Nokia gives you certain additional
+.\" rights. These rights are described in the Nokia Qt LGPL Exception
+.\" version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+.\"
+.\" GNU General Public License Usage
+.\" Alternatively, this file may be used under the terms of the GNU General
+.\" Public License version 3.0 as published by the Free Software Foundation
+.\" and appearing in the file LICENSE.GPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU General
+.\" Public License version 3.0 requirements will be met:
+.\" http://www.gnu.org/copyleft/gpl.html.
+.\"
+.\" Other Usage
+.\" Alternatively, this file may be used in accordance with the terms and
+.\" conditions contained in a signed written agreement between you and Nokia.
+.\"
+.\"
+.\"
+.\"
+.\"
+.\" $QT_END_LICENSE$
+.\"
+.SH NAME
+lupdate \- update Qt Linguist translation files
+.SH SYNOPSIS
+.B lupdate
+.RI "[ " options " ] " project-file
+.br
+.B lupdate
+.RI "[ " options " ] " source-files " -ts " ts-files
+.SH DESCRIPTION
+This page documents the
+.B Qt Linguist Update
+tool for the Qt GUI toolkit.
+.B Lupdate
+reads a qmake/tmake project file (.pro file), finds the translatable
+strings in the specified source, header and interface files, and
+updates the translation files (.ts files) specified in it. The
+translation files are given to the translator who uses
+.B Qt Linguist
+to read the files and insert the translations.
+.PP
+The .ts file format is a simple human-readable XML format that can be
+used with version control systems if required.
+.PP
+.SH OPTIONS
+.TP
+.I "-help"
+Display the usage and exit.
+.TP
+.I "-noobsolete"
+Drop all obsolete strings.
+.TP
+.I "-verbose"
+Explain what is being done.
+.TP
+.I "-version"
+Display the version of
+.B lupdate
+and exit.
+.SH USAGE
+Here is an example .pro file that can be given to
+.B lupdate:
+.PP
+.in +4
+.nf
+HEADERS = funnydialog.h \\
+ wackywidget.h
+SOURCES = funnydialog.cpp \\
+ main.cpp \\
+ wackywidget.cpp
+FORMS = fancybox.ui
+TRANSLATIONS = gnomovision_dk.ts \\
+ gnomovision_fi.ts \\
+ gnomovision_no.ts \\
+ gnomovision_se.ts
+.fi
+.in -4
+.PP
+When running
+.B lupdate
+on this project file, the translatable strings in all the files
+listed in the HEADERS, SOURCES and FORMS entries will be put in
+the translation files listed in the TRANSLATIONS entry. Previous
+translations will be reused as far as possible, and translated
+strings that have vanished from the source files are marked obsolete.
+.PP
+.B Lupdate
+can also be invoked with a list of C++ source files, .ui files
+and .ts files:
+.PP
+.in +4
+.nf
+lupdate *.cpp *.h *.ui -ts gnomovision_dk.ts
+.fi
+.in -4
+.SH "SEE ALSO"
+.BR lrelease (1)
+and
+.BR http://doc.trolltech.com/i18n.html
diff --git a/config.profiles/harmattan/manpages/moc.1 b/config.profiles/harmattan/manpages/moc.1
new file mode 100644
index 0000000..522fd08
--- /dev/null
+++ b/config.profiles/harmattan/manpages/moc.1
@@ -0,0 +1,479 @@
+.TH moc 1 "24 June 2001" "Nokia Corporation and/or its subsidiary(-ies)" \" -*- nroff -*-
+.\"
+.\" Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+.\" All rights reserved.
+.\" Contact: Nokia Corporation (qt-info@nokia.com)
+.\"
+.\" This file is part of the QtGui module of the Qt Toolkit.
+.\"
+.\" $QT_BEGIN_LICENSE:LGPL$
+.\" GNU Lesser General Public License Usage
+.\" This file may be used under the terms of the GNU Lesser General Public
+.\" License version 2.1 as published by the Free Software Foundation and
+.\" appearing in the file LICENSE.LGPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU Lesser
+.\" General Public License version 2.1 requirements will be met:
+.\" http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+.\"
+.\" In addition, as a special exception, Nokia gives you certain additional
+.\" rights. These rights are described in the Nokia Qt LGPL Exception
+.\" version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+.\"
+.\" GNU General Public License Usage
+.\" Alternatively, this file may be used under the terms of the GNU General
+.\" Public License version 3.0 as published by the Free Software Foundation
+.\" and appearing in the file LICENSE.GPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU General
+.\" Public License version 3.0 requirements will be met:
+.\" http://www.gnu.org/copyleft/gpl.html.
+.\"
+.\" Other Usage
+.\" Alternatively, this file may be used in accordance with the terms and
+.\" conditions contained in a signed written agreement between you and Nokia.
+.\"
+.\"
+.\"
+.\"
+.\"
+.\" $QT_END_LICENSE$
+.\"
+.nh
+.SH NAME
+moc \- generate Qt meta object support code
+.SH SYNOPSIS
+.B moc
+[\-o file] [\-i] [\-f] [\-k] [\-ldbg] [\-nw] [\-p path] [\-q path] [\-v] file
+.SH DESCRIPTION
+This page documents the
+.B Meta Object Compiler
+for the Qt GUI application framework. The
+.B moc
+reads one or more C++ class declarations from a C++ header or source
+file and generates one C++ source file containing meta object
+information for the classes. The C++ source file generated by the
+.B moc
+must be compiled and linked with the implementation of the class (or it
+can be #included into the class's source file).
+.PP
+If you use
+.B qmake
+to create your Makefiles, build rules will be included that call the
+.B moc
+when required, so you will not need to use the
+.B moc
+directly.
+.PP
+In brief, the meta object system is a structure used by Qt (see
+.BR http://doc.trolltech.com ")"
+for component programming and run time type information. It adds
+properties and inheritance information to (some) classes and
+provides a new type of communication between those instances of those
+classes, signal\-slot
+connections.
+.SH OPTIONS
+.TP
+.I "\-o file"
+Write output to
+.I file
+rather than to stdout.
+.TP
+.I \-f
+Force the generation of an #include statement in the output.
+This is the default for files whose name matches the regular
+expression .[hH][^.]* (i.e. the extension starts with
+.B H
+or
+.B h
+). This
+option is only useful if you have header files that do not follow the
+standard naming conventions.
+.TP
+.I "\-i"
+Do not generate an #include statement in the output. This may be used
+to run
+.B moc
+on a C++ file containing one or more class declarations. You should then
+#include the meta object code in the .cpp file (see USAGE below). If both
+.I \-f
+and
+.I \-i
+are present, the last one wins.
+.TP
+.I "\-nw"
+Do not generate any warnings. Not recommended.
+.TP
+.I "\-ldbg"
+Write a flood of lex debug information to stdout.
+.TP
+.I "\-p path"
+Makes
+.B moc
+prepend
+.IR path /
+to the file name in the generated #include statement (if one is generated).
+.TP
+.I "\-q path"
+Makes
+.B moc
+prepend
+.IR path /
+to the file name of qt #include files in the generated code.
+.TP
+.I "\-v"
+Displays the version of
+.B moc
+and Qt.
+.PP
+You can explicitly tell the
+.B moc
+not to parse parts of a header
+file. It recognizes any C++ comment (//) that contains the substrings
+MOC_SKIP_BEGIN or MOC_SKIP_END. They work as you would expect and you
+can have several levels of them. The net result as seen by the
+.B moc
+is as if you had removed all lines between a MOC_SKIP_BEGIN and a
+MOC_SKIP_END
+.SH USAGE
+.B moc
+is almost always invoked by
+.BR make (1),
+not by hand.
+.PP
+.B moc
+is typically used with an input file containing class declarations
+like this:
+.PP
+.in +4
+.nf
+class YourClass : public QObject {
+ Q_OBJECT
+ Q_PROPERTY( ... )
+ Q_CLASSINFO( ... )
+
+public:
+ YourClass( QObject * parent=0, const char * name=0 );
+ ~YourClass();
+
+signals:
+
+public slots:
+
+};
+.fi
+.in -4
+.PP
+Here is a useful makefile rule if you only use GNU make:
+.PP
+.in +4
+.nf
+m%.cpp: %.h
+ moc $< -o $@
+.fi
+.in -4
+.PP
+If you want to write portably, you can use individual rules of the
+following form:
+.PP
+.in +4
+.nf
+mNAME.cpp: NAME.h
+ moc $< -o $@
+.fi
+.in -4
+.PP
+You must also remember to add
+.I mNAME.cpp
+to your SOURCES (substitute your favorite name) variable and
+.I mNAME.o
+to your OBJECTS variable.
+.PP
+(While we prefer to name our C++ source files .cpp, the
+.B moc
+doesn't know that, so you can use .C, .cc, .CC, .cxx or even .c++ if
+you prefer.)
+.PP
+If you have class declarations in C++ files, we recommend that you use
+a makefile rule like this:
+.PP
+.in +4
+.nf
+NAME.o: mNAME.cpp
+
+mNAME.cpp: NAME.cpp
+ moc -i $< -o $@
+.fi
+.in -4
+.PP
+This guarantees that
+.BR make (1)
+will run the
+.B moc
+before it compiles
+.IR NAME.cpp .
+You can then put
+.PP
+.ti +4
+#include "nNAME.cpp"
+.PP
+at the end of
+.IR NAME.cpp ,
+where all the classes declared in that file are fully known.
+.SH DIAGNOSTICS
+Sometimes you may get linkage errors, saying that
+YourClass::className() is undefined or that YourClass lacks a vtbl.
+Those errors happen most often when you forget to compile the
+moc-generated C++ code or include that object file in the link
+command.
+.PP
+The
+.B moc
+will warn you about a number of dangerous or illegal constructs.
+.SH BUGS
+
+The
+.B moc
+does not expand #include or #define, it simply skips any preprocessor
+directives it encounters. This is regrettable, but is normally not a
+problem in practice.
+
+The
+.B moc
+does not handle all of C++. The main problem is that class templates
+cannot have signals or slots. This is an important bug. Here is an
+example:
+.PP
+.in +4
+.nf
+class SomeTemplate<int> : public QFrame {
+ Q_OBJECT
+ ....
+signals:
+ void bugInMocDetected( int );
+};
+.fi
+.in -4
+.PP
+Less importantly, the following constructs are illegal. All of them
+have have alternatives which we think are usually better, so removing
+these limitations is not a high priority for us.
+.SS "Multiple inheritance requires QObject to be first."
+If you are using multiple inheritance,
+.B moc
+assumes that the
+.B first
+inherited class is a subclass of QObject. Also, be sure that
+.B only
+the first inherited class is a QObject.
+.PP
+.in +4
+.nf
+class SomeClass : public QObject, public OtherClass {
+ ...
+};
+.fi
+.in -4
+.PP
+This bug is almost impossible to fix; since the
+.B moc
+does not expand
+#include or #define, it cannot find out which one of the base classes is a
+QObject.
+.SS "Function pointers cannot be arguments to signals or slots."
+In most cases where you would consider that, we think inheritance is a
+better alternative. Here is an example of illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+public slots:
+ // illegal
+ void apply( void (*apply)(List *, void *), void * );
+};
+.fi
+.in -4
+.PP
+You can work around this restriction like this:
+.PP
+.in +4
+.nf
+typedef void (*ApplyFunctionType)( List *, void * );
+
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+public slots:
+ void apply( ApplyFunctionType, char * );
+};
+.fi
+.in -4
+.PP
+It may sometimes be even better to replace the function pointer with
+inheritance and virtual functions, signals or slots.
+.SS "Friend declarations cannot be placed in signals or slots sections"
+Sometimes it will work, but in general, friend declarations cannot be
+placed in
+.B signals
+or
+.B slots
+sections. Put them in the good old
+.BR private ", " protected
+or
+.B public
+sections instead. Here is an example of the illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ ...
+signals:
+ friend class ClassTemplate<char>; // illegal
+};
+.fi
+.in -4
+.SS "Signals and slots cannot be upgraded"
+The C++ feature of upgrading an inherited member function to
+.B public
+status is not extended to cover signals and slots. Here is an illegal
+example:
+.PP
+.in +4
+.nf
+class Whatever : public QButtonGroup {
+ ...
+public slots:
+ QButtonGroup::buttonPressed; // illegal
+ ...
+};
+.fi
+.in -4
+.PP
+The QButtonGroup::buttonPressed() slot is protected.
+.PP
+C++ quiz: What happens if you try to upgrade a protected member
+function which is overloaded?
+.IP
+- All the functions are upgraded.
+.IP
+- That is not legal C++.
+.\" Good idea, but look in the SEE ALSO section...
+.SS "Type macros cannot be used for signal and slot arguments"
+
+Since the
+.B moc
+does not expand #define, type macros that take an argument
+will not work in signals and slots. Here is an illegal example:
+.PP
+.in +4
+.nf
+#ifdef ultrix
+#define SIGNEDNESS(a) unsigned a
+#else
+#define SIGNEDNESS(a) a
+#endif
+class Whatever : public QObject {
+ ...
+signals:
+ void someSignal( SIGNEDNESS(int) ); // illegal
+};
+.PP
+A #define without arguments works.
+.fi
+.in -4
+.SS "Nested classes cannot be in the signals or slots sections nor have signals or slots"
+Here's an example:
+.PP
+.in +4
+.nf
+class A {
+ Q_OBJECT
+public:
+ class B {
+ public slots: // illegal
+ void b();
+ ...
+ };
+signals:
+ class B { // illegal
+ void b();
+ ...
+ }:
+};
+.fi
+.in -4
+.PP
+.SS "Constructors cannot be used in signals or slots sections"
+It is a mystery to us why anyone would put a constructor on either the
+.B signals
+or
+.B slots
+sections. You can't, anyway (except that it happens to work in some
+cases). Put them in
+.BR private ", " protected
+or
+.B public
+sections, where they belong. Here is an example of the illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+public slots:
+ SomeClass( QObject *parent, const char *name )
+ : QObject( parent, name ) {} // illegal
+ ...
+};
+.fi
+.in -4
+.SS "Properties need to be declared before the public section that contains the respective get and set functions"
+.PP
+Declaring the first property within or after the public section that
+contains the type definition and the respective get and set functions
+does not work as expected. The
+.B moc
+will complain that it can neither
+find the functions nor resolve the type. Here is an example of the
+illegal syntax:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+public:
+ ...
+ // illegal
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+};
+.fi
+.in -4
+.PP
+Work around this limitation by declaring all properties at the
+beginning of the class declaration, right after Q_OBJECT:
+.PP
+.in +4
+.nf
+class SomeClass : public QObject {
+ Q_OBJECT
+ Q_PROPERTY( Priority priority READ priority WRITE setPriority )
+ Q_ENUMS( Priority )
+public:
+ ...
+ enum Priority { High, Low, VeryHigh, VeryLow };
+ void setPriority( Priority );
+ Priority priority() const;
+ ...
+};
+.fi
+.in -4
+.PP
+.SH "SEE ALSO"
+.BR http://www.trolltech.com ", "
+.BR "C++ ARM, section r.11.3" " (for the answer to the quiz), and"
+.BR http://doc.trolltech.com " (for complete Qt documentation)."
diff --git a/config.profiles/harmattan/manpages/qmake.1 b/config.profiles/harmattan/manpages/qmake.1
new file mode 100644
index 0000000..571cd70
--- /dev/null
+++ b/config.profiles/harmattan/manpages/qmake.1
@@ -0,0 +1,144 @@
+.TH QMAKE 1 "2005-07-23"
+.\"
+.\" Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+.\" All rights reserved.
+.\" Contact: Nokia Corporation (qt-info@nokia.com)
+.\"
+.\" This file is part of the QtGui module of the Qt Toolkit.
+.\"
+.\" $QT_BEGIN_LICENSE:LGPL$
+.\" GNU Lesser General Public License Usage
+.\" This file may be used under the terms of the GNU Lesser General Public
+.\" License version 2.1 as published by the Free Software Foundation and
+.\" appearing in the file LICENSE.LGPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU Lesser
+.\" General Public License version 2.1 requirements will be met:
+.\" http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+.\"
+.\" In addition, as a special exception, Nokia gives you certain additional
+.\" rights. These rights are described in the Nokia Qt LGPL Exception
+.\" version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+.\"
+.\" GNU General Public License Usage
+.\" Alternatively, this file may be used under the terms of the GNU General
+.\" Public License version 3.0 as published by the Free Software Foundation
+.\" and appearing in the file LICENSE.GPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU General
+.\" Public License version 3.0 requirements will be met:
+.\" http://www.gnu.org/copyleft/gpl.html.
+.\"
+.\" Other Usage
+.\" Alternatively, this file may be used in accordance with the terms and
+.\" conditions contained in a signed written agreement between you and Nokia.
+.\"
+.\"
+.\"
+.\"
+.\"
+.\" $QT_END_LICENSE$
+.\"
+.SH NAME
+qmake \- cross-platform makefile generator for Qt
+
+.SH SYNOPSIS
+.B qmake
+.I "[mode] [options] [files]"
+.br
+.SH "DESCRIPTION"
+.B qmake
+has two modes, one mode for generating project files based on some
+heuristics, and the other for generating makefiles. Normally you
+shouldn't need to specify a mode, as makefile generation is the default
+mode for qmake, but you may use this to test qmake on an existing
+project.
+
+.SH MODE
+.TP
+.B "\-project"
+Put qmake into project file generation mode In this mode qmake
+interprets files as files to be built, defaults to *.c; *.ui; *.y; *.l;
+*.ts; *.qrc; *.h; *.hpp; *.hh; *.hxx; *.H; *.cpp; *.cc; *.cxx; *.C
+.TP
+.B "\-makefile"
+Put qmake into makefile generation mode (default) In this mode qmake
+interprets files as project files to be processed, if skipped qmake will
+try to find a project file in your current working directory
+
+.SH WARNINGS OPTIONS
+.TP
+.BI "\-Wnone"
+Turn off all warnings
+.TP
+.BI "\-Wall"
+Turn on all warnings
+.TP
+.BI "\-Wparser"
+Turn on parser warnings
+.TP
+.BI "\-Wlogic"
+Turn on logic warnings
+
+.SH OPTIONS
+.TP
+.BI "\-o" file
+Write output to file
+.TP
+.BI "\-unix"
+Run in unix mode
+.TP
+.BI "\-win32"
+Run in win32 mode
+.TP
+.BI "\-macx"
+Run in Mac OS X mode
+.TP
+.BI "\-d"
+Increase debug level
+.TP
+.BI "\-t" templ
+Overrides TEMPLATE as templ
+.TP
+.BI "\-tp" prefix
+Overrides TEMPLATE so that prefix is prefixed
+.TP
+into the value
+.BI "\-help"
+This help
+.TP
+.BI "\-v"
+Version information
+.TP
+.BI "\-after"
+All variable assignments after this will be parsed after [files]
+.TP
+.BI "\-norecursive"
+Don't do a recursive search
+.TP
+.BI "\-recursive"
+Do a recursive search
+.TP
+.BI "\-cache file"
+Use file as cache [makefile mode only]
+.TP
+.BI "\-spec spec"
+Use spec as QMAKESPEC [makefile mode only]
+.TP
+.BI "\-nocache"
+Don't use a cache file [makefile mode only]
+.TP
+.BI "\-nodepend"
+Don't generate dependencies [makefile mode only]
+.TP
+.BI "\-nomoc"
+Don't generate moc targets [makefile mode only]
+.TP
+.BI "\-nopwd"
+Don't look for files in pwd [project mode only]
+
+.SH SEE ALSO
+.PP
+.BR /usr/share/qt4/doc/html/qmake-manual.html,
+.SH AUTHOR
+This manual page was written by Brian Nelson <pyro@debian.org> based on
+the output of
+.B "qmake -help".
diff --git a/config.profiles/harmattan/manpages/qtconfig.1 b/config.profiles/harmattan/manpages/qtconfig.1
new file mode 100644
index 0000000..977c357
--- /dev/null
+++ b/config.profiles/harmattan/manpages/qtconfig.1
@@ -0,0 +1,72 @@
+.TH "qtconfig" "1" "3.0.3" "Nokia Corporation and/or its subsidiary(-ies)" ""
+.\"
+.\" Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+.\" All rights reserved.
+.\" Contact: Nokia Corporation (qt-info@nokia.com)
+.\"
+.\" This file is part of the QtGui module of the Qt Toolkit.
+.\"
+.\" $QT_BEGIN_LICENSE:LGPL$
+.\" GNU Lesser General Public License Usage
+.\" This file may be used under the terms of the GNU Lesser General Public
+.\" License version 2.1 as published by the Free Software Foundation and
+.\" appearing in the file LICENSE.LGPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU Lesser
+.\" General Public License version 2.1 requirements will be met:
+.\" http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+.\"
+.\" In addition, as a special exception, Nokia gives you certain additional
+.\" rights. These rights are described in the Nokia Qt LGPL Exception
+.\" version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+.\"
+.\" GNU General Public License Usage
+.\" Alternatively, this file may be used under the terms of the GNU General
+.\" Public License version 3.0 as published by the Free Software Foundation
+.\" and appearing in the file LICENSE.GPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU General
+.\" Public License version 3.0 requirements will be met:
+.\" http://www.gnu.org/copyleft/gpl.html.
+.\"
+.\" Other Usage
+.\" Alternatively, this file may be used in accordance with the terms and
+.\" conditions contained in a signed written agreement between you and Nokia.
+.\"
+.\"
+.\"
+.\"
+.\"
+.\" $QT_END_LICENSE$
+.\"
+.SH "NAME"
+.LP
+qtconfig \- Configuration tool for Qt
+.SH "DESCRIPTION"
+.LP
+QConfig allows for GUI based configuration of Qt and
+ other Qt based sources.
+
+.SH "ENVIRONMENT VARIABLES"
+.LP
+.TP
+\fBQTDIR\fP
+Specifies the base Qt dir
+.SH "AUTHORS"
+.LP
+TrollTech <http://www.trolltech.com/>
+.TH "qtconfig" "1" "3.0.3" "Troll Tech AS, Norway." ""
+.SH "NAME"
+.LP
+qtconfig \- Configuration tool for Qt
+.SH "DESCRIPTION"
+.LP
+QConfig allows for GUI based configuration of Qt and
+ other Qt based sources.
+
+.SH "ENVIRONMENT VARIABLES"
+.LP
+.TP
+\fBQTDIR\fP
+Specifies the base Qt dir
+.SH "AUTHORS"
+.LP
+TrollTech <http://www.trolltech.com/>
diff --git a/config.profiles/harmattan/manpages/uic.1 b/config.profiles/harmattan/manpages/uic.1
new file mode 100644
index 0000000..541d331
--- /dev/null
+++ b/config.profiles/harmattan/manpages/uic.1
@@ -0,0 +1,168 @@
+.TH uic 1 "2 Aug 2001" "Nokia Corporation and/or its subsidiary(-ies)" \" -*- nroff -*-
+.\"
+.\" Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+.\" All rights reserved.
+.\" Contact: Nokia Corporation (qt-info@nokia.com)
+.\"
+.\" This file is part of the QtGui module of the Qt Toolkit.
+.\"
+.\" $QT_BEGIN_LICENSE:LGPL$
+.\" GNU Lesser General Public License Usage
+.\" This file may be used under the terms of the GNU Lesser General Public
+.\" License version 2.1 as published by the Free Software Foundation and
+.\" appearing in the file LICENSE.LGPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU Lesser
+.\" General Public License version 2.1 requirements will be met:
+.\" http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+.\"
+.\" In addition, as a special exception, Nokia gives you certain additional
+.\" rights. These rights are described in the Nokia Qt LGPL Exception
+.\" version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+.\"
+.\" GNU General Public License Usage
+.\" Alternatively, this file may be used under the terms of the GNU General
+.\" Public License version 3.0 as published by the Free Software Foundation
+.\" and appearing in the file LICENSE.GPL included in the packaging of this
+.\" file. Please review the following information to ensure the GNU General
+.\" Public License version 3.0 requirements will be met:
+.\" http://www.gnu.org/copyleft/gpl.html.
+.\"
+.\" Other Usage
+.\" Alternatively, this file may be used in accordance with the terms and
+.\" conditions contained in a signed written agreement between you and Nokia.
+.\"
+.\"
+.\"
+.\"
+.\"
+.\" $QT_END_LICENSE$
+.\"
+.SH NAME
+uic \- Qt user interface compiler
+.SH SYNOPSIS
+.B uic
+[options] file
+.SH DESCRIPTION
+This page documents the
+.B User Interface Compiler
+for the Qt GUI toolkit. The
+.B uic
+reads a user interface definition (.ui) file in XML as generated by
+.I Qt Designer
+and creates corresponding C++ header or source files. It also
+generates an image file that embeds raw image data in C++ source code.
+.PP
+.PP
+Generate declaration:
+.br
+.I "\fB uic [options] \fI<file>"
+.br
+.PP
+Generate implementation:
+.br
+.I "\fB uic [options] -impl \fI<headerfile> <file>"
+.br
+ \fI<headerfile>\fP: name of the declaration file
+.br
+.PP
+Generate image collection:
+.br
+.I "\fB uic [options] -embed \fI<project> <image1> <image2> <image3>\fP ..."
+.br
+ \fI<project>\fP: project name
+ \fI<image[1..n]>\fP: image files
+.br
+.\" .PP
+.\" Generate binary UI file:
+.\" .br
+.\" .I "\fB uic [options] -binary \fI<file>"
+.\" .br
+.PP
+.PP
+For convenience,
+.B uic
+can also generate declaration or implementation stubs for subclasses.
+.PP
+Generate subclass declaration:
+.br
+.I "\fB uic [options] -subdecl \fI<subclassname> <baseclassheaderfile> <file>"
+.br
+ \fI<subclassname>\fP: name of the subclass to generate
+.br
+ \fI<baseclassheaderfile>\fP: declaration file of the baseclass
+.PP
+Generate subclass implementation:
+.br
+.I "\fB uic [options] -subimpl \fI<subclassname> <subclassheaderfile> <file>"
+.br
+ \fI<subclassname>\fP: name of the subclass to generate
+.br
+ \fI<subclassheaderfile>\fP: declaration file of the subclass
+
+.SH GENERAL OPTIONS
+.TP
+.I "-o file"
+Write output to
+.I file
+rather than to stdout.
+.TP
+.I "-nofwd"
+Omit forward declarations of custom classes in the generated
+header file. This is necessary if typedef classes are used.
+.TP
+.I "-tr func"
+Use
+.I func()
+instead of tr() for internationalization.
+.TP
+.I "-version"
+Display the version of
+.B uic
+and exit.
+
+.SH USAGE
+.B uic
+is almost always invoked by
+.BR make (1),
+rather than by hand.
+.PP
+Here are useful makefile rules if you only use GNU make:
+.PP
+.in +4
+%.h: %.ui
+.br
+ uic $< -o $@
+.br
+%.cpp: %.ui
+.br
+ uic -impl $*.h $< -o $@
+.in -4
+.PP
+If you want to write portably, you can use individual rules of the
+following form:
+.PP
+.in +4
+NAME.h: NAME.ui
+.br
+ uic $< -o $@
+.br
+NAME.cpp: NAME.ui
+.br
+ uic -impl $*.h $< -o $@
+.in -4
+.PP
+You must also remember to add
+.I NAME.cpp
+to your SOURCES (substitute your favorite name) variable and
+.I NAME.o
+to your OBJECTS variable.
+.PP
+(While we prefer to name our C++ source files .cpp, the
+.B uic
+doesn't care, so you can use .C, .cc, .CC, .cxx or even .c++ if
+you prefer.)
+.PP
+.SH "SEE ALSO"
+.BR http://www.trolltech.com/ " "
+.SH AUTHOR
+Trolltech AS <info@trolltech.com>
diff --git a/config.profiles/harmattan/mkspecs/linux-g++-cross/qmake.conf b/config.profiles/harmattan/mkspecs/linux-g++-cross/qmake.conf
new file mode 100644
index 0000000..245da1e
--- /dev/null
+++ b/config.profiles/harmattan/mkspecs/linux-g++-cross/qmake.conf
@@ -0,0 +1,54 @@
+#
+# qmake configuration for linux-g++-cross
+#
+
+MAKEFILE_GENERATOR = UNIX
+TEMPLATE = app
+CONFIG += qt warn_on release incremental link_prl
+QT += core gui
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/g++.conf)
+include(../common/linux.conf)
+
+QMAKE_CC = arm-none-linux-gnueabi-gcc
+QMAKE_CFLAGS += -march=armv7a -mcpu=cortex-a8 -mfpu=vfp -mfloat-abi=softfp -fno-omit-frame-pointer -fno-optimize-sibling-calls
+QMAKE_CFLAGS_RELEASE = -O3
+QMAKE_CFLAGS_DEBUG = -O0
+
+QMAKE_CXX = arm-none-linux-gnueabi-g++
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+
+QMAKE_LINK = arm-none-linux-gnueabi-g++
+QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++
+QMAKE_LINK_C = arm-none-linux-gnueabi-gcc
+QMAKE_LINK_C_SHLIB = arm-none-linux-gnueabi-gcc
+QMAKE_LFLAGS += -Wl,-O1 -Wl,--hash-style=gnu
+
+QMAKE_AR = arm-none-linux-gnueabi-ar cqs
+QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy
+QMAKE_STRIP = arm-none-linux-gnueabi-strip
+
+#QMAKE_INCDIR =
+#QMAKE_LIBDIR =
+QMAKE_INCDIR_X11 =
+QMAKE_LIBDIR_X11 =
+#QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+#QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+QMAKE_INCDIR_OPENGL =
+QMAKE_LIBDIR_OPENGL =
+#QMAKE_INCDIR_EGL =
+#QMAKE_LIBDIR_EGL =
+#QMAKE_INCDIR_OPENVG =
+#QMAKE_LIBDIR_OPENVG =
+
+QMAKE_LIBS_X11 = -lXext -lX11 -lm -lz -lXau -lxcb -lXdmcp -lexpat
+
+QMAKE_LIBS_OPENGL = -lEGL -lGLESv2 -lIMGegl -lsrv_um
+QMAKE_LIBS_OPENGL_QT = -lEGL -lGLESv2 -lIMGegl -lsrv_um
+
+QT_CFLAGS_GSTREAMER += -pthread -Igstreamer-0.10 -Iglib-2.0 -Iglib-2.0/include
+
+load(qt_config)
diff --git a/config.profiles/harmattan/mkspecs/linux-g++-cross/qplatformdefs.h b/config.profiles/harmattan/mkspecs/linux-g++-cross/qplatformdefs.h
new file mode 100644
index 0000000..57a9ce5
--- /dev/null
+++ b/config.profiles/harmattan/mkspecs/linux-g++-cross/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../linux-g++/qplatformdefs.h"
diff --git a/config.profiles/harmattan/not-installed b/config.profiles/harmattan/not-installed
new file mode 100644
index 0000000..d19a756
--- /dev/null
+++ b/config.profiles/harmattan/not-installed
@@ -0,0 +1,18 @@
+usr/share/qt4/translations/qvfb_pl.qm
+usr/share/qt4/translations/qvfb_zh_TW.qm
+usr/share/qt4/translations/qvfb_zh_CN.qm
+usr/lib/libQtSvg.la
+usr/lib/libQtXml.la
+usr/lib/libQtSql.la
+usr/lib/libQtOpenGL.la
+usr/lib/libQtNetwork.la
+usr/lib/libQtGui.la
+usr/lib/libQt3Support.la
+usr/lib/libQtTest.la
+usr/lib/libQtCLucene.la
+usr/lib/libQtScript.la
+usr/lib/libQtXmlPatterns.la
+usr/lib/libQtHelp.la
+usr/lib/libQtCore.la
+usr/lib/libQtDBus.la
+
diff --git a/config.profiles/harmattan/qt4-acceptance-tests.lintian b/config.profiles/harmattan/qt4-acceptance-tests.lintian
new file mode 100644
index 0000000..c44aad8
--- /dev/null
+++ b/config.profiles/harmattan/qt4-acceptance-tests.lintian
@@ -0,0 +1,6 @@
+qt4-acceptance-tests: unknown-control-file digsigsums
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusconnection
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qhash
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qlist
+qt4-acceptance-tests: file-in-unusual-dir usr/tests/qt4/tst_qmap
+qt4-acceptance-tests: non-standard-dir-in-usr usr/tests/
diff --git a/config.profiles/harmattan/qt4-declarative-qmlviewer.install b/config.profiles/harmattan/qt4-declarative-qmlviewer.install
new file mode 100644
index 0000000..2822108
--- /dev/null
+++ b/config.profiles/harmattan/qt4-declarative-qmlviewer.install
@@ -0,0 +1,3 @@
+usr/bin/qmlviewer
+usr/share/applications/QMLViewer.desktop
+usr/share/icons/hicolor/64x64/apps/QMLViewer.png
diff --git a/config.profiles/harmattan/qt4-declarative-qmlviewer.lintian b/config.profiles/harmattan/qt4-declarative-qmlviewer.lintian
new file mode 100644
index 0000000..4acdec6
--- /dev/null
+++ b/config.profiles/harmattan/qt4-declarative-qmlviewer.lintian
@@ -0,0 +1 @@
+qt4-declarative-qmlviewer: unknown-control-file digsigsums
diff --git a/config.profiles/harmattan/qt4-doc-html.doc-base b/config.profiles/harmattan/qt4-doc-html.doc-base
new file mode 100644
index 0000000..58063c6
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc-html.doc-base
@@ -0,0 +1,11 @@
+Document: qt4-doc-html
+Title: Qt4 Reference Documentation
+Author: Trolltech AS
+Abstract: Qt is a cross-platform C++ application framework. Qt's
+ primary feature is its rich set of widgets that provide standard GUI
+ functionality.
+Section: Apps/programming
+
+Format: HTML
+Index: /usr/share/doc/qt4-doc-html/html/index.html
+Files: /usr/share/doc/qt4-doc-html/html/*.html
diff --git a/config.profiles/harmattan/qt4-doc-html.install b/config.profiles/harmattan/qt4-doc-html.install
new file mode 100644
index 0000000..8467be4
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc-html.install
@@ -0,0 +1,2 @@
+usr/share/qt4/doc/html
+
diff --git a/config.profiles/harmattan/qt4-doc-html.links b/config.profiles/harmattan/qt4-doc-html.links
new file mode 100644
index 0000000..d1fed65
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc-html.links
@@ -0,0 +1,2 @@
+usr/share/qt4/doc/html usr/share/doc/qt4-doc-html/html
+
diff --git a/config.profiles/harmattan/qt4-doc.install b/config.profiles/harmattan/qt4-doc.install
new file mode 100644
index 0000000..1037a6c
--- /dev/null
+++ b/config.profiles/harmattan/qt4-doc.install
@@ -0,0 +1,3 @@
+usr/share/qt4/doc/qch/*
+usr/share/qt4/doc/src/*
+
diff --git a/config.profiles/harmattan/qt4-linguist-tools.install b/config.profiles/harmattan/qt4-linguist-tools.install
new file mode 100644
index 0000000..73c0bb1
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.install
@@ -0,0 +1,4 @@
+usr/bin/native-lrelease
+usr/bin/host-lrelease
+usr/bin/lupdate
+usr/bin/lconvert
diff --git a/config.profiles/harmattan/qt4-linguist-tools.lintian b/config.profiles/harmattan/qt4-linguist-tools.lintian
new file mode 100644
index 0000000..0f8ed2b
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.lintian
@@ -0,0 +1,4 @@
+qt4-linguist-tools: unknown-control-file digsigsums
+qt4-linguist-tools: binary-from-other-architecture ./usr/bin/host-lrelease
+qt4-linguist-tools: binary-or-shlib-defines-rpath ./usr/bin/host-lrelease /scratchbox/host_shared/lib
+qt4-linguist-tools: binary-or-shlib-defines-rpath ./usr/bin/host-lrelease /host_usr/lib
diff --git a/config.profiles/harmattan/qt4-linguist-tools.postinst b/config.profiles/harmattan/qt4-linguist-tools.postinst
new file mode 100644
index 0000000..2453b95
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.postinst
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+PREFIX=native
+if [ -f /targets/links/scratchbox.config ]; then
+ PREFIX=host
+fi
+
+BINARIES="lrelease"
+
+for bin in $BINARIES; do
+ ln -sf "/usr/bin/${PREFIX}-${bin}" "/usr/bin/${bin}"
+done
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/qt4-linguist-tools.prerm b/config.profiles/harmattan/qt4-linguist-tools.prerm
new file mode 100644
index 0000000..04b51bd
--- /dev/null
+++ b/config.profiles/harmattan/qt4-linguist-tools.prerm
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+BINARIES="lrelease"
+
+case "$1" in
+ upgrade) ;;
+ remove|failed-upgrade|deconfigure)
+ for bin in $BINARIES; do
+ rm -f "/usr/bin/${bin}"
+ done
+ ;;
+esac
+
+#DEBHELPER#
diff --git a/config.profiles/harmattan/qt4-maemo-auto-tests.lintian b/config.profiles/harmattan/qt4-maemo-auto-tests.lintian
new file mode 100644
index 0000000..3745c80
--- /dev/null
+++ b/config.profiles/harmattan/qt4-maemo-auto-tests.lintian
@@ -0,0 +1,41 @@
+qt4-maemo-auto-tests: unknown-control-file digsigsums
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusabstractadaptor
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusabstractinterface
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuscontext
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusinterface
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuslocalcalls
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusmetaobject
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusmetatype
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuspendingcall
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbuspendingreply
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusreply
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusservicewatcher
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusthreading
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdbusxmlparser
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qdebug
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qmutexlocker
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkaddressentry
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkcookie
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkcookiejar
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkproxy
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qnetworkrequest
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qobjectrace
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpainterpathstroker
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpen
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpoint
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qpolygon
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qquaternion
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qqueue
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qrand
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qreadlocker
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qreadwritelock
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qrect
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qringbuffer
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscopedpointer
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptclass
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptcontextinfo
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptstring
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qscriptvalueiterator
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qsequentialanimationgroup
+qt4-maemo-auto-tests: file-in-unusual-dir usr/tests/qt4/tst_qset
+qt4-maemo-auto-tests: non-standard-dir-in-usr usr/tests/
diff --git a/config.profiles/harmattan/readdir-hppa-test.c b/config.profiles/harmattan/readdir-hppa-test.c
new file mode 100644
index 0000000..52c7d14
--- /dev/null
+++ b/config.profiles/harmattan/readdir-hppa-test.c
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <sys/types.h>
+#include <dirent.h>
+#include <errno.h>
+#include <stdio.h>
+
+main() {
+ int return_code;
+ DIR *dir;
+ struct dirent entry;
+ struct dirent *result;
+
+ if ((dir = opendir(".")) == NULL)
+ perror("opendir() error");
+ else {
+ // puts("contents of .:");
+ for (return_code = readdir_r(dir, &entry, &result);
+ result != NULL && return_code == 0;
+ return_code = readdir_r(dir, &entry, &result))
+ printf("%s\n", entry.d_name);
+ if (return_code != 0)
+ perror("readdir_r() error");
+ closedir(dir);
+ }
+}
+
diff --git a/config.profiles/harmattan/rules b/config.profiles/harmattan/rules
new file mode 100755
index 0000000..3042551
--- /dev/null
+++ b/config.profiles/harmattan/rules
@@ -0,0 +1,404 @@
+#!/usr/bin/make -f
+
+export QTDIR := $(shell pwd)
+export PATH := $(QTDIR)/bin:$(PATH)
+# workaround to use lrelease.
+export LD_LIBRARY_PATH := $(QTDIR)/lib:$(LD_LIBRARY_PATH)
+export QT_PLUGIN_PATH := $(QTDIR)/plugins
+export DH_VERBOSE=1
+
+# Only present in official source package
+#QTVERSION := $(shell ls changes-* | cut -f2 -d '-')
+CURRENTVERSION := $(shell head -1 debian/changelog | sed 's/[^(]*(\([^)]*\)).*/\1/')
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/makefile.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
+include /usr/share/cdbs/1/rules/utils.mk
+
+# Find out how many parallel threads to run
+TMP_BUILD_OPTS = $(subst $(comma),$(space),$(DEB_BUILD_OPTIONS))
+ifneq (,$(filter parallel=%,$(TMP_BUILD_OPTS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(TMP_BUILD_OPTS)))
+ PARALLEL_MAKEFLAGS += -j$(NUMJOBS)
+endif
+BUILD_NOOPT := no
+ifneq (,$(filter noopt,$(TMP_BUILD_OPTS)))
+ BUILD_NOOPT := yes
+endif
+BUILD_DOCS := yes
+ifneq (,$(filter nodoc,$(TMP_BUILD_OPTS)))
+ BUILD_DOCS := no
+endif
+ifneq (,$(filter nodocs,$(TMP_BUILD_OPTS)))
+ BUILD_DOCS := no
+endif
+TRY_TARGET_BUILD := no
+ifneq (,$(filter native-tools,$(TMP_BUILD_OPTS)))
+ TRY_TARGET_BUILD := yes
+endif
+
+DEB_MAKE_INVOKE := $(MAKE) $(PARALLEL_MAKEFLAGS)
+DEB_MAKE_BUILD_TARGET := sub-src
+DEB_MAKE_INSTALL_TARGET := INSTALL_ROOT=$(DEB_DESTDIR) install
+DEB_DH_INSTALL_SOURCEDIR := debian/tmp
+
+# Ensure the *.debug files aren't included in any package other than libqt4-dbg
+DEB_DH_INSTALL_ARGS := --exclude=.debug
+
+DEB_MAKE_CLEAN_TARGET := confclean distclean
+
+# Shlibs of the current upstream version
+DEB_DH_MAKESHLIBS_ARGS_ALL := -V
+
+DEB_DH_SHLIBDEPS_ARGS_ALL := --exclude=.debug -Xusr/bin/host-
+
+# Only present in official source package
+#DEB_INSTALL_CHANGELOGS_ALL := changes-$(QTVERSION)
+
+QT_MAEMO_TESTDIR := debian/tests
+export QMAKEFEATURES=$(CURDIR)/debian/tests
+export QMAKE_INVOKE=$(CURDIR)/bin/qmake
+export QMAKE_BUILD_ROOT=$(CURDIR)
+
+#Test packages that will run using -style option
+QT_AUTOTESTS_GUI_STYLE := "libqt4-gui-tests"
+
+# Select OpenGL backend driver
+# Enable multituch support
+ifeq ($(DEB_HOST_ARCH),arm)
+ CONFIG_ARCH_OPT = armv6
+else
+ ifeq ($(DEB_HOST_ARCH),armel)
+ CONFIG_ARCH_OPT = armv6
+ else
+ CONFIG_ARCH_OPT = i386
+ endif
+
+endif
+
+EXTRA_CONFIGURE_OPTS += -DQT_QLOCALE_USES_FCVT -DQT_EXPERIMENTAL_CLIENT_DECORATIONS -DQT_MEEGO_EXPERIMENTAL_SHADERCACHE -DQT_MEEGO_EXPERIMENTAL_SHADERCACHE_TRACE
+
+# Check if running inside scratchbox, and that host-gcc works
+IN_SBOX = $(shell if [ -f /targets/links/scratchbox.config ]; then echo yes; else echo no; fi)
+HOST_GCC_WORKS = $(shell if host-gcc --version > /dev/null; then echo yes; else echo no; fi)
+TARGET_BUILD = no
+ifeq ($(TRY_TARGET_BUILD),yes)
+ ifeq ($(IN_SBOX),yes)
+ ifeq ($(HOST_GCC_WORKS),yes)
+ TARGET_BUILD = yes
+ endif
+ endif
+# Except don't use host-gcc if building for i386
+ ifeq ($(DEB_HOST_ARCH),i386)
+ TARGET_BUILD = no
+ endif
+endif
+
+TARGET_PLATFORM = linux-g++-maemo
+HOST_PLATFORM = unsupported/linux-host-g++
+PLATFORM_FLAG = -platform $(TARGET_PLATFORM)
+FORCE_PKG_CONFIG_FLAG =
+HOST_EXLUDES =
+ifeq ($(TARGET_BUILD),yes)
+ PLATFORM_FLAG = -platform $(HOST_PLATFORM) \
+ -xplatform $(TARGET_PLATFORM)
+ FORCE_PKG_CONFIG_FLAG = -force-pkg-config
+ HOST_EXCLUDES := usr/bin/host- usr/bin/qmake
+endif
+
+DEB_STRIP_EXCLUDE := $(HOST_EXCLUDES)
+
+# Determine target architecture
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+ ifeq ($(CONFIG_ARCH_OPT),armv6)
+ GL_BACKEND=es2
+ EXTRA_CONFIGURE_OPTS += -graphicssystem runtime \
+ -runtimegraphicssystem meego
+ CONFIG_BUILD_OPT = -release
+ else
+ GL_BACKEND=desktop
+ CONFIG_BUILD_OPT = -debug
+ endif
+else
+ TARGET_PLATFORM = glibc-g++
+endif
+
+#If noopt is selected, force -debug and some compilation flags
+ifeq ($(BUILD_NOOPT),yes)
+ CONFIG_BUILD_OPT = -debug
+ CFLAGS = -g
+ CXXFLAGS = -g
+ export CFLAGS
+ export CXXFLAGS
+endif
+
+MAKE_DOCS := -make docs
+DOCS_EXCLUDE :=
+ifeq ($(BUILD_DOCS),no)
+ MAKE_DOCS := -nomake docs
+endif
+
+common-build-arch:: debian/stamp-makefile-build-tools
+
+debian/stamp-makefile-build-tools: debian/stamp-makefile-build
+ $(DEB_MAKE_INVOKE) sub-tools
+ touch $@
+
+common-configure-arch:: config.status
+
+config.status:
+ # Create mkspecs/glibc-g++ from mkspecs/linux-g++, needed by GNU/kFreeBSD
+ # we cannot use directly linux-g++ due to src/corelib/io/io.pri
+ rm -rf mkspecs/glibc-g++
+ cp -a mkspecs/linux-g++ mkspecs/glibc-g++
+ ./configure -opensource \
+ -confirm-license \
+ $(CONFIG_BUILD_OPT) \
+ -prefix "/usr" \
+ -bindir "/usr/bin" \
+ -libdir "/usr/lib" \
+ -docdir "/usr/share/qt4/doc" \
+ -headerdir "/usr/include/qt4" \
+ -datadir "/usr/share/qt4" \
+ -plugindir "/usr/lib/qt4/plugins" \
+ -importdir "/usr/lib/qt4/imports" \
+ -translationdir "/usr/share/qt4/translations" \
+ -sysconfdir "/etc/xdg" \
+ $(PLATFORM_FLAG) \
+ $(FORCE_PKG_CONFIG_FLAG) \
+ -arch $(CONFIG_ARCH_OPT) \
+ -fast \
+ -no-optimized-qmake \
+ -reduce-relocations \
+ -no-separate-debug-info \
+ -no-rpath \
+ -system-zlib \
+ -system-libtiff \
+ -system-libpng \
+ -system-libjpeg \
+ -no-nas-sound \
+ -qt-gif \
+ -no-qt3support \
+ -no-libmng \
+ -opengl $(GL_BACKEND) \
+ -accessibility \
+ -make tools \
+ $(MAKE_DOCS) \
+ -nomake examples \
+ -nomake demos \
+ -little-endian \
+ -no-cups \
+ -no-gtkstyle \
+ -exceptions \
+ -no-xinerama \
+ -no-xcursor \
+ -dbus-linked \
+ -glib \
+ -no-pch \
+ -gstreamer \
+ -svg \
+ -no-webkit \
+ -no-sql-ibase \
+ -xmlpatterns \
+ -system-sqlite \
+ -plugin-sql-sqlite \
+ -openssl \
+ -phonon \
+ -xinput2 \
+ -icu \
+ $(EXTRA_CONFIGURE_OPTS)
+
+BINARY_NAMES := qmake moc lrelease rcc uic
+HOST_BINARIES := $(addprefix $(CURDIR)/bin/, $(addprefix host-, $(BINARY_NAMES)))
+
+# host-prefixed binaries are to be copied anyway regardless of the platform
+common-build-arch:: $(HOST_BINARIES) debian/stamp-makefile-build-target-binaries
+
+$(HOST_BINARIES):
+ cp "$(subst host-,,$@)" "$@"
+ if [ -n "$(HOST_EXCLUDES)" ]; then host-strip --strip-all "$@"; fi
+
+debian/stamp-makefile-build-target-binaries: $(HOST_BINARIES)
+# Build target-platform tools when cross-compiling
+ # First make sure qdoc3 is built
+ if [ "x$(BUILD_DOCS)" = "xyes" ]; then $(DEB_MAKE_INVOKE) -C tools/qdoc3; fi
+ # Keep qmake as is while building the rest, build into native-qmake
+ (cd qmake && $(DEB_MAKE_INVOKE) clean && $(QMAKE_INVOKE) -spec "$(CURDIR)/mkspecs/$(TARGET_PLATFORM)" && $(DEB_MAKE_INVOKE) "TARGET=$(QTDIR)/bin/native-qmake")
+ # bootstrap needs to be first
+ for dir in src/tools/bootstrap src/tools/moc tools/linguist/lrelease src/tools/rcc src/tools/uic; do \
+ (cd "$$dir" && $(DEB_MAKE_INVOKE) clean && $(QMAKE_INVOKE) -spec "$(CURDIR)/mkspecs/$(TARGET_PLATFORM)" && $(DEB_MAKE_INVOKE)) \
+ done
+ #Use the host binaries for the rest of the Qt build
+ for binary in moc rcc uic lrelease; do \
+ mv "$(CURDIR)/bin/$$binary" "$(CURDIR)/bin/native-$$binary" ; \
+ cp "$(CURDIR)/bin/host-$$binary" "$(CURDIR)/bin/$$binary"; \
+ done
+ touch $@
+
+#Build the auto tests
+TEST_PACKAGES := $(filter %-tests, $(DEB_PACKAGES))
+common-build-arch:: $(addprefix debian/stamp-makefile-build-autotest-,$(TEST_PACKAGES))
+
+BUILD_TEST_PACKAGE_NAME = $(subst debian/stamp-makefile-build-autotest-,,$@)
+BUILD_TEST_DIR = build_tests/$(BUILD_TEST_PACKAGE_NAME)
+$(addprefix debian/stamp-makefile-build-autotest-,$(TEST_PACKAGES)) :
+ rm -f tests/auto/$(BUILD_TEST_PACKAGE_NAME).pro
+ cp debian/tests/$(BUILD_TEST_PACKAGE_NAME).pro tests/auto
+ mkdir -p $(BUILD_TEST_DIR)
+ cd $(BUILD_TEST_DIR) && $(QMAKE_INVOKE) -recursive $(CURDIR)/tests/auto/$(BUILD_TEST_PACKAGE_NAME).pro CONFIG+=maemo_tests
+ $(DEB_MAKE_INVOKE) -C $(BUILD_TEST_DIR)
+ touch $@
+
+
+clean::
+# Extra stuff missed by confclean/distclean
+
+ # Misc. files
+ rm -f \
+ config.status \
+ config.tests/.qmake.cache \
+ .qmake.cache \
+ examples/dbus/*/Makefile.* \
+ mkspecs/qconfig.pri \
+ src/corelib/global/qconfig.* \
+ src/tools/uic/qclass_lib_map.h \
+ lib/*.so.* \
+ lib/*.la \
+ tests/auto/libqt4-gui-tests.pri \
+ tests/auto/maemo-auto.pro \
+ tests/auto/qt4-acceptance-tests.pri \
+ tests/auto/qt4-maemo-auto-tests.pri \
+ ;
+
+ # Misc. directories
+ rm -rf \
+ examples/tools/plugandpaint/plugins/ \
+ examples/tools/styleplugin/styles/ \
+ mkspecs/glibc-g++/ \
+ plugins/ \
+ include/ \
+ doc-build/ \
+ doc/html/ \
+ doc/qch/ \
+ ;
+
+ # hppa test directory
+ rm -rf debian/hppa-tmp
+
+ # Leftover dirs
+ find -depth -type d \( -false \
+ -o -name debug-shared \
+ -o -name debug-static \
+ -o -name \*.gch \
+ -o -name .moc\* \
+ -o -name .obj\* \
+ -o -name .pch \
+ -o -name pkgconfig \
+ -o -name .rcc \
+ -o -name release-shared \
+ -o -name release-static \
+ -o -name .uic \
+ \) -print0 | xargs -0 rm -rf
+
+ # Leftover files and all symlinks except those in .git
+ find \( -false \
+ -o \( -name \*.a -a ! -path \*/tests/auto/qdir/types/\*.a \) \
+ -o -name Makefile.Debug \
+ -o -name Makefile.Release \
+ -o -name \*.o \
+ -o -name \*.prl \
+ -o \( -name \*.so -a ! -path \*/tests/auto/qlibrary/library_path/invalid.so \) \
+ -o -name \*.so.debug \
+ -o -type l \
+ \! -path ./.git/\* \
+ \) -print0 | xargs -0 rm -rf
+
+ # Delete all Makefiles, excluding some from src/3rdparty
+ find $(CURDIR) -name Makefile \
+ ! -path $(CURDIR)/src/3rdparty/Makefile \
+ ! -path $(CURDIR)/src/3rdparty/freetype/\* \
+ ! -path $(CURDIR)/src/3rdparty/zlib/\* \
+ ! -path $(CURDIR)/src/3rdparty/ptmalloc/Makefile \
+ ! -path $(CURDIR)/util/gencmap/Makefile \
+ -print0 | xargs -0 rm -rf
+
+ # Any remaining executables
+ find $(CURDIR) -type f -perm +111 -exec file -i '{}' \; \
+ | grep -e application/x-executable \
+ | cut -d ':' -f 1 | xargs rm -f
+
+ # Generated on build
+ rm -f debian/shlibs.local
+ rm -f debian/stamp-makefile-build-tools
+ rm -f debian/stamp-makefile-build-docs
+ rm -f debian/stamp-makefile-build-target-binaries
+ rm -f $(addprefix debian/stamp-makefile-build-autotest-,$(TEST_PACKAGES))
+ rm -f $(addprefix debian/,$(addsuffix .install, $(TEST_PACKAGES)))
+ rm -f $(addprefix tests/auto/,$(addsuffix .pro, $(TEST_PACKAGES)))
+ rm -rf build_tests/
+
+
+common-install-arch::
+ mkdir -p $(DEB_DESTDIR)/usr/share/qt4/translations/
+ cp $(CURDIR)/translations/*.ts $(DEB_DESTDIR)/usr/share/qt4/translations/.
+ find $(DEB_DESTDIR)/usr/share/qt4/translations/ -type f -name "*.ts" | xargs $(CURDIR)/bin/lrelease
+ rm -rf $(DEB_DESTDIR)/usr/share/qt4/translations/*.ts
+# Fix wrong path in pkgconfig files
+ find $(DEB_DESTDIR)/usr/lib/pkgconfig -type f -name '*.pc' \
+ -exec perl -pi -e "s, -L$(CURDIR)/?\S+,,g" {} \;
+# Fix wrong path in prl files
+ find $(DEB_DESTDIR)/usr/lib -type f -name '*.prl' \
+ -exec perl -pi -e "s, -L$(CURDIR)/\S+,,g" {} \;
+ find $(DEB_DESTDIR)/usr/lib -type f -name '*.prl' \
+ -exec sed -i -e "/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/" {} \;
+
+
+install/qt4-declarative-qmlviewer::
+ install -p -D "debian/QMLViewer.desktop" "$(DEB_DESTDIR)/usr/share/applications/QMLViewer.desktop"
+ install -p -D "debian/QMLViewer.png" "$(DEB_DESTDIR)/usr/share/icons/hicolor/64x64/apps/QMLViewer.png"
+
+
+$(patsubst %,install/%,$(TEST_PACKAGES)) :: install/%:
+ rm -f debian/$(cdbs_curpkg).install
+ $(DEB_MAKE_INVOKE) -C build_tests/$(cdbs_curpkg) $(DEB_MAKE_INSTALL_TARGET)
+ $(DEB_MAKE_INVOKE) -C build_tests/$(cdbs_curpkg) QTM_TEST_INSTALL_FILE=$(CURDIR)/debian/$(cdbs_curpkg).install installtests
+ if [ -z "$(findstring $(cdbs_curpkg),$(QT_AUTOTESTS_GUI_STYLE))" ]; then \
+ $(QT_MAEMO_TESTDIR)/create_tests_xml -t $(QT_MAEMO_TESTDIR) \
+ -i $(DEB_DESTDIR) -p $(CURDIR)/debian/$(cdbs_curpkg).install ;\
+ else \
+ $(QT_MAEMO_TESTDIR)/create_tests_xml -t $(QT_MAEMO_TESTDIR) -c "-style plastique" \
+ -i $(DEB_DESTDIR) -p $(CURDIR)/debian/$(cdbs_curpkg).install ;\
+ fi
+
+common-install-arch::
+ find "$(CURDIR)/bin" -name "host-*" -exec install -p -D {} "$(DEB_DESTDIR)/usr/bin" \;
+ find "$(CURDIR)/bin" -name "native-*" -exec install -p -D {} "$(DEB_DESTDIR)/usr/bin" \;
+
+
+install/libqt4-doc::
+ mkdir -p "$(DEB_DESTDIR)/usr/share/qt4/doc/html/"
+ if [ "x$(BUILD_DOCS)" = "xno" ]; then touch "$(DEB_DESTDIR)/usr/share/qt4/doc/html/BUILT_WITH_NODOCS"; fi
+
+common-build-indep:: debian/stamp-makefile-build-docs
+
+debian/stamp-makefile-build-docs:
+ if [ "x$(BUILD_DOCS)" = "xyes" ]; then $(DEB_MAKE_INVOKE) docs; fi
+ touch $@
+
+binary-predeb/libqt4-dev::
+ sed -i -e 's/#PLATFORM_ARG#/$(TARGET_PLATFORM)/g' debian/$(cdbs_curpkg)/DEBIAN/postinst
+
+# Automatically install lintian overrides, stolen from debian-qt-kde.mk
+$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%:
+ if test -e debian/$(cdbs_curpkg).lintian; then \
+ install -p -D -m644 debian/$(cdbs_curpkg).lintian \
+ debian/$(cdbs_curpkg)/usr/share/lintian/overrides/$(cdbs_curpkg); \
+ fi
+
+# Generate shlibs local files
+$(patsubst %,binary-fixup/%,$(DEB_ALL_PACKAGES)) :: binary-fixup/%: binary-strip/%
+ if test -e debian/$(cdbs_curpkg)/DEBIAN/shlibs ; then \
+ sed 's/>=[^)]*/= $(CURRENTVERSION)/' debian/$(cdbs_curpkg)/DEBIAN/shlibs >> debian/shlibs.local ;\
+ fi
+
diff --git a/config.profiles/harmattan/source.lintian-overrides b/config.profiles/harmattan/source.lintian-overrides
new file mode 100644
index 0000000..1835a30
--- /dev/null
+++ b/config.profiles/harmattan/source.lintian-overrides
@@ -0,0 +1,5 @@
+qt4-x11 source: changelog-should-mention-nmu
+qt4-x11 source: native-package-with-dash-version
+qt4-x11 source: source-nmu-has-incorrect-version-number
+qt4-x11 source: virtual-package-depends-without-real-package-depends build-depends: libgl-dev
+qt4-x11 source: virtual-package-depends-without-real-package-depends build-depends: libgl1
diff --git a/config.profiles/harmattan/source/format b/config.profiles/harmattan/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/config.profiles/harmattan/source/format
@@ -0,0 +1 @@
+3.0 (native)
diff --git a/config.profiles/harmattan/tests/create_tests_xml b/config.profiles/harmattan/tests/create_tests_xml
new file mode 100755
index 0000000..c168654
--- /dev/null
+++ b/config.profiles/harmattan/tests/create_tests_xml
@@ -0,0 +1,174 @@
+#!/bin/sh
+
+#############################################################################
+##
+## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is the build configuration utility of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## GNU Lesser General Public License Usage
+## This file may be used under the terms of the GNU Lesser General Public
+## License version 2.1 as published by the Free Software Foundation and
+## appearing in the file LICENSE.LGPL included in the packaging of this
+## file. Please review the following information to ensure the GNU Lesser
+## General Public License version 2.1 requirements will be met:
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU General
+## Public License version 3.0 as published by the Free Software Foundation
+## and appearing in the file LICENSE.GPL included in the packaging of this
+## file. Please review the following information to ensure the GNU General
+## Public License version 3.0 requirements will be met:
+## http://www.gnu.org/copyleft/gpl.html.
+##
+## Other Usage
+## Alternatively, this file may be used in accordance with the terms and
+## conditions contained in a signed written agreement between you and Nokia.
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+
+set -e
+#set -u
+
+xmlInstallDir="usr/share"
+
+testSuiteHeader="testsuite_header.txt"
+testSuiteFooter="testsuite_footer.txt"
+testSetTemplate="testset.txt"
+
+
+#-------------------------------------------------------------------------------
+#Parameters: $1 the project file where the tests are defined
+#-------------------------------------------------------------------------------
+create_test_xml()
+{
+
+ mkdir -p "$installDir/$xmlInstallDir/$packageName"
+ xmlFile="$installDir/$xmlInstallDir/$packageName/tests.xml"
+
+
+ begin_test_suite $xmlFile
+
+ for testApp in $(< "$installFile"); do
+ if file -i "$installDir/$testApp"|grep -e "application/x-executable" ; then
+ add_test_set "$testApp" "$xmlFile"
+ fi
+ done
+
+ end_test_suite $xmlFile
+
+ echo "$xmlInstallDir/$packageName/tests.xml" >> "$installFile"
+
+}
+
+#-------------------------------------------------------------------------------
+#Parameters: $1 the xml output file'
+#-------------------------------------------------------------------------------
+begin_test_suite()
+{
+ optstr="/<suite/s;name=\"[^\"]*\";name=\"$packageName\";g"
+ template="$templateDir/$testSuiteHeader"
+ runsed $optstr $template > "$1"
+}
+
+#Parameters: $1 the xml output file
+end_test_suite()
+{
+ cat "$templateDir/$testSuiteFooter" >> "$1"
+}
+
+#-------------------------------------------------------------------------------
+#Parameters: $1 the name of the test application
+#Parameters: $2 the xml output file
+#-------------------------------------------------------------------------------
+add_test_set()
+{
+ templateSetFile="$templateDir/$testSetTemplate"
+ testSuiteName=$(basename $1)
+ add_set_name "$testSuiteName" "$templateSetFile" |add_description "$testSuiteName" |add_case_name "$testSuiteName" |add_step "$1" >> "$2"
+}
+
+add_set_name()
+{
+ optstr="/<set/s;name=\"[^\"]*\";name=\"${packageName}_$1\";g"
+ runsed "$optstr" "$2"
+}
+
+add_case_name()
+{
+ optstr="/<case/s;name=\"[^\"]*\";name=\"$1\";g"
+ runsed "$optstr" "$2"
+}
+
+add_description()
+{
+ optstr="s;<description>.*</description>;<description>${packageName}:$1</description>;g"
+ runsed "$optstr" "$2"
+}
+
+add_step()
+{
+ if [ -n "$testCliOptions" ]; then
+ optstr="s;<step>.*</step>;<step>$1 $testCliOptions</step>;g"
+ else
+ optstr="s;<step>.*</step>;<step>$1</step>;g"
+ fi
+ runsed "$optstr" "$2"
+}
+
+runsed()
+{
+ sedopt=$(echo $1)
+ cmd='sed -e "$sedopt" $2'
+ eval $cmd
+}
+
+
+#======= main =========
+
+programName="$0"
+usage="Usage: `basename $programName` -t <template_dir> -d <debian_dir> \
+-i <dir_where_tests_will_be_installed> <project_files>"
+
+if [ $# -le 0 ]; then
+ echo "$usage" 1>&2
+ exit 1
+fi
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -t) templateDir=$(cd "$2"; pwd)
+ shift
+ ;;
+ -i) installDir=$(cd "$2"; pwd)
+ shift
+ ;;
+ -p) installFile="$2"
+ packageName=$(basename "$installFile" ".install")
+ shift
+ ;;
+ -c) testCliOptions="$2"
+ shift
+ ;;
+ *) projFileList="$projFileList $1";;
+ esac
+ shift
+done
+
+
+create_test_xml
diff --git a/config.profiles/harmattan/tests/libqt4-gui-tests.pro b/config.profiles/harmattan/tests/libqt4-gui-tests.pro
new file mode 100644
index 0000000..d00f139
--- /dev/null
+++ b/config.profiles/harmattan/tests/libqt4-gui-tests.pro
@@ -0,0 +1,64 @@
+#Staging tests for gui
+TEMPLATE = subdirs
+
+SUBDIRS += modeltest \
+ qabstractbutton \
+ qabstractitemmodel \
+ qabstractprintdialog \
+ qabstractproxymodel \
+ qabstractslider \
+ qabstractspinbox \
+ qabstracttextdocumentlayout \
+ qabstractvideobuffer \
+ qabstractvideosurface \
+ qaction \
+ qfileiconprovider \
+ qfocusframe \
+ qfont \
+ qfontmetrics \
+ qformlayout \
+ qgraphicslayout \
+ qnetworkcachemetadata \
+ qpaintengine \
+ qpalette \
+ qparallelanimationgroup \
+ qpauseanimation \
+ qpicture \
+ qplaintextedit \
+ qpointer \
+ qprinterinfo \
+ qprogressbar \
+ qprogressdialog \
+ qpropertyanimation \
+ qradiobutton \
+ qregexpvalidator \
+ qscriptenginedebugger \
+ qscrollarea \
+ qscrollbar \
+ qsharedpointer_and_qwidget \
+ qsignalmapper \
+ qslider \
+ qsortfilterproxymodel \
+ qspinbox \
+ qstackedlayout \
+ qstackedwidget \
+ qstandarditem \
+ qstandarditemmodel \
+ qstatemachine \
+ qstringlistmodel \
+ qstyleoption \
+ qsyntaxhighlighter \
+ qtextblock \
+ qtextcursor \
+ qtextformat \
+ qtextlist \
+ qtextobject \
+ qtextscriptengine \
+ qtexttable \
+ qtoolbox \
+ qtoolbutton \
+ qtreewidgetitemiterator \
+ qundogroup \
+ qundostack \
+ qvideosurfaceformat \
+ qwidgetaction
diff --git a/config.profiles/harmattan/tests/maemo_tests.prf b/config.profiles/harmattan/tests/maemo_tests.prf
new file mode 100644
index 0000000..3bdb802
--- /dev/null
+++ b/config.profiles/harmattan/tests/maemo_tests.prf
@@ -0,0 +1,57 @@
+#############################################################################
+##
+## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is the build configuration utility of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## GNU Lesser General Public License Usage
+## This file may be used under the terms of the GNU Lesser General Public
+## License version 2.1 as published by the Free Software Foundation and
+## appearing in the file LICENSE.LGPL included in the packaging of this
+## file. Please review the following information to ensure the GNU Lesser
+## General Public License version 2.1 requirements will be met:
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU General
+## Public License version 3.0 as published by the Free Software Foundation
+## and appearing in the file LICENSE.GPL included in the packaging of this
+## file. Please review the following information to ensure the GNU General
+## Public License version 3.0 requirements will be met:
+## http://www.gnu.org/copyleft/gpl.html.
+##
+## Other Usage
+## Alternatively, this file may be used in accordance with the terms and
+## conditions contained in a signed written agreement between you and Nokia.
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+load(qttest_p4)
+
+installtests.CONFIG = recursive
+!contains(TEMPLATE, subdirs): for(install_set, INSTALLS) {
+ contains(install_set, target) {
+ installtests.commands += echo $${target.path}/$${TARGET} >> \$(QTM_TEST_INSTALL_FILE) ;
+ } else {
+ install_set_path=$$member($${install_set}.path)
+ installtests.commands += echo $${install_set_path} >> \$(QTM_TEST_INSTALL_FILE) ;
+ }
+}
+
+QMAKE_EXTRA_TARGETS += installtests
+
+DEFINES -= $$find(DEFINES, SRCDIR.*)
+DEFINES += SRCDIR=\\\"$${target.path}\\\"
diff --git a/config.profiles/harmattan/tests/qt4-acceptance-tests.pro b/config.profiles/harmattan/tests/qt4-acceptance-tests.pro
new file mode 100644
index 0000000..4549f7a
--- /dev/null
+++ b/config.profiles/harmattan/tests/qt4-acceptance-tests.pro
@@ -0,0 +1,6 @@
+#Acceptance tests
+TEMPLATE = subdirs
+SUBDIRS += qdbusconnection \
+ qhash \
+ qlist \
+ qmap
diff --git a/config.profiles/harmattan/tests/qt4-maemo-auto-tests.pro b/config.profiles/harmattan/tests/qt4-maemo-auto-tests.pro
new file mode 100644
index 0000000..bd218f5
--- /dev/null
+++ b/config.profiles/harmattan/tests/qt4-maemo-auto-tests.pro
@@ -0,0 +1,44 @@
+#Staging tests that require no data or style ibfo
+TEMPLATE = subdirs
+SUBDIRS += qdbusabstractadaptor \
+ qdbusabstractinterface \
+ qdbuscontext \
+ qdbusinterface \
+ qdbuslocalcalls \
+ qdbusmetaobject \
+ qdbusmetatype \
+ qdbuspendingcall \
+ qdbuspendingreply \
+ qdbusreply \
+ qdbusservicewatcher \
+ qdbusthreading \
+ qdbusxmlparser \
+ qdebug \
+ qeventloop \
+ qmutexlocker \
+ qnetworkaddressentry \
+ qnetworkproxy \
+ qnetworkrequest \
+ qnetworkcookie \
+ qnetworkcookiejar \
+ qobjectrace \
+ qpainterpathstroker \
+ qpen \
+ qpoint \
+ qpolygon \
+ qquaternion \
+ qqueue \
+ qrand \
+ qreadlocker \
+ qreadwritelock \
+ qrect \
+ qringbuffer \
+ qscopedpointer \
+ qscriptclass \
+ qscriptcontextinfo \
+ qscriptstring \
+ qscriptvalueiterator \
+ qsequentialanimationgroup \
+ qset \
+ qwaitcondition
+
diff --git a/config.profiles/harmattan/tests/tests.xml b/config.profiles/harmattan/tests/tests.xml
new file mode 100644
index 0000000..e276bfa
--- /dev/null
+++ b/config.profiles/harmattan/tests/tests.xml
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<testdefinition version="1.0">
+ <suite domain="Application framework" level="Component" name="qt4-acceptance-tests" type="Functional">
+ <description />
+ <set feature="qt" level="Component" name="acceptance_tst_qhash" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash</description>
+ <case level="Component" name="tst_qhash-insert1" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:insert1</description>
+ <step>/usr/tests/qt4/tst_qhash insert1</step>
+ </case>
+ <case level="Component" name="tst_qhash-erase" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:erase</description>
+ <step>/usr/tests/qt4/tst_qhash erase</step>
+ </case>
+ <case level="Component" name="tst_qhash-key" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:key</description>
+ <step>/usr/tests/qt4/tst_qhash key</step>
+ </case>
+ <case level="Component" name="tst_qhash-count" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:count</description>
+ <step>/usr/tests/qt4/tst_qhash count</step>
+ </case>
+ <case level="Component" name="tst_qhash-clear" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:clear</description>
+ <step>/usr/tests/qt4/tst_qhash clear</step>
+ </case>
+ <case level="Component" name="tst_qhash-empty" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:empty</description>
+ <step>/usr/tests/qt4/tst_qhash empty</step>
+ </case>
+ <case level="Component" name="tst_qhash-find" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:find</description>
+ <step>/usr/tests/qt4/tst_qhash find</step>
+ </case>
+ <case level="Component" name="tst_qhash-constFind" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:constFind</description>
+ <step>/usr/tests/qt4/tst_qhash constFind</step>
+ </case>
+ <case level="Component" name="tst_qhash-contains" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:contains</description>
+ <step>/usr/tests/qt4/tst_qhash contains</step>
+ </case>
+ <case level="Component" name="tst_qhash-take" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:take</description>
+ <step>/usr/tests/qt4/tst_qhash take</step>
+ </case>
+ <case level="Component" name="tst_qhash-operator_eq" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:operator_eq</description>
+ <step>/usr/tests/qt4/tst_qhash operator_eq</step>
+ </case>
+ <case level="Component" name="tst_qhash-rehash_isnt_quadratic" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:rehash_isnt_quadratic</description>
+ <step>/usr/tests/qt4/tst_qhash rehash_isnt_quadratic</step>
+ </case>
+ <case level="Component" name="tst_qhash-dont_need_default_constructor" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:dont_need_default_constructor</description>
+ <step>/usr/tests/qt4/tst_qhash dont_need_default_constructor</step>
+ </case>
+ <case level="Component" name="tst_qhash-qhash" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:qhash</description>
+ <step>/usr/tests/qt4/tst_qhash qhash</step>
+ </case>
+ <case level="Component" name="tst_qhash-qmultihash_specific" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:qmultihash_specific</description>
+ <step>/usr/tests/qt4/tst_qhash qmultihash_specific</step>
+ </case>
+ <case level="Component" name="tst_qhash-compare" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:compare</description>
+ <step>/usr/tests/qt4/tst_qhash compare</step>
+ </case>
+ <case level="Component" name="tst_qhash-compare2" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:compare2</description>
+ <step>/usr/tests/qt4/tst_qhash compare2</step>
+ </case>
+ <case level="Component" name="tst_qhash-iterators" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:iterators</description>
+ <step>/usr/tests/qt4/tst_qhash iterators</step>
+ </case>
+ <case level="Component" name="tst_qhash-keys_values_uniqueKeys" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:keys_values_uniqueKeys</description>
+ <step>/usr/tests/qt4/tst_qhash keys_values_uniqueKeys</step>
+ </case>
+ <case level="Component" name="tst_qhash-noNeedlessRehashes" type="Functional">
+ <description>qt4-acceptance-tests:tst_qhash:noNeedlessRehashes</description>
+ <step>/usr/tests/qt4/tst_qhash noNeedlessRehashes</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qdbusconnection" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection</description>
+ <case level="Component" name="tst_qdbusconnection-noConnection" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:noConnection</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection noConnection</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-connectToBus" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:connectToBus</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection connectToBus</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-connect" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:connect</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection connect</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-send" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:send</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection send</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-sendAsync" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:sendAsync</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection sendAsync</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-sendSignal" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:sendSignal</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection sendSignal</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-registerObject" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:registerObject</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection registerObject</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-registerObject2" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:registerObject2</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection registerObject2</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-registerQObjectChildren" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:registerQObjectChildren</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection registerQObjectChildren</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-callSelf" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:callSelf</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection callSelf</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-callSelfByAnotherName" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:callSelfByAnotherName</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection callSelfByAnotherName</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-multipleInterfacesInQObject" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:multipleInterfacesInQObject</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection multipleInterfacesInQObject</step>
+ </case>
+ <case level="Component" name="tst_qdbusconnection-slotsWithLessParameters" type="Functional">
+ <description>qt4-acceptance-tests:tst_qdbusconnection:slotsWithLessParameters</description>
+ <step>/usr/tests/qt4/tst_qdbusconnection slotsWithLessParameters</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qaction" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction</description>
+ <case level="Component" name="tst_qaction-getSetCheck" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:getSetCheck</description>
+ <step>/usr/tests/qt4/tst_qaction getSetCheck</step>
+ </case>
+ <case level="Component" name="tst_qaction-setText" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:setText</description>
+ <step>/usr/tests/qt4/tst_qaction setText</step>
+ </case>
+ <case level="Component" name="tst_qaction-setIconText" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:setIconText</description>
+ <step>/usr/tests/qt4/tst_qaction setIconText</step>
+ </case>
+ <case level="Component" name="tst_qaction-actionEvent" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:actionEvent</description>
+ <step>/usr/tests/qt4/tst_qaction actionEvent</step>
+ </case>
+ <case level="Component" name="tst_qaction-setStandardKeys" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:setStandardKeys</description>
+ <step>/usr/tests/qt4/tst_qaction setStandardKeys</step>
+ </case>
+ <case level="Component" name="tst_qaction-alternateShortcuts" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:alternateShortcuts</description>
+ <step>/usr/tests/qt4/tst_qaction alternateShortcuts</step>
+ </case>
+ <case level="Component" name="tst_qaction-enabledVisibleInteraction" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:enabledVisibleInteraction</description>
+ <step>/usr/tests/qt4/tst_qaction enabledVisibleInteraction</step>
+ </case>
+ <case level="Component" name="tst_qaction-task200823_tooltip" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:task200823_tooltip</description>
+ <step>/usr/tests/qt4/tst_qaction task200823_tooltip</step>
+ </case>
+ <case level="Component" name="tst_qaction-task229128TriggeredSignalWithoutActiongroup" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:task229128TriggeredSignalWithoutActiongroup</description>
+ <step>/usr/tests/qt4/tst_qaction task229128TriggeredSignalWithoutActiongroup</step>
+ </case>
+ <case level="Component" name="tst_qaction-task229128TriggeredSignalWhenInActiongroup" type="Functional">
+ <description>qt4-acceptance-tests:tst_qaction:task229128TriggeredSignalWhenInActiongroup</description>
+ <step>/usr/tests/qt4/tst_qaction task229128TriggeredSignalWhenInActiongroup</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qlist" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist</description>
+ <case level="Component" name="tst_qlist-length" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist:length</description>
+ <step>/usr/tests/qt4/tst_qlist length</step>
+ </case>
+ <case level="Component" name="tst_qlist-lengthSignature" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist:lengthSignature</description>
+ <step>/usr/tests/qt4/tst_qlist lengthSignature</step>
+ </case>
+ <case level="Component" name="tst_qlist-append" type="Functional">
+ <description>qt4-acceptance-tests:tst_qlist:append</description>
+ <step>/usr/tests/qt4/tst_qlist append</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qgraphicslayout" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout</description>
+ <case level="Component" name="tst_qgraphicslayout-sizeHints" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:sizeHints</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout sizeHints</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-compressLayoutRequest" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:compressLayoutRequest</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout compressLayoutRequest</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-automaticReparenting" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:automaticReparenting</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout automaticReparenting</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-verifyActivate" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:verifyActivate</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout verifyActivate</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-constructors" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:constructors</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout constructors</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-alternativeLayoutItems" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:alternativeLayoutItems</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout alternativeLayoutItems</step>
+ </case>
+ <case level="Component" name="tst_qgraphicslayout-ownership" type="Functional">
+ <description>qt4-acceptance-tests:tst_qgraphicslayout:ownership</description>
+ <step>/usr/tests/qt4/tst_qgraphicslayout ownership</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ <set feature="qt" level="Component" name="acceptance_tst_qmap" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap</description>
+ <case level="Component" name="tst_qmap-count" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:count</description>
+ <step>/usr/tests/qt4/tst_qmap count</step>
+ </case>
+ <case level="Component" name="tst_qmap-clear" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:clear</description>
+ <step>/usr/tests/qt4/tst_qmap clear</step>
+ </case>
+ <case level="Component" name="tst_qmap-beginEnd" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:beginEnd</description>
+ <step>/usr/tests/qt4/tst_qmap beginEnd</step>
+ </case>
+ <case level="Component" name="tst_qmap-key" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:key</description>
+ <step>/usr/tests/qt4/tst_qmap key</step>
+ </case>
+ <case level="Component" name="tst_qmap-operator_eq" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:operator_eq</description>
+ <step>/usr/tests/qt4/tst_qmap operator_eq</step>
+ </case>
+ <case level="Component" name="tst_qmap-empty" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:empty</description>
+ <step>/usr/tests/qt4/tst_qmap empty</step>
+ </case>
+ <case level="Component" name="tst_qmap-contains" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:contains</description>
+ <step>/usr/tests/qt4/tst_qmap contains</step>
+ </case>
+ <case level="Component" name="tst_qmap-find" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:find</description>
+ <step>/usr/tests/qt4/tst_qmap find</step>
+ </case>
+ <case level="Component" name="tst_qmap-constFind" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:constFind</description>
+ <step>/usr/tests/qt4/tst_qmap constFind</step>
+ </case>
+ <case level="Component" name="tst_qmap-lowerUpperBound" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:lowerUpperBound</description>
+ <step>/usr/tests/qt4/tst_qmap lowerUpperBound</step>
+ </case>
+ <case level="Component" name="tst_qmap-mergeCompare" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:mergeCompare</description>
+ <step>/usr/tests/qt4/tst_qmap mergeCompare</step>
+ </case>
+ <case level="Component" name="tst_qmap-take" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:take</description>
+ <step>/usr/tests/qt4/tst_qmap take</step>
+ </case>
+ <case level="Component" name="tst_qmap-iterators" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:iterators</description>
+ <step>/usr/tests/qt4/tst_qmap iterators</step>
+ </case>
+ <case level="Component" name="tst_qmap-keys_values_uniqueKeys" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:keys_values_uniqueKeys</description>
+ <step>/usr/tests/qt4/tst_qmap keys_values_uniqueKeys</step>
+ </case>
+ <case level="Component" name="tst_qmap-qmultimap_specific" type="Functional">
+ <description>qt4-acceptance-tests:tst_qmap:qmultimap_specific</description>
+ <step>/usr/tests/qt4/tst_qmap qmultimap_specific</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
+ </suite>
+</testdefinition>
diff --git a/config.profiles/harmattan/tests/testset.txt b/config.profiles/harmattan/tests/testset.txt
new file mode 100644
index 0000000..62de93d
--- /dev/null
+++ b/config.profiles/harmattan/tests/testset.txt
@@ -0,0 +1,11 @@
+ <set feature="qt" level="Component" name="##Package-name_test_name##" type="Functional">
+ <description>##Package-name:test_name##</description>
+ <case level="Component" name="##tst_foo##" type="Functional">
+ <description>##Package-name:test_name##</description>
+ <step>##/usr/tests/qtm/tst_foo##</step>
+ </case>
+ <environments>
+ <scratchbox>true</scratchbox>
+ <hardware>true</hardware>
+ </environments>
+ </set>
diff --git a/config.profiles/harmattan/tests/testsuite_footer.txt b/config.profiles/harmattan/tests/testsuite_footer.txt
new file mode 100644
index 0000000..8c71c93
--- /dev/null
+++ b/config.profiles/harmattan/tests/testsuite_footer.txt
@@ -0,0 +1,2 @@
+ </suite>
+</testdefinition>
diff --git a/config.profiles/harmattan/tests/testsuite_header.txt b/config.profiles/harmattan/tests/testsuite_header.txt
new file mode 100644
index 0000000..4c57f76
--- /dev/null
+++ b/config.profiles/harmattan/tests/testsuite_header.txt
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<testdefinition version="1.0">
+ <suite domain="Application framework" level="Component" name="##Add your name here##" type="Functional">
+ <description />
diff --git a/config.profiles/symbian/bld.inf b/config.profiles/symbian/bld.inf
new file mode 100644
index 0000000..91b90c2
--- /dev/null
+++ b/config.profiles/symbian/bld.inf
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+*
+* Description: Build information file for Qt configuration
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+TOOLS2
+
+PRJ_EXPORTS
+qtconfig.xml /epoc32/tools/makefile_templates/qt/qtconfig.xml
+qtconfig.flm /epoc32/tools/makefile_templates/qt/qtconfig.flm
+
+../../mkspecs/symbian-sbsv2/flm/qt/qmake_emulator_deployment.flm /epoc32/tools/makefile_templates/qt/
+../../mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm /epoc32/tools/makefile_templates/qt/
+../../mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm /epoc32/tools/makefile_templates/qt/
+../../mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm /epoc32/tools/makefile_templates/qt/
+../../mkspecs/symbian-sbsv2/flm/qt/qt.xml /epoc32/tools/makefile_templates/qt/
+
+qt.conf /epoc32/tools/qt.conf
+
+/* export platform specific configuration */
+
+platform_paths.prf /epoc32/include/
+data_caging_paths.prf /epoc32/include/
+non_foundation_paths.prf /epoc32/include/
+
+environment.prf /epoc32/tools/qt/mkspecs/features/environment.prf
+
+//for loc
+loc.prf /epoc32/tools/qt/mkspecs/features/loc.prf
+
+#ifdef FF_QT_IN_UDA
+//For UDA image
+confml/qt.confml CONFML_EXPORT_PATH(qt.confml,uda_content)
+implml/qt_copy.implml CRML_EXPORT_PATH(qt_copy.implml,uda_content)
+qt.sisx CRML_EXPORT_PATH(../content/sis/,uda_content)
+#endif
+
+/* export stub sis to enable eclipsing */
+qt_stub.sis /epoc32/data/z/system/install/qt_stub.sis
+
+//tools
+../../bin/createpackage.bat /epoc32/tools/createpackage.bat
+../../bin/createpackage.pl /epoc32/tools/createpackage.pl
+../../bin/patch_capabilities.bat /epoc32/tools/patch_capabilities.bat
+../../bin/patch_capabilities.pl /epoc32/tools/patch_capabilities.pl
+
+
+/* export localization *.ts files */
+translations/qt_ur.ts /epoc32/include/platform/qt/translations/
+translations/qt_fa.ts /epoc32/include/platform/qt/translations/
+translations/qt_ar.ts /epoc32/include/platform/qt/translations/
+translations/qt_he.ts /epoc32/include/platform/qt/translations/
+
+translations/qt_fr_symbian.ts /epoc32/include/platform/qt/translations/qt_fr.ts
+translations/qt_pl_symbian.ts /epoc32/include/platform/qt/translations/qt_pl.ts
+translations/qt_ru_symbian.ts /epoc32/include/platform/qt/translations/qt_ru.ts
+translations/qt_zh_cn_symbian.ts /epoc32/include/platform/qt/translations/qt_zh_cn.ts
+translations/qt_zh_tw_symbian.ts /epoc32/include/platform/qt/translations/qt_zh_tw.ts
+
+../../translations/qt_ar.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_cs.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_da.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_de.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_es.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_gl.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_hu.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_ja.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_pt.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_sk.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_sl.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_sv.ts /epoc32/include/platform/qt/translations/
+../../translations/qt_uk.ts /epoc32/include/platform/qt/translations/
+
+PRJ_EXTENSIONS
+START EXTENSION qt/qtconfig
+OPTION QT_ROOT ..
+OPTION OPTIONS -opensource -confirm-license -openvg -opengl-es-2 -script -no-scripttools -no-webkit -make make -graphicssystem openvg -phonon -phonon-backend -no-usedeffiles -dont-process -nomake examples -nomake demos -nomake tools -audio-backend -fpu softvfp+vfpv2
+END \ No newline at end of file
diff --git a/config.profiles/symbian/confml/qt.confml b/config.profiles/symbian/confml/qt.confml
new file mode 100644
index 0000000..f5e9a49
--- /dev/null
+++ b/config.profiles/symbian/confml/qt.confml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<confml:configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:confml="http://www.s60.com/xml/confml/2" xsi:schemaLocation="http://www.s60.com/xml/confml/2 http://www.s60.com/xml/confml/1#//confml2">
+ <confml:feature name="QT" ref="qt">
+ <confml:desc>QT settings</confml:desc>
+ <confml:setting name="QT enabled"
+ ref="Enabled"
+ type="boolean">
+ <confml:desc>To enable QT usage</confml:desc>
+ </confml:setting>
+ </confml:feature>
+ <confml:data>
+ <confml:qt>
+ <confml:Enabled>true</confml:Enabled>
+ </confml:qt>
+ </confml:data>
+</confml:configuration> \ No newline at end of file
diff --git a/config.profiles/symbian/data_caging_paths.prf b/config.profiles/symbian/data_caging_paths.prf
new file mode 100644
index 0000000..8bb0f79
--- /dev/null
+++ b/config.profiles/symbian/data_caging_paths.prf
@@ -0,0 +1,71 @@
+#
+# ==============================================================================
+# Name : data_caging_paths.prf
+# Part of :
+# Interface : Data Caging Path Definitions API for Qt/S60
+# Description : Paths specific to Symbian^3 and later
+#
+# Usage examples:
+#
+# # Load these definitions on pro-file if needed:
+# load(data_caging_paths)
+#
+# # These variables are mostly useful when specifying deployment
+#
+# myLib.sources = myLib.dll
+# myLib.path = $$SHARED_LIB_DIR
+# DEPLOYMENT += myLib
+#
+# # Note: Do not use $$PLUGINS_DIR or $$PLUGINS_1_DIR to deploy Qt plugins.
+# # $$QT_PUBLIC_PLUGINS_BASE specifies the public base directory for Qt
+# # plugin stubs:
+#
+# myPublicImageFormatPlugin.sources = myImageFormat.dll
+# myPublicImageFormatPlugin.path = $$QT_PLUGINS_BASE_DIR/imageformats
+# DEPLOYMENT += myPublicImageFormatPlugin
+#
+# ==============================================================================
+
+APPARC_RECOGNISER_RESOURCES_DIR = /resource/apps/registrationresourcefiles
+APP_BITMAP_DIR = /resource/apps
+APP_RESOURCE_DIR = /resource/apps
+BITMAP_DIR = /resource/apps
+BIOFILE_DIR = /resource/messaging/bif
+CHARCONV_PLUGIN_DIR = /resource/charconv
+CONTACTS_RESOURCE_DIR = /resource/cntmodel
+CTRL_PANEL_RESOURCE_DIR = /resource/controls
+CONVERTER_PLUGIN_RESOURCE_DIR = /resource/convert
+ECOM_RESOURCE_DIR = /resource/plugins
+ERROR_RESOURCE_DIR = /resource/errors
+PROGRAMS_DIR = /sys/bin
+FEP_RESOURCES_DIR = /resource/fep
+HELP_FILE_DIR = /resource/help
+LOG_ENGINE_RESOURCE_DIR = /resource/logengine
+MTM_RESOURCE_DIR = /resource/messaging
+MTM_INFO_FILE_DIR = /resource/messaging/mtm
+PRINTER_DRIVER_DIR = /resource/printers
+SHARED_LIB_DIR = /sys/bin
+UIKLAF_RESOURCE_DIR = /resource/uiklaf
+WAPPUSH_PLUGIN_RESOURCE_DIR = /resource/messaging/wappush
+WATCHER_PLUGIN_RESOURCE_DIR = /resource/messaging/watchers
+RECOGNISERS_DIR = /sys/bin
+PARSERS_DIR = /sys/bin
+NOTIFIERS_DIR = /sys/bin
+PLUGINS_DIR = /sys/bin
+PLUGINS_1_DIR = /sys/bin
+RESOURCE_FILES_DIR = /resource
+
+CA_CERTIFICATES_DIR = /private/101f72a6
+COMMDB_DIR = /private/100012a5
+SS_CONFIG_FILE_DIR = /private/101f7989/esock
+TRUSTED_FONTS_DIR = /private/10003a16/fonts
+UNTRUSTED_FONT_DIR = /private/10003a16/import/fonts
+WINDOW_SERVER_INI_DIR = /private/10003b20
+SKINS_DIR = /private/10207114
+BOOTDATA_DIR = /resource/bootdata
+
+isEmpty(QT_PLUGINS_BASE_DIR): QT_PLUGINS_BASE_DIR = $$RESOURCE_FILES_DIR/qt$${QT_LIBINFIX}/plugins
+isEmpty(QT_IMPORTS_BASE_DIR): QT_IMPORTS_BASE_DIR = $$RESOURCE_FILES_DIR/qt/imports
+isEmpty(HW_ZDIR): HW_ZDIR = epoc32/data/z
+isEmpty(REG_RESOURCE_DIR): REG_RESOURCE_DIR = /private/10003a3f/apps
+isEmpty(REG_RESOURCE_IMPORT_DIR): REG_RESOURCE_IMPORT_DIR = /private/10003a3f/import/apps
diff --git a/config.profiles/symbian/environment.prf b/config.profiles/symbian/environment.prf
new file mode 100644
index 0000000..09ba90d
--- /dev/null
+++ b/config.profiles/symbian/environment.prf
@@ -0,0 +1,9 @@
+# don't export SQLite on Symbian^3 onwards since it is already in the environment
+CONFIG *= symbian_no_export_sqlite
+
+# STL autodetection in clean builds not working, specify it explicitly
+CONFIG *= stl
+
+
+S60_VERSION = 5.2
+SYMBIAN_VERSION = Symbian3 \ No newline at end of file
diff --git a/config.profiles/symbian/headerexport b/config.profiles/symbian/headerexport
new file mode 100644
index 0000000..e59979c
--- /dev/null
+++ b/config.profiles/symbian/headerexport
@@ -0,0 +1,977 @@
+#!/usr/bin/perl -w
+######################################################################
+#
+# Synchronizes Qt header files - internal development tool.
+#
+# Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+# Contact: Nokia Corporation (qt-info@nokia.com)
+#
+######################################################################
+
+# use packages -------------------------------------------------------
+use File::Basename;
+use File::Path;
+use Cwd;
+use Config;
+use strict;
+
+for (my $i = 0; $i < $#ARGV; $i++) {
+ if ($ARGV[$i] eq "-base-dir" && $i < $#ARGV - 1) {
+ $ENV{"QTDIR"} = $ARGV[$i + 1];
+ last;
+ }
+}
+
+die "syncqt: QTDIR not defined" if ! $ENV{"QTDIR"}; # sanity check
+
+# global variables
+my $isunix = 0;
+my $basedir = $ENV{"QTDIR"};
+$basedir =~ s=\\=/=g;
+my %modules = ( # path to module name map
+ "QtGui" => "$basedir/src/gui",
+ "QtOpenGL" => "$basedir/src/opengl",
+ "QtOpenVG" => "$basedir/src/openvg",
+ "QtCore" => "$basedir/src/corelib",
+ "QtXml" => "$basedir/src/xml",
+ "QtXmlPatterns" => "$basedir/src/xmlpatterns",
+ "QtSql" => "$basedir/src/sql",
+ "QtNetwork" => "$basedir/src/network",
+ "QtSvg" => "$basedir/src/svg",
+ "QtDeclarative" => "$basedir/src/declarative",
+ "QtScript" => "$basedir/src/script",
+ "QtScriptTools" => "$basedir/src/scripttools",
+ "Qt3Support" => "$basedir/src/qt3support",
+ "ActiveQt" => "$basedir/src/activeqt",
+ "QtTest" => "$basedir/src/testlib",
+ "QtHelp" => "$basedir/tools/assistant/lib",
+ "QtDesigner" => "$basedir/tools/designer/src/lib",
+ "QtUiTools" => "$basedir/tools/designer/src/uitools",
+ "QtDBus" => "$basedir/src/dbus",
+ "phonon" => "$basedir/src/phonon",
+ "QtMultimedia" => "$basedir/src/multimedia",
+ "QtMeeGoGraphicsSystemHelper" => "$basedir/tools/qmeegographicssystemhelper",
+);
+my %moduleheaders = ( # restrict the module headers to those found in relative path
+ "QtWebKit" => "../WebKit/qt/Api",
+ "phonon" => "../3rdparty/phonon/phonon",
+);
+
+#$modules{"QtCore"} .= ";$basedir/mkspecs/" . $ENV{"MKSPEC"} if defined $ENV{"MKSPEC"};
+
+# global variables (modified by options)
+my $force_win = 0;
+my $check_includes = 0;
+my $create_uic_class_map = 1;
+my @modules_to_sync ;
+my $out_basedir = $basedir;
+$out_basedir =~ s=\\=/=g;
+
+# functions ----------------------------------------------------------
+
+######################################################################
+# Syntax: showUsage()
+# Params: -none-
+#
+# Purpose: Show the usage of the script.
+# Returns: -none-
+######################################################################
+sub showUsage
+{
+ print "$0 usage:\n";
+ print " -windows Force platform to Windows (default: " . ($force_win ? "yes" : "no") . ")\n";
+ print " -outdir <PATH> Specify output directory for sync (default: $out_basedir)\n";
+ print " -help This help\n";
+ exit 0;
+}
+
+######################################################################
+# Syntax: checkUnix()
+# Params: -none-
+#
+# Purpose: Check if script runs on a Unix system or not. Cygwin
+# systems are _not_ detected as Unix systems.
+# Returns: 1 if a unix system, else 0.
+######################################################################
+sub checkUnix {
+ my ($r) = 0;
+ if ( $force_win != 0) {
+ return 0;
+ } elsif ( -f "/bin/uname" ) {
+ $r = 1;
+ (-f "\\bin\\uname") && ($r = 0);
+ } elsif ( -f "/usr/bin/uname" ) {
+ $r = 1;
+ (-f "\\usr\\bin\\uname") && ($r = 0);
+ }
+ if($r) {
+ $_ = $Config{'osname'};
+ $r = 0 if( /(ms)|(cyg)win/i );
+ }
+ return $r;
+}
+
+sub checkRelative {
+ my ($dir) = @_;
+ return 0 if($dir =~ /^\//);
+ return 0 if(!checkUnix() && $dir =~ /[a-zA-Z]:[\/\\]/);
+ return 1;
+}
+
+######################################################################
+# Syntax: shouldMasterInclude(iheader)
+# Params: iheader, string, filename to verify inclusion
+#
+# Purpose: Determines if header should be in the master include file.
+# Returns: 0 if file contains "#pragma qt_no_master_include" or not
+# able to open, else 1.
+######################################################################
+sub shouldMasterInclude {
+ my ($iheader) = @_;
+ return 0 if(basename($iheader) =~ /_/);
+ return 0 if(basename($iheader) =~ /qconfig/);
+ if(open(F, "<$iheader")) {
+ while(<F>) {
+ chomp;
+ return 0 if(/^\#pragma qt_no_master_include$/);
+ }
+ close(F);
+ } else {
+ return 0;
+ }
+ return 1;
+}
+
+######################################################################
+# Syntax: classNames(iheader)
+# Params: iheader, string, filename to parse for classname "symlinks"
+#
+# Purpose: Scans through iheader to find all classnames that should be
+# synced into library's include structure.
+# Returns: List of all class names in a file.
+######################################################################
+sub classNames {
+ my @ret;
+ my ($iheader) = @_;
+ if(basename($iheader) eq "qglobal.h") {
+ push @ret, "QtGlobal";
+ } elsif(basename($iheader) eq "qendian.h") {
+ push @ret, "QtEndian";
+ } elsif(basename($iheader) eq "qconfig.h") {
+ push @ret, "QtConfig";
+ } elsif(basename($iheader) eq "qplugin.h") {
+ push @ret, "QtPlugin";
+ } elsif(basename($iheader) eq "qalgorithms.h") {
+ push @ret, "QtAlgorithms";
+ } elsif(basename($iheader) eq "qcontainerfwd.h") {
+ push @ret, "QtContainerFwd";
+ } elsif(basename($iheader) eq "qdebug.h") {
+ push @ret, "QtDebug";
+ } elsif(basename($iheader) eq "qevent.h") {
+ push @ret, "QtEvents";
+ } elsif(basename($iheader) eq "qnamespace.h") {
+ push @ret, "Qt"
+ } elsif(basename($iheader) eq "qssl.h") {
+ push @ret, "QSsl";
+ } elsif(basename($iheader) eq "qtest.h") {
+ push @ret, "QTest"
+ } elsif(basename($iheader) eq "qtconcurrentmap.h") {
+ push @ret, "QtConcurrentMap"
+ } elsif(basename($iheader) eq "qtconcurrentfilter.h") {
+ push @ret, "QtConcurrentFilter"
+ } elsif(basename($iheader) eq "qtconcurrentrun.h") {
+ push @ret, "QtConcurrentRun"
+ } elsif(basename($iheader) eq "qaudio.h") {
+ push @ret, "QAudio"
+ }
+
+ my $parsable = "";
+ if(open(F, "<$iheader")) {
+ while(<F>) {
+ my $line = $_;
+ chomp $line;
+ chop $line if ($line =~ /\r$/);
+ if($line =~ /^\#/) {
+ if($line =~ /\\$/) {
+ while($line = <F>) {
+ chomp $line;
+ last unless($line =~ /\\$/);
+ }
+ }
+ return @ret if($line =~ m/^#pragma qt_sync_stop_processing/);
+ push(@ret, $1) if($line =~ m/^#pragma qt_class\(([^)]*)\)[\r\n]*$/);
+ $line = 0;
+ }
+ if($line) {
+ $line =~ s,//.*$,,; #remove c++ comments
+ $line .= ";" if($line =~ m/^Q_[A-Z_]*\(.*\)[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro
+ $parsable .= " " . $line;
+ }
+ }
+ close(F);
+ }
+
+ my $last_definition = 0;
+ my @namespaces;
+ for(my $i = 0; $i < length($parsable); $i++) {
+ my $definition = 0;
+ my $character = substr($parsable, $i, 1);
+ if($character eq "/" && substr($parsable, $i+1, 1) eq "*") { #I parse like this for greedy reasons
+ for($i+=2; $i < length($parsable); $i++) {
+ my $end = substr($parsable, $i, 2);
+ if($end eq "*/") {
+ $last_definition = $i+2;
+ $i++;
+ last;
+ }
+ }
+ } elsif($character eq "{") {
+ my $brace_depth = 1;
+ my $block_start = $i + 1;
+ BLOCK: for($i+=1; $i < length($parsable); $i++) {
+ my $ignore = substr($parsable, $i, 1);
+ if($ignore eq "{") {
+ $brace_depth++;
+ } elsif($ignore eq "}") {
+ $brace_depth--;
+ unless($brace_depth) {
+ for(my $i2 = $i+1; $i2 < length($parsable); $i2++) {
+ my $end = substr($parsable, $i2, 1);
+ if($end eq ";" || $end ne " ") {
+ $definition = substr($parsable, $last_definition, $block_start - $last_definition) . "}";
+ $i = $i2 if($end eq ";");
+ $last_definition = $i + 1;
+ last BLOCK;
+ }
+ }
+ }
+ }
+ }
+ } elsif($character eq ";") {
+ $definition = substr($parsable, $last_definition, $i - $last_definition + 1);
+ $last_definition = $i + 1;
+ } elsif($character eq "}") {
+ # a naked } must be a namespace ending
+ # if it's not a namespace, it's eaten by the loop above
+ pop @namespaces;
+ $last_definition = $i + 1;
+ }
+
+ if (substr($parsable, $last_definition, $i - $last_definition + 1) =~ m/ namespace ([^ ]*) /
+ && substr($parsable, $i+1, 1) eq "{") {
+ push @namespaces, $1;
+
+ # Eat the opening { so that the condensing loop above doesn't see it
+ $i++;
+ $last_definition = $i + 1;
+ }
+
+ if($definition) {
+ $definition =~ s=[\n\r]==g;
+ my @symbols;
+ if($definition =~ m/^ *typedef *.*\(\*([^\)]*)\)\(.*\);$/) {
+ push @symbols, $1;
+ } elsif($definition =~ m/^ *typedef +(.*) +([^ ]*);$/) {
+ push @symbols, $2;
+ } elsif($definition =~ m/^ *(template *<.*> *)?(class|struct) +([^ ]* +)?([^<\s]+) ?(<[^>]*> ?)?\s*((,|:)\s*(public|protected|private) *.*)? *\{\}$/) {
+ push @symbols, $4;
+ } elsif($definition =~ m/^ *Q_DECLARE_.*ITERATOR\((.*)\);$/) {
+ push @symbols, "Q" . $1 . "Iterator";
+ push @symbols, "QMutable" . $1 . "Iterator";
+ }
+
+ foreach my $symbol (@symbols) {
+ $symbol = (join("::", @namespaces) . "::" . $symbol) if (scalar @namespaces);
+ push @ret, $symbol
+ if ($symbol =~ /^Q[^:]*$/ # no-namespace, starting with Q
+ || $symbol =~ /^Phonon::/); # or in the Phonon namespace
+ }
+ }
+ }
+ return @ret;
+}
+
+######################################################################
+# Syntax: syncHeader(header, iheader, copy)
+# Params: header, string, filename to create "symlink" for
+# iheader, string, destination name of symlink
+# copy, forces header to be a copy of iheader
+#
+# Purpose: Syncronizes header to iheader
+# Returns: 1 if successful, else 0.
+######################################################################
+sub syncHeader {
+ my ($header, $iheader, $copy) = @_;
+ $iheader =~ s=\\=/=g;
+ $header =~ s=\\=/=g;
+ return copyFile($iheader, $header) if($copy);
+
+ unless(-e $header) {
+ my $header_dir = dirname($header);
+ mkpath $header_dir;
+
+ #write it
+ my $iheader_out = fixPaths($iheader, $header_dir);
+ open HEADER, ">$header" || die "Could not open $header for writing!\n";
+ print HEADER "#include \"$iheader_out\"\n";
+ close HEADER;
+ return 1;
+ }
+ return 0;
+}
+
+######################################################################
+# Syntax: fixPaths(file, dir)
+# Params: file, string, filepath to be made relative to dir
+# dir, string, dirpath for point of origin
+#
+# Purpose: file is made relative (if possible) of dir.
+# Returns: String with the above applied conversion.
+######################################################################
+sub fixPaths {
+ my ($file, $dir) = @_;
+ $dir =~ s=^$basedir/=$out_basedir/= if(!($basedir eq $out_basedir));
+ $file =~ s=\\=/=g;
+ $file =~ s/\+/\\+/g;
+ $dir =~ s=\\=/=g;
+ $dir =~ s/\+/\\+/g;
+
+ #setup
+ my $ret = $file;
+ $ret =~ s,/cygdrive/([a-zA-Z])/,$1:/,g;
+ my $file_dir = dirname($file);
+ if($file_dir eq ".") {
+ $file_dir = getcwd();
+ $file_dir =~ s=\\=/=g;
+ }
+ $file_dir =~ s,/cygdrive/([a-zA-Z])/,$1:/,g;
+ if($dir eq ".") {
+ $dir = getcwd();
+ $dir =~ s=\\=/=g;
+ }
+ $dir =~ s,/cygdrive/([a-zA-Z])/,$1:/,g;
+ return basename($file) if($file_dir eq $dir);
+
+ #guts
+ my $match_dir = 0;
+ for(my $i = 1; $i < length($file_dir); $i++) {
+ my $slash = index($file_dir, "/", $i);
+ last if($slash == -1);
+ my $tmp = substr($file_dir, 0, $slash);
+ last unless($dir =~ m,^$tmp/,);
+ $match_dir = $tmp;
+ $i = $slash;
+ }
+ if($match_dir) {
+ my $after = substr($dir, length($match_dir));
+ my $count = ($after =~ tr,/,,);
+ my $dots = "";
+ for(my $i = 0; $i < $count; $i++) {
+ $dots .= "../";
+ }
+ $ret =~ s,^$match_dir,$dots,;
+ }
+ $ret =~ s,/+,/,g;
+ return $ret;
+}
+
+######################################################################
+# Syntax: fileContents(filename)
+# Params: filename, string, filename of file to return contents
+#
+# Purpose: Get the contents of a file.
+# Returns: String with contents of the file, or empty string if file
+# doens't exist.
+# Warning: Dies if it does exist but script cannot get read access.
+######################################################################
+sub fileContents {
+ my ($filename) = @_;
+ my $filecontents = "";
+ if (-e $filename) {
+ open(I, "< $filename") || die "Could not open $filename for reading, read block?";
+ local $/;
+ binmode I;
+ $filecontents = <I>;
+ close I;
+ }
+ return $filecontents;
+}
+
+######################################################################
+# Syntax: fileCompare(file1, file2)
+# Params: file1, string, filename of first file
+# file2, string, filename of second file
+#
+# Purpose: Determines if files are equal, and which one is newer.
+# Returns: 0 if files are equal no matter the timestamp, -1 if file1
+# is newer, 1 if file2 is newer.
+######################################################################
+sub fileCompare {
+ my ($file1, $file2) = @_;
+ my $file1contents = fileContents($file1);
+ my $file2contents = fileContents($file2);
+ if (! -e $file1) { return 1; }
+ if (! -e $file2) { return -1; }
+ return $file1contents ne $file2contents ? (stat($file2))[9] <=> (stat($file1))[9] : 0;
+}
+
+######################################################################
+# Syntax: copyFile(file, ifile)
+# Params: file, string, filename to create duplicate for
+# ifile, string, destination name of duplicate
+#
+# Purpose: Keeps files in sync so changes in the newer file will be
+# written to the other.
+# Returns: 1 if files were synced, else 0.
+# Warning: Dies if script cannot get write access.
+######################################################################
+sub copyFile
+{
+ my ($file,$ifile, $copy,$knowdiff,$filecontents,$ifilecontents) = @_;
+
+ open( I, "< " . $file ) || die "Could not open $file for reading";
+ local $/;
+ binmode I;
+ $filecontents = <I>;
+ close I;
+
+ my $ifile_dir = dirname($ifile);
+ mkpath $ifile_dir unless(-e $ifile_dir);
+ open(O, "> " . $ifile) || die "Could not open $ifile for writing (no write permission?)";
+ local $/;
+ binmode O;
+ print O $filecontents;
+ close O;
+ return 1;
+}
+
+######################################################################
+# Syntax: findFiles(dir, match, descend)
+# Params: dir, string, directory to search for name
+# match, string, regular expression to match in dir
+# descend, integer, 0 = non-recursive search
+# 1 = recurse search into subdirectories
+#
+# Purpose: Finds files matching a regular expression.
+# Returns: List of matching files.
+#
+# Examples:
+# findFiles("/usr","\.cpp$",1) - finds .cpp files in /usr and below
+# findFiles("/tmp","^#",0) - finds #* files in /tmp
+######################################################################
+sub findFiles {
+ my ($dir,$match,$descend) = @_;
+ my ($file,$p,@files);
+ local(*D);
+ $dir =~ s=\\=/=g;
+ ($dir eq "") && ($dir = ".");
+ if ( opendir(D,$dir) ) {
+ if ( $dir eq "." ) {
+ $dir = "";
+ } else {
+ ($dir =~ /\/$/) || ($dir .= "/");
+ }
+ foreach $file ( sort readdir(D) ) {
+ next if ( $file =~ /^\.\.?$/ );
+ $p = $file;
+ ($file =~ /$match/) && (push @files, $p);
+ if ( $descend && -d $p && ! -l $p ) {
+ push @files, &findFiles($p,$match,$descend);
+ }
+ }
+ closedir(D);
+ }
+ return @files;
+}
+
+# --------------------------------------------------------------------
+# "main" function
+# --------------------------------------------------------------------
+
+while ( @ARGV ) {
+ my $var = 0;
+ my $val = 0;
+
+ #parse
+ my $arg = shift @ARGV;
+ if ($arg eq "-h" || $arg eq "-help" || $arg eq "?") {
+ $var = "show_help";
+ $val = "yes";
+ } elsif($arg eq "-o" || $arg eq "-outdir") {
+ $var = "output";
+ $val = shift @ARGV;
+ } elsif($arg eq "-showonly" || $arg eq "-remove-stale" || $arg eq "-windows" ||
+ $arg eq "-relative" || $arg eq "-check-includes") {
+ $var = substr($arg, 1);
+ $val = "yes";
+ } elsif($arg =~ /^-no-(.*)$/) {
+ $var = $1;
+ $val = "no";
+ #these are for commandline compat
+ } elsif($arg eq "-inc") {
+ $var = "output";
+ $val = shift @ARGV;
+ } elsif($arg eq "-base-dir") {
+ # skip, it's been dealt with at the top of the file
+ shift @ARGV;
+ next;
+ }
+
+ #do something
+ if(!$var || $var eq "show_help") {
+ print "Unknown option: $arg\n\n" if(!$var);
+ showUsage();
+ } elsif ($var eq "check-includes") {
+ if($val eq "yes") {
+ $check_includes++;
+ } elsif($check_includes) {
+ $check_includes--;
+ }
+ } elsif ($var eq "windows") {
+ if($val eq "yes") {
+ $force_win++;
+ } elsif($force_win) {
+ $force_win--;
+ }
+ } elsif ($var eq "output") {
+ my $outdir = $val;
+ if(checkRelative($outdir)) {
+ $out_basedir = getcwd();
+ chomp $out_basedir;
+ $out_basedir .= "/" . $outdir;
+ } else {
+ $out_basedir = $outdir;
+ }
+ # \ -> /
+ $out_basedir =~ s=\\=/=g;
+ }
+}
+@modules_to_sync = keys(%modules) if($#modules_to_sync == -1);
+
+$isunix = checkUnix; #cache checkUnix
+
+# create path
+mkpath "$out_basedir/include";
+mkpath "$out_basedir/mw/Qt";
+
+my @ignore_headers = ();
+my $class_lib_map_contents = "";
+my @ignore_for_master_contents = ( "qt.h", "qpaintdevicedefs.h" );
+my @ignore_for_include_check = ( "qatomic.h" );
+my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" );
+my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h" );
+my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" );
+my %colliding_headers = ();
+my %inject_headers;
+# Force generation of forwarding header for qconfig.h if (and only if) we can't
+# find the header by normal means.
+%inject_headers = ( "$basedir/src/corelib/global" => ( "*qconfig.h" ) ) unless (-e "$basedir/src/corelib/global/qconfig.h");
+
+foreach my $lib (@modules_to_sync) {
+ #iteration info
+ my $dir = $modules{$lib};
+ my $pathtoheaders = "";
+ $pathtoheaders = $moduleheaders{$lib} if ($moduleheaders{$lib});
+
+ #information used after the syncing
+ my $pri_install_classes = "";
+ my $pri_install_files = "";
+ my $pri_install_pfiles = "";
+
+ my $libcapitals = $lib;
+ $libcapitals =~ y/a-z/A-Z/;
+ my $master_contents = "#ifndef QT_".$libcapitals."_MODULE_H\n#define QT_".$libcapitals."_MODULE_H\n";
+
+ #get dependencies
+ if(-e "$dir/" . basename($dir) . ".pro") {
+ if(open(F, "<$dir/" . basename($dir) . ".pro")) {
+ while(my $line = <F>) {
+ chomp $line;
+ if($line =~ /^ *QT *\+?= *([^\r\n]*)/) {
+ foreach(split(/ /, $1)) {
+ $master_contents .= "#include <QtCore/QtCore>\n" if($_ eq "core");
+ $master_contents .= "#include <QtGui/QtGui>\n" if($_ eq "gui");
+ $master_contents .= "#include <QtNetwork/QtNetwork>\n" if($_ eq "network");
+ $master_contents .= "#include <QtSvg/QtSvg>\n" if($_ eq "svg");
+ $master_contents .= "#include <QtDeclarative/QtDeclarative>\n" if($_ eq "declarative");
+ $master_contents .= "#include <QtScript/QtScript>\n" if($_ eq "script");
+ $master_contents .= "#include <QtScriptTools/QtScriptTools>\n" if($_ eq "scripttools");
+ $master_contents .= "#include <Qt3Support/Qt3Support>\n" if($_ eq "qt3support");
+ $master_contents .= "#include <QtSql/QtSql>\n" if($_ eq "sql");
+ $master_contents .= "#include <QtXml/QtXml>\n" if($_ eq "xml");
+ $master_contents .= "#include <QtXmlPatterns/QtXmlPatterns>\n" if($_ eq "xmlpatterns");
+ $master_contents .= "#include <QtOpenGL/QtOpenGL>\n" if($_ eq "opengl");
+ $master_contents .= "#include <QtOpenVG/QtOpenVG>\n" if($_ eq "openvg");
+ }
+ }
+ }
+ close(F);
+ }
+ }
+
+ #remove the old files
+ my @subdirs = ("$out_basedir/mw/$lib");
+ foreach my $subdir (@subdirs) {
+ if (opendir DIR, $subdir) {
+ while(my $t = readdir(DIR)) {
+ my $file = "$subdir/$t";
+ if(-d $file) {
+ push @subdirs, $file unless($t eq "." || $t eq "..");
+ } else {
+ my @files = ($file);
+ #push @files, "$out_basedir/mw/Qt/$t" if(-e "$out_basedir/mw/Qt/$t");
+ foreach my $file (@files) {
+ my $remove_file = 0;
+ if(open(F, "<$file")) {
+ while(my $line = <F>) {
+ chomp $line;
+ if($line =~ /^\#include \"([^\"]*)\"$/) {
+ my $include = $1;
+ $include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/");
+ $remove_file = 1 unless(-e $include);
+ } else {
+ $remove_file = 0;
+ last;
+ }
+ }
+ close(F);
+ unlink $file if($remove_file);
+ }
+ }
+ }
+ }
+ closedir DIR;
+ }
+
+ }
+
+ #create the new ones
+ foreach my $current_dir (split(/;/, $dir)) {
+ my $headers_dir = $current_dir;
+ $headers_dir .= "/$pathtoheaders" if ($pathtoheaders);
+ #calc subdirs
+ my @subdirs = ($headers_dir);
+ foreach my $subdir (@subdirs) {
+ opendir DIR, $subdir or next;
+ while(my $t = readdir(DIR)) {
+ push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") &&
+ !($t eq "..") && !($t eq ".obj") &&
+ !($t eq ".moc") && !($t eq ".rcc") &&
+ !($t eq ".uic") && !($t eq "build"));
+ }
+ closedir DIR;
+ }
+
+ #calc files and "copy" them
+ foreach my $subdir (@subdirs) {
+ my @headers = findFiles($subdir, "^[-a-z0-9_]*\\.h\$" , 0);
+ push @headers, $inject_headers{$subdir} if (defined $inject_headers{$subdir});
+ foreach my $header (@headers) {
+ my $shadow = ($header =~ s/^\*//);
+ $header = 0 if($header =~ /^ui_.*.h/);
+ foreach (@ignore_headers) {
+ $header = 0 if($header eq $_);
+ }
+ if($header) {
+ my $header_copies = 0;
+ #figure out if it is a public header
+ my $public_header = $header;
+ if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
+ $public_header = 0;
+ } else {
+ foreach (@ignore_for_master_contents) {
+ $public_header = 0 if($header eq $_);
+ }
+ }
+
+ my $iheader = $subdir . "/" . $header;
+ $iheader =~ s/^\Q$basedir\E/$out_basedir/ if ($shadow);
+ my @classes = $public_header ? classNames($iheader) : ();
+
+ #find out all the places it goes..
+ my @headers;
+ if ($public_header) {
+ @headers = ( "$out_basedir/mw/$lib/$header" );
+
+ # write forwarding headers to include/Qt
+ if ($lib ne "phonon" && $subdir =~ /^$basedir\/src/) {
+ my $file_name = "$out_basedir/mw/Qt/$header";
+ my $file_op = '>';
+ my $header_content = '';
+ if (exists $colliding_headers{$file_name}) {
+ $file_op = '>>';
+ } else {
+ $colliding_headers{$file_name} = 1;
+ my $warning_msg = 'Inclusion of header files from include/Qt is deprecated.';
+ $header_content = "#ifndef QT_NO_QT_INCLUDE_WARN\n" .
+ " #if defined(__GNUC__)\n" .
+ " #warning \"$warning_msg\"\n" .
+ " #elif defined(_MSC_VER)\n" .
+ " #pragma message(\"WARNING: $warning_msg\")\n" .
+ " #endif\n".
+ "#endif\n\n";
+ }
+ $header_content .= '#include "' . "../$lib/$header" . "\"\n";
+ open HEADERFILE, $file_op, $file_name or die "unable to open '$file_name' : $!\n";
+ print HEADERFILE $header_content;
+ close HEADERFILE;
+ }
+
+ foreach my $full_class (@classes) {
+ my $header_base = basename($header);
+ # Strip namespaces:
+ my $class = $full_class;
+ $class =~ s/^.*:://;
+# if ($class =~ m/::/) {
+# class =~ s,::,/,g;
+# }
+ $class_lib_map_contents .= "QT_CLASS_LIB($full_class, $lib, $header_base)\n";
+ $header_copies++ if(syncHeader("$out_basedir/mw/$lib/$class", "$out_basedir/mw/$lib/$header", 0));
+
+ # KDE-Compat headers for Phonon
+ if ($lib eq "phonon") {
+ $header_copies++ if (syncHeader("$out_basedir/mw/phonon_compat/Phonon/$class", "$out_basedir/mw/$lib/$header", 0));
+ }
+ }
+ } else {
+ @headers = ( "$out_basedir/mw/$lib/private/$header" );
+ }
+ foreach(@headers) { #sync them
+ $header_copies++ if(syncHeader($_, $iheader, 1));
+ }
+
+ if($public_header) {
+ #put it into the master file
+ $master_contents .= "#include \"$public_header\"\n" if(shouldMasterInclude($iheader));
+
+ #deal with the install directives
+ if($public_header) {
+ my $pri_install_iheader = fixPaths($iheader, $current_dir);
+ foreach my $class (@classes) {
+ # Strip namespaces:
+ $class =~ s/^.*:://;
+# if ($class =~ m/::/) {
+# $class =~ s,::,/,g;
+# }
+ my $class_header = fixPaths("$out_basedir/mw/$lib/$class",
+ $current_dir) . " ";
+ $pri_install_classes .= $class_header
+ unless($pri_install_classes =~ $class_header);
+ }
+ $pri_install_files.= "$pri_install_iheader ";;
+ }
+ }
+ else {
+ my $pri_install_iheader = fixPaths($iheader, $current_dir);
+ $pri_install_pfiles.= "$pri_install_iheader ";;
+ }
+ print "header created for $iheader ($header_copies)\n" if($header_copies > 0);
+ }
+ }
+ }
+ }
+
+ # close the master include:
+ $master_contents .= "#endif\n";
+
+ my @master_includes;
+ push @master_includes, "$out_basedir/mw/$lib/$lib";
+ push @master_includes, "$out_basedir/mw/phonon_compat/Phonon/Phonon" if ($lib eq "phonon");
+ foreach my $master_include (@master_includes) {
+ #generate the "master" include file
+ my @tmp = split(/;/,$modules{$lib});
+ $pri_install_files .= fixPaths($master_include, $tmp[0]) . " "; #get the master file installed too
+ if($master_include && -e $master_include) {
+ open MASTERINCLUDE, "<$master_include";
+ local $/;
+ binmode MASTERINCLUDE;
+ my $oldmaster = <MASTERINCLUDE>;
+ close MASTERINCLUDE;
+ $oldmaster =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
+ $master_include = 0 if($oldmaster eq $master_contents);
+ }
+ if($master_include && $master_contents) {
+ my $master_dir = dirname($master_include);
+ mkpath $master_dir;
+ print "header (master) created for $lib\n";
+ open MASTERINCLUDE, ">$master_include";
+ print MASTERINCLUDE $master_contents;
+ close MASTERINCLUDE;
+ }
+ }
+
+ #handle the headers.pri for each module
+ my $headers_pri_contents = "";
+ $headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n";
+ $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n";
+ $headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
+ my $headers_pri_file = "$out_basedir/mw/$lib/headers.pri";
+ if(-e $headers_pri_file) {
+ open HEADERS_PRI_FILE, "<$headers_pri_file";
+ local $/;
+ binmode HEADERS_PRI_FILE;
+ my $old_headers_pri_contents = <HEADERS_PRI_FILE>;
+ close HEADERS_PRI_FILE;
+ $old_headers_pri_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
+ $headers_pri_file = 0 if($old_headers_pri_contents eq $headers_pri_contents);
+ }
+ if($headers_pri_file && $master_contents) {
+ my $headers_pri_dir = dirname($headers_pri_file);
+ mkpath $headers_pri_dir;
+ print "headers.pri file created for $lib\n";
+ open HEADERS_PRI_FILE, ">$headers_pri_file";
+ print HEADERS_PRI_FILE $headers_pri_contents;
+ close HEADERS_PRI_FILE;
+ }
+}
+unless(!$create_uic_class_map) {
+ my $class_lib_map = "$out_basedir/src/tools/uic/qclass_lib_map.h";
+ if(-e $class_lib_map) {
+ open CLASS_LIB_MAP, "<$class_lib_map";
+ local $/;
+ binmode CLASS_LIB_MAP;
+ my $old_class_lib_map_contents = <CLASS_LIB_MAP>;
+ close CLASS_LIB_MAP;
+ $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
+ $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents);
+ }
+ if($class_lib_map) {
+ my $class_lib_map_dir = dirname($class_lib_map);
+ mkpath $class_lib_map_dir;
+ open CLASS_LIB_MAP, ">$class_lib_map";
+ print CLASS_LIB_MAP $class_lib_map_contents;
+ close CLASS_LIB_MAP;
+ }
+}
+
+if($check_includes) {
+ for my $lib (keys(%modules)) {
+ #calc subdirs
+ my @subdirs = ($modules{$lib});
+ foreach my $subdir (@subdirs) {
+ opendir DIR, $subdir or die "Huh, directory ".$subdir." cannot be opened.";
+ while(my $t = readdir(DIR)) {
+ push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") &&
+ !($t eq "..") && !($t eq ".obj") &&
+ !($t eq ".moc") && !($t eq ".rcc") &&
+ !($t eq ".uic") && !($t eq "build"));
+ }
+ closedir DIR;
+ }
+
+ foreach my $subdir (@subdirs) {
+ my $header_skip_qt_module_test = 0;
+ foreach(@ignore_for_qt_module_check) {
+ foreach (split(/;/, $_)) {
+ $header_skip_qt_module_test = 1 if ($subdir =~ /^$_/);
+ }
+ }
+ my @headers = findFiles($subdir, "^[-a-z0-9_]*\\.h\$" , 0);
+ foreach my $header (@headers) {
+ my $header_skip_qt_begin_header_test = 0;
+ my $header_skip_qt_begin_namespace_test = 0;
+ $header = 0 if($header =~ /^ui_.*.h/);
+ foreach (@ignore_headers) {
+ $header = 0 if($header eq $_);
+ }
+ if($header) {
+ my $public_header = $header;
+ if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
+ $public_header = 0;
+ } else {
+ foreach (@ignore_for_master_contents) {
+ $public_header = 0 if($header eq $_);
+ }
+ if($public_header) {
+ foreach (@ignore_for_include_check) {
+ $public_header = 0 if($header eq $_);
+ }
+ foreach(@ignore_for_qt_begin_header_check) {
+ $header_skip_qt_begin_header_test = 1 if ($header eq $_);
+ }
+ foreach(@ignore_for_qt_begin_namespace_check) {
+ $header_skip_qt_begin_namespace_test = 1 if ($header eq $_);
+ }
+ }
+ }
+
+ my $iheader = $subdir . "/" . $header;
+ if($public_header) {
+ if(open(F, "<$iheader")) {
+ my $qt_module_found = 0;
+ my $qt_begin_header_found = 0;
+ my $qt_end_header_found = 0;
+ my $qt_begin_namespace_found = 0;
+ my $qt_end_namespace_found = 0;
+ my $line;
+ while($line = <F>) {
+ chomp $line;
+ my $output_line = 1;
+ if($line =~ /^ *\# *pragma (qt_no_included_check|qt_sync_stop_processing)/) {
+ last;
+ } elsif($line =~ /^ *\# *include/) {
+ my $include = $line;
+ if($line =~ /<.*>/) {
+ $include =~ s,.*<(.*)>.*,$1,;
+ } elsif($line =~ /".*"/) {
+ $include =~ s,.*"(.*)".*,$1,;
+ } else {
+ $include = 0;
+ }
+ if($include) {
+ for my $trylib (keys(%modules)) {
+ if(-e "$out_basedir/mw/$trylib/$include") {
+ print "WARNING: $iheader includes $include when it should include $trylib/$include\n";
+ }
+ }
+ }
+ } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_BEGIN_HEADER\s*$/) {
+ $qt_begin_header_found = 1;
+ } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_END_HEADER\s*$/) {
+ $qt_end_header_found = 1;
+ } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE\s*$/) {
+ $qt_begin_namespace_found = 1;
+ } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE\s*$/) {
+ $qt_end_namespace_found = 1;
+ } elsif ($header_skip_qt_module_test == 0 and $line =~ /^QT_MODULE\(.*\)\s*$/) {
+ $qt_module_found = 1;
+ }
+ }
+ if ($header_skip_qt_begin_header_test == 0) {
+ if ($qt_begin_header_found == 0) {
+ print "WARNING: $iheader does not include QT_BEGIN_HEADER\n";
+ }
+
+ if ($qt_begin_header_found && $qt_end_header_found == 0) {
+ print "WARNING: $iheader has QT_BEGIN_HEADER but no QT_END_HEADER\n";
+ }
+ }
+
+ if ($header_skip_qt_begin_namespace_test == 0) {
+ if ($qt_begin_namespace_found == 0) {
+ print "WARNING: $iheader does not include QT_BEGIN_NAMESPACE\n";
+ }
+
+ if ($qt_begin_namespace_found && $qt_end_namespace_found == 0) {
+ print "WARNING: $iheader has QT_BEGIN_NAMESPACE but no QT_END_NAMESPACE\n";
+ }
+ }
+
+ if ($header_skip_qt_module_test == 0) {
+ if ($qt_module_found == 0) {
+ print "WARNING: $iheader does not include QT_MODULE\n";
+ }
+ }
+ close(F);
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+exit 0;
diff --git a/config.profiles/symbian/implml/qt_copy.implml b/config.profiles/symbian/implml/qt_copy.implml
new file mode 100644
index 0000000..53d600e
--- /dev/null
+++ b/config.profiles/symbian/implml/qt_copy.implml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<container xmlns="http://www.symbianfoundation.org/xml/implml/1"
+ condition="${qt.Enabled}">
+ <tag name="target" value="uda" />
+ <content xmlns="http://www.s60.com/xml/content/2">
+ <output dir="sis" flatten="true">
+ <input file="sis/qt.sisx" />
+ </output>
+ </content>
+</container>
diff --git a/config.profiles/symbian/layers.sysdef.xml b/config.profiles/symbian/layers.sysdef.xml
new file mode 100644
index 0000000..19d8662
--- /dev/null
+++ b/config.profiles/symbian/layers.sysdef.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
+ <!-- location of Qt in the platform source tree -->
+ <!ENTITY layer_real_source_path "sf/mw/qt" >
+
+ <!-- location of our configuration files -->
+ <!ENTITY config_path "config.profiles/symbian" >
+]>
+
+<SystemDefinition name="qt" schema="1.5.1">
+ <systemModel>
+ <layer name="tools_layer">
+ <module name="qtconf">
+ <unit unitID="qtdo.qt.qtconf" mrp="" bldFile="&layer_real_source_path;/&config_path;" name="qtconf" />
+ </module>
+ </layer>
+ <layer name="mw_layer">
+ <module name="qt">
+ <unit unitID="qtdo.qt" mrp="" bldFile="&layer_real_source_path;" name="qt" proFile="projects.pro" qmakeArgs="-r"/>
+ </module>
+
+ <module name="qtlocalization">
+ <unit unitID="qtdo.qt.localization" mrp="" bldFile="&layer_real_source_path;/&config_path;/translations_symbian" name="qtlocalization" proFile="translations.pro" qmakeArgs="-r"/>
+ </module>
+ </layer>
+ <layer name="app_layer">
+ <module name="qtdemos">
+ <unit unitID="qtdo.qt.demos" mrp="" bldFile="&layer_real_source_path;/demos" name="qtdemos" proFile="demos.pro" qmakeArgs="-r" filter="qtdemos"/>
+ </module>
+ <module name="qtexamples">
+ <unit unitID="qtdo.qt.examples" mrp="" bldFile="&layer_real_source_path;/examples" name="qtexamples" proFile="examples.pro" qmakeArgs="-r" filter="qtexamples"/>
+ </module>
+ </layer>
+ </systemModel>
+</SystemDefinition>
diff --git a/config.profiles/symbian/loc.prf b/config.profiles/symbian/loc.prf
new file mode 100644
index 0000000..dd0644b
--- /dev/null
+++ b/config.profiles/symbian/loc.prf
@@ -0,0 +1,41 @@
+CONFIG += localize_deployment
+
+qtPrepareTool(LRELEASE, lrelease)
+
+isEmpty(SYMBIANTRANSLATIONSFILES): SYMBIANTRANSLATIONSFILES = $$symbianRemoveSpecialCharacters($$basename(TARGET))
+isEmpty(SYMBIANTRANSLATIONS):exists($${EPOCROOT}epoc32/tools/qt/mkspecs/features/symbian/symbian_i18n.prf) {
+ load($${EPOCROOT}epoc32/tools/qt/mkspecs/features/symbian/symbian_i18n.prf)
+}
+isEmpty(SYMBIANTRANSLATIONDIR): SYMBIANTRANSLATIONDIR = $${EPOCROOT}epoc32/data/z/resource/qt/translations
+isEmpty(SYMBIANWINSCWUDEBTRANSLATIONDIR): SYMBIANWINSCWUDEBTRANSLATIONDIR = $${EPOCROOT}epoc32/release/winscw/udeb/z/resource/qt/translations
+isEmpty(SYMBIANWINSCWURELTRANSLATIONDIR): SYMBIANWINSCWURELTRANSLATIONDIR = $${EPOCROOT}epoc32/release/winscw/urel/z/resource/qt/translations
+
+for(FILE, SYMBIANTRANSLATIONSFILES) {
+ for(LANGID, SYMBIANTRANSLATIONS) {
+ TRANSLATIONS += $${EPOCROOT}epoc32/include/platform/qt/translations/$${FILE}_$${LANGID}.ts
+ }
+}
+
+contains(CONFIG, loc_source_string) {
+ LRELEASE_PARAMS = -qm
+} else {
+ LRELEASE_PARAMS = -idbased -qm
+}
+
+loc.CONFIG = no_link target_predeps
+loc.commands = $$LRELEASE ${QMAKE_FILE_IN} $$LRELEASE_PARAMS ${QMAKE_FILE_OUT}
+loc.input = TRANSLATIONS
+loc.output = $$SYMBIANTRANSLATIONDIR/${QMAKE_FILE_BASE}.qm
+loc.variable_out = GENERATED_QM_FILES
+
+copy_qm_winscw_udeb.CONFIG = no_link target_predeps
+copy_qm_winscw_udeb.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
+copy_qm_winscw_udeb.input = GENERATED_QM_FILES
+copy_qm_winscw_udeb.output = $$SYMBIANWINSCWUDEBTRANSLATIONDIR/${QMAKE_FILE_BASE}.qm
+
+copy_qm_winscw_urel.CONFIG = $$copy_qm_winscw_udeb.CONFIG
+copy_qm_winscw_urel.commands = $$copy_qm_winscw_udeb.commands
+copy_qm_winscw_urel.input = $$copy_qm_winscw_udeb.input
+copy_qm_winscw_urel.output = $$SYMBIANWINSCWURELTRANSLATIONDIR/${QMAKE_FILE_BASE}.qm
+
+QMAKE_EXTRA_COMPILERS += loc copy_qm_winscw_udeb copy_qm_winscw_urel
diff --git a/config.profiles/symbian/non_foundation_paths.prf b/config.profiles/symbian/non_foundation_paths.prf
new file mode 100644
index 0000000..8074ff7
--- /dev/null
+++ b/config.profiles/symbian/non_foundation_paths.prf
@@ -0,0 +1,115 @@
+#
+# ==============================================================================
+# Name : non_foundation_paths.prf
+# Part of :
+# Interface : None foundation code Path Definitions API for Qt/S60
+# Description : Symbian^3 and onwards specific platform paths
+#
+# Usage examples:
+#
+# Note: this file will not added automatically. It needs to be included
+# when needed.
+#
+# Variable usages to add the system include paths
+#
+# The include paths has to be related to the layer in which your SW
+# resides. Thus as an example: a component residing in middleware
+# layer should use the MW specific macro.
+#
+# INCLUDEPATH += $$NON_FOUNDATION_APP_LAYER_SYSTEMINCLUDE
+# INCLUDEPATH += $$NON_FOUNDATION_MW_LAYER_SYSTEMINCLUDE
+# INCLUDEPATH += $$NON_FOUNDATION_OS_LAYER_SYSTEMINCLUDE
+# INCLUDEPATH += $$NON_FOUNDATION_ADAPT_LAYER_SYSTEMINCLUDE
+#
+# Macros related to exporting non-foundation headers into
+# correct place in the new system.
+# NON_FOUNDATION_APP_LAYER_EXPORT_PATH
+# NON_FOUNDATION_MW_LAYER_EXPORT_PATH
+# NON_FOUNDATION_OS_LAYER_EXPORT_PATH
+# NON_FOUNDATION_ADAPT_LAYER_EXPORT_PATH
+#
+# ==============================================================================
+
+# ---------------------------------------
+# Location, where the non-foundation app code should export its headers.
+# These are specific to app layer to which the non-foundation code belongs to.
+# ---------------------------------------
+defineReplace(NON_FOUNDATION_APP_LAYER_EXPORT_PATH) {
+ return (/epoc32/include/ext/app/$$1)
+}
+
+# ---------------------------------------
+# Location, where the non-foundation mw code should export its headers.
+# These are specific to mw layer to which the non-foundation code belongs to.
+# ---------------------------------------
+defineReplace(NON_FOUNDATION_MW_LAYER_EXPORT_PATH) {
+ return (/epoc32/include/ext/mw/$$1)
+}
+
+# ---------------------------------------
+# Location, where the non-foundation os code should export its headers.
+# These are specific to os layer to which the non-foundation code belongs to.
+# ---------------------------------------
+defineReplace(NON_FOUNDATION_OS_LAYER_EXPORT_PATH) {
+ return (/epoc32/include/ext/os/$$1)
+}
+
+# ---------------------------------------
+# Location, where the non-foundation adapt code should export its headers.
+# These are specific to adapt layer to which the non-foundation code belongs to.
+# ---------------------------------------
+# Temporarily commented out to help adaptation side migration
+# defineReplace(NON_FOUNDATION_ADAPT_LAYER_EXPORT_PATH) {
+# return (/epoc32/include/ext/adapt/$$1)
+# }
+
+# **************************************************************************
+# General comments about the 3 define statements related to include paths.
+# It should be enough only to have one of the below macros and one of the include macros
+# from platform_paths.hrh.
+# No other systemincludes to epoc32/include or subdirectories.
+# **************************************************************************
+
+# This define statements defines the SYSTEMINCLUDE-line, which is intended to be
+# used in the mmp-files that are part of the applications-layer.
+#
+# Applications layer is the last one in the list, since most likely the most of
+# the headers come from middleware or os-layer => thus they are first.
+
+NON_FOUNDATION_APP_LAYER_SYSTEMINCLUDE = \
+ /epoc32/include/ext/app \
+ /epoc32/include/ext/mw \
+ /epoc32/include/ext/os
+
+# This define statements defines the SYSTEMINCLUDE-line, which is intended to be
+# used in the mmp-files that are part of the middleware-layer.
+
+NON_FOUNDATION_MW_LAYER_SYSTEMINCLUDE = \
+ /epoc32/include/ext/mw \
+ /epoc32/include/ext/os
+
+# This define statements defines the SYSTEMINCLUDE-line, which is intended to be
+# used in the mmp-files that are part of the os-layer.
+
+NON_FOUNDATION_OS_LAYER_SYSTEMINCLUDE = \
+ /epoc32/include/ext/os
+
+# This define statements defines the SYSTEMINCLUDE-line, which is intended to be
+# used in the mmp-files that are part of the adapt-layer.
+# Temporarily commented out to help adaptation side migration
+# NON_FOUNDATION_ADAPT_LAYER_SYSTEMINCLUDE = \
+# /epoc32/include/ext/os \
+# /epoc32/include/ext/adapt
+
+
+# ****************************************************************************
+# Definitions to export IBY files to different folders where they will be taken
+# to ROM image
+# ****************************************************************************
+
+# Following three definitions are used for exporting IBY files to
+# Core image (ROM+ROFS1). IBY files are exported according to their layer.
+
+defineReplace(NON_FOUNDATION_CORE_ADAPT_LAYER_IBY_EXPORT_PATH) {
+ return (/epoc32/rom/include/$$1)
+}
diff --git a/config.profiles/symbian/package_definition.xml b/config.profiles/symbian/package_definition.xml
new file mode 100644
index 0000000..bfca907
--- /dev/null
+++ b/config.profiles/symbian/package_definition.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0" xmlns:qt="http://www.nokia.com/qt">
+ <!-- qt:qmakeArgs attribute is an unsupported extension used as temporary hack to get this to work with abld.
+ This will be removed when sbsv2 builds are working -->
+ <package id="qt" name="Qt" levels="tool mw app">
+ <collection id="qtconf" name="Qt Config" level="tool">
+ <component id="qt_deviceconfiguration" name="Qt Device Configuration" class="config tool" filter="s60,qt_tools" introduced="^2">
+ <unit bldFile="config.profiles/symbian"/>
+ </component>
+ </collection>
+ <collection id="qt_info" name="Qt Info" level="mw">
+ <component id="qt_build" name="Qt Build" introduced="^2" filter="s60">
+ <unit bldFile="." qt:proFile="projects.pro"/>
+ </component>
+ </collection>
+
+ <collection id="qtlocalization" name="Qt Localization" level="app">
+ <component id="qtlocalization_build" name="Qt localization Build" introduced="^2" filter="s60">
+ <unit bldFile="config.profiles/symbian/translations_symbian" qt:proFile="translations.pro"/>
+ </component>
+ </collection>
+
+ <collection id="qtdemos" name="Qt Demos" level="app">
+ <component id="qtdemos_build" name="Qt Demos Build" introduced="^2" filter="s60,test,qtdemos,build_as_app">
+ <meta rel="testbuild">
+ <group name="qtdemos"/>
+ </meta>
+ <unit bldFile="demos" qt:proFile="demos.pro"/>
+ </component>
+ </collection>
+ <collection id="qtexamples" name="Qt Examples" level="app">
+ <meta rel="qtexamples">
+ <group name="qtdemos"/>
+ </meta>
+ <component id="qtexamples_build" name="Qt Examples Build" introduced="^2" filter="s60,test,qtexamples,build_as_app">
+ <unit bldFile="examples" qt:proFile="examples.pro"/>
+ </component>
+ </collection>
+ </package>
+</SystemDefinition>
diff --git a/config.profiles/symbian/package_map.xml b/config.profiles/symbian/package_map.xml
new file mode 100644
index 0000000..6233095
--- /dev/null
+++ b/config.profiles/symbian/package_map.xml
@@ -0,0 +1 @@
+<PackageMap root="sf" layer="mw"/>
diff --git a/config.profiles/symbian/patches/qmake_listgen.patch b/config.profiles/symbian/patches/qmake_listgen.patch
new file mode 100644
index 0000000..b6224ce
--- /dev/null
+++ b/config.profiles/symbian/patches/qmake_listgen.patch
@@ -0,0 +1,47 @@
+commit b2d4d498faa3c532372838ffa287906fdafdc3c6
+Author: Eckhart Koppen <eckhart.koppen@nokia.com>
+Date: Fri Nov 19 17:31:36 2010 +0200
+
+ Added -listgen option (not functional!) temporarily
+
+diff --git a/qmake/option.cpp b/qmake/option.cpp
+index 27e7c18..1c52d0f 100644
+--- a/qmake/option.cpp
++++ b/qmake/option.cpp
+@@ -112,6 +112,7 @@ QString Option::mkfile::qmakespec;
+ int Option::mkfile::cachefile_depth = -1;
+ bool Option::mkfile::do_deps = true;
+ bool Option::mkfile::do_mocs = true;
++bool Option::mkfile::listgen = false;
+ bool Option::mkfile::do_dep_heuristics = true;
+ bool Option::mkfile::do_preprocess = false;
+ bool Option::mkfile::do_stub_makefile = false;
+@@ -198,6 +199,7 @@ bool usage(const char *a0)
+ " -nocache Don't use a cache file [makefile mode only]\n"
+ " -nodepend Don't generate dependencies [makefile mode only]\n"
+ " -nomoc Don't generate moc targets [makefile mode only]\n"
++ " -listgen Lists generated files [makefile mode only]\n"
+ " -nopwd Don't look for files in pwd [project mode only]\n"
+ ,a0,
+ default_mode(a0) == Option::QMAKE_GENERATE_PROJECT ? " (default)" : "", project_builtin_regx().toLatin1().constData(),
+@@ -297,6 +299,8 @@ Option::parseCommandLine(int argc, char **argv, int skip)
+ Option::mkfile::do_deps = false;
+ } else if(opt == "nomoc") {
+ Option::mkfile::do_mocs = false;
++ } else if(opt == "listgen") {
++ Option::mkfile::listgen = true;
+ } else if(opt == "nocache") {
+ Option::mkfile::do_cache = false;
+ } else if(opt == "createstub") {
+diff --git a/qmake/option.h b/qmake/option.h
+index b09ead2..a46d7fb 100644
+--- a/qmake/option.h
++++ b/qmake/option.h
+@@ -179,6 +179,7 @@ struct Option
+ static bool do_cache;
+ static bool do_deps;
+ static bool do_mocs;
++ static bool listgen;
+ static bool do_dep_heuristics;
+ static bool do_preprocess;
+ static bool do_stub_makefile;
diff --git a/config.profiles/symbian/platform_paths.prf b/config.profiles/symbian/platform_paths.prf
new file mode 100644
index 0000000..0e2131f
--- /dev/null
+++ b/config.profiles/symbian/platform_paths.prf
@@ -0,0 +1,251 @@
+#
+# ==============================================================================
+# Name : platform_paths.prf
+# Part of :
+# Interface : Platform Path Definitions API for Qt/S60
+# Description : Symbian^3 and onwards specific platform paths
+#
+# Usage examples:
+#
+# Note: this file gets automatically added to all Qt/S60 projects
+#
+# Variable usages to add the system include paths
+#
+# The include paths has to be related to the layer in which your SW
+# resides. Thus as an example: a component residing in middleware
+# layer should use the MW specific macro.
+#
+# INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+# INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE
+#
+# If there is a need to include public headers of some S60 component,
+# various *_EXPORT_PATH macros can be utilized:
+#
+# INCLUDEPATH += $$OS_LAYER_PUBLIC_EXPORT_PATH(somecomponent)
+#
+# Variables related to using various parts of stdapis:
+#
+# To use STLLIB you need to have this in your pro-file:
+#
+# QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+# DEFINES *= $$STLLIB_USAGE_DEFINES
+#
+# Depending on what module you are using from stdapis you need to have
+# one or more of the following variables in your pro-file.
+#
+# INCLUDEPATH += $$OS_LAYER_LIBC_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_GLIB_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_SSL_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_STDCPP_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_BOOST_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_DBUS_SYSTEMINCLUDE
+# INCLUDEPATH += $$OS_LAYER_LIBUTILITY_SYSTEMINCLUDE
+#
+#
+#
+#
+# ==============================================================================
+
+# ---------------------------------------
+# Location, where the applications layer specific public headers are exported
+# ---------------------------------------
+
+defineReplace(APP_LAYER_SDK_EXPORT_PATH) {
+ return (/epoc32/include/app/$$1)
+}
+defineReplace(APP_LAYER_PUBLIC_EXPORT_PATH) {
+ return (/epoc32/include/app/$$1)
+}
+
+# ---------------------------------------
+# Location, where the applications layer specific platform headers are exported
+# ---------------------------------------
+
+defineReplace(APP_LAYER_DOMAIN_EXPORT_PATH) {
+ return (/epoc32/include/platform/app/$$1)
+}
+defineReplace(APP_LAYER_PLATFORM_EXPORT_PATH) {
+ return (/epoc32/include/platform/app/$$1)
+}
+
+# ---------------------------------------
+# Location, where the middleware layer specific public headers are exported
+# ---------------------------------------
+
+defineReplace(MW_LAYER_SDK_EXPORT_PATH) {
+ return (/epoc32/include/mw/$$1)
+}
+defineReplace(MW_LAYER_PUBLIC_EXPORT_PATH) {
+ return (/epoc32/include/mw/$$1)
+}
+
+# ---------------------------------------
+# Location, where the middleware layer specific platform headers are exported
+# ---------------------------------------
+
+defineReplace(MW_LAYER_DOMAIN_EXPORT_PATH) {
+ return (/epoc32/include/platform/mw/$$1)
+}
+defineReplace(MW_LAYER_PLATFORM_EXPORT_PATH) {
+ return (/epoc32/include/platform/mw/$$1)
+}
+
+# ---------------------------------------
+# Location, where the os layer specific public headers are exported
+# ---------------------------------------
+
+defineReplace(OSEXT_LAYER_SDK_EXPORT_PATH) {
+ return (/epoc32/include/$$1)
+}
+# WARNING: If the following path changes see the exists() function around line 219
+defineReplace(OS_LAYER_PUBLIC_EXPORT_PATH) {
+ return (/epoc32/include/$$1)
+}
+
+# ---------------------------------------
+# Location, where the os specific platform headers are exported
+# ---------------------------------------
+
+defineReplace(OSEXT_LAYER_DOMAIN_EXPORT_PATH) {
+ return (/epoc32/include/platform/$$1)
+}
+defineReplace(OS_LAYER_PLATFORM_EXPORT_PATH) {
+ return (/epoc32/include/platform/$$1)
+}
+
+# ---------------------------------------
+# General comments about the 3 define statements related to include paths:
+# 1) the /epoc32/include/oem is now defined there for backward compability.
+# Once the directory is empty, the directory will be removed. However this
+# enables us to ensure that if you use these define statements => you do
+# not have to remove the statements later on, when the directory no longer
+# exists.
+# 2) These statements should be enough in normal cases. For certain specific
+# cases you might need to add some specific directory from /epoc32/include
+# (for instance /epoc32/include/ecom).
+# In normal cases the include staments in code should be relative to one of
+# the system include paths, but in certain cases, the included files requires
+# that the subdirectory is also part of the system include paths.
+# ---------------------------------------
+
+# This variable defines the include paths, which are intended to be
+# used in the pro-files that are part of the applications-layer. It includes all
+# the needed directories from the /epoc32/include, that are valid ones for the
+# application-layer components.
+#
+# Applications layer is the last one in the list, since most likely the most of
+# the headers come from middleware or os-layer => thus they are first.
+
+APP_LAYER_SYSTEMINCLUDE = \
+ /epoc32/include \
+ /epoc32/include/mw \
+ /epoc32/include/platform/mw \
+ /epoc32/include/platform \
+ /epoc32/include/app \
+ /epoc32/include/platform/app \
+ /epoc32/include/platform/loc \
+ /epoc32/include/platform/mw/loc \
+ /epoc32/include/platform/app/loc \
+ /epoc32/include/platform/loc/sc \
+ /epoc32/include/platform/mw/loc/sc \
+ /epoc32/include/platform/app/loc/sc
+
+# This define statements defines the include paths, which are intended to be
+# used in the pro-files that are part of the middleware-layer. It includes all
+# the needed directories from the /epoc32/include, that are valid ones for the
+# middleware-layer components.
+
+MW_LAYER_SYSTEMINCLUDE = \
+ /epoc32/include \
+ /epoc32/include/mw \
+ /epoc32/include/platform/mw \
+ /epoc32/include/platform \
+ /epoc32/include/platform/loc \
+ /epoc32/include/platform/mw/loc \
+ /epoc32/include/platform/loc/sc \
+ /epoc32/include/platform/mw/loc/sc
+
+# This define statements defines the include paths, which are intended to be
+# used in the pro-files that are part of the osextensions-layer. It includes all
+# the needed directories from the /epoc32/include, that are valid ones for the
+# os-layer components.
+
+OS_LAYER_SYSTEMINCLUDE = \
+ /epoc32/include \
+ /epoc32/include/platform \
+ /epoc32/include/platform/loc \
+ /epoc32/include/platform/loc/sc
+
+# This define statements defines the include paths, which are intended to be
+# used in the pro-files that are part of the os-layer. This is intended
+# to be only used by those components which need to use in their mmp-file either
+# kern_ext.mmh or nkern_ext.mmh. Reason is that those
+# 2 files already contain the /epoc32/include as system include path.
+
+OS_LAYER_KERNEL_SYSTEMINCLUDE = \
+ /epoc32/include/platform
+
+
+# ---------------------------------------
+# Definitions that also define the systeminclude paths for various
+# part of stdapis. Append to INCLUDEPATH in pro-file.
+# ---------------------------------------
+
+OS_LAYER_LIBC_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/sys)
+
+OS_LAYER_GLIB_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/glib) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/glib-2.0/gObject)
+
+OS_LAYER_SSL_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/openssl)
+
+# stlportv5 is preferred over stlport as it has the throwing version of operator new
+exists($${EPOCROOT}epoc32/include/stdapis/stlport) \
+:!exists($${EPOCROOT}epoc32/include/stdapis/stlportv5) {
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlport)
+} else {
+ OS_LAYER_STDCPP_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/stlportv5)
+}
+
+OS_LAYER_BOOST_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/boost)
+
+OS_LAYER_DBUS_SYSTEMINCLUDE = $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0) \
+ $$OS_LAYER_PUBLIC_EXPORT_PATH(stdapis/dbus-1.0/dbus)
+
+OS_LAYER_LIBUTILITY_SYSTEMINCLUDE = $$OS_LAYER_PLATFORM_EXPORT_PATH(stdapis/utility)
+
+# ---------------------------------------
+# Definitions to export IBY files to different folders where they will be taken
+# to ROM image
+# ---------------------------------------
+
+defineReplace(CORE_APP_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/core/app/$$1)
+}
+defineReplace(CORE_MW_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/core/mw/$$1)
+}
+defineReplace(CORE_OSEXT_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/core/os/$$1)
+}
+defineReplace(CORE_OS_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/core/os/$$1)
+}
+defineReplace(CORE_TOOLS_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/core/tools/$$1)
+}
+defineReplace(CORE_ADAPT_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/$$1)
+}
+defineReplace(CUSTOMER_VARIANT_APP_LAYER_IBY_EXPORT_PATH) {
+ return(/epoc32/rom/include/customervariant/app/$$1)
+}
+
+# You need to define the following in pro-file, if you are using the stllib:
+# QMAKE_CXXFLAGS.CW *= $$STLLIB_USAGE_CW_FLAGS
+# DEFINES *= $$STLLIB_USAGE_DEFINES
+STLLIB_USAGE_CW_FLAGS = "-wchar_t on"
+STLLIB_USAGE_DEFINES = _WCHAR_T_DECLARED
+
diff --git a/config.profiles/symbian/qt.conf b/config.profiles/symbian/qt.conf
new file mode 100644
index 0000000..29dfa88
--- /dev/null
+++ b/config.profiles/symbian/qt.conf
@@ -0,0 +1,6 @@
+[Paths]
+Data = $(EPOCROOT)epoc32/tools/qt
+Headers = $(EPOCROOT)epoc32/include/mw
+Binaries = $(EPOCROOT)epoc32/tools
+Prefix = $(EPOCROOT)sf/mw/qt
+
diff --git a/config.profiles/symbian/qt.iby b/config.profiles/symbian/qt.iby
new file mode 100644
index 0000000..1f295f0
--- /dev/null
+++ b/config.profiles/symbian/qt.iby
@@ -0,0 +1,101 @@
+#ifndef QT_IBY
+#define QT_IBY
+
+#include <bldvariant.hrh>
+
+#warning("qt.iby: hack - BINARY_SELECTION_ORDER really needs to be at the baseport/device level as it depends on the device type");
+BINARY_SELECTION_ORDER ARMV6,ARMV5 // hack - this really needs to be at the baseport/device level as it depends on the device type
+
+file=ABI_DIR\BUILD_DIR\QtCore.dll SHARED_LIB_DIR\QtCore.dll
+file=ABI_DIR\BUILD_DIR\QtGui.dll SHARED_LIB_DIR\QtGui.dll
+file=ABI_DIR\BUILD_DIR\QtOpenVG.dll SHARED_LIB_DIR\QtOpenVG.dll
+file=ABI_DIR\BUILD_DIR\QtSvg.dll SHARED_LIB_DIR\QtSvg.dll
+file=ABI_DIR\BUILD_DIR\QtSql.dll SHARED_LIB_DIR\QtSql.dll
+file=ABI_DIR\BUILD_DIR\QtXml.dll SHARED_LIB_DIR\QtXml.dll
+file=ABI_DIR\BUILD_DIR\QtNetwork.dll SHARED_LIB_DIR\QtNetwork.dll
+file=ABI_DIR\BUILD_DIR\QtScript.dll SHARED_LIB_DIR\QtScript.dll
+file=ABI_DIR\BUILD_DIR\QtTest.dll SHARED_LIB_DIR\QtTest.dll
+file=ABI_DIR\BUILD_DIR\phonon.dll SHARED_LIB_DIR\phonon.dll
+file=ABI_DIR\BUILD_DIR\QtMultimedia.dll SHARED_LIB_DIR\QtMultimedia.dll
+file=ABI_DIR\BUILD_DIR\QtXmlPatterns.dll SHARED_LIB_DIR\QtXmlPatterns.dll
+file=ABI_DIR\BUILD_DIR\QtDeclarative.dll SHARED_LIB_DIR\QtDeclarative.dll
+file=ABI_DIR\BUILD_DIR\QtOpenGL.dll SHARED_LIB_DIR\QtOpenGL.dll
+
+// imageformats
+file=ABI_DIR\BUILD_DIR\qgif.dll SHARED_LIB_DIR\qgif.dll
+file=ABI_DIR\BUILD_DIR\qico.dll SHARED_LIB_DIR\qico.dll
+file=ABI_DIR\BUILD_DIR\qjpeg.dll SHARED_LIB_DIR\qjpeg.dll
+file=ABI_DIR\BUILD_DIR\qmng.dll SHARED_LIB_DIR\qmng.dll
+file=ABI_DIR\BUILD_DIR\qsvg.dll SHARED_LIB_DIR\qsvg.dll
+file=ABI_DIR\BUILD_DIR\qtiff.dll SHARED_LIB_DIR\qtiff.dll
+
+// codecs
+file=ABI_DIR\BUILD_DIR\qcncodecs.dll SHARED_LIB_DIR\qcncodecs.dll
+file=ABI_DIR\BUILD_DIR\qjpcodecs.dll SHARED_LIB_DIR\qjpcodecs.dll
+file=ABI_DIR\BUILD_DIR\qkrcodecs.dll SHARED_LIB_DIR\qkrcodecs.dll
+file=ABI_DIR\BUILD_DIR\qtwcodecs.dll SHARED_LIB_DIR\qtwcodecs.dll
+
+// iconengines
+file=ABI_DIR\BUILD_DIR\qsvgicon.dll SHARED_LIB_DIR\qsvgicon.dll
+
+// Phonon MMF backend
+// This is commented out by default, as normally Helix backend will be used.
+// If the Helix backend is present, it will override MMF backend, so make sure to remove it from
+// image creation in addition to uncommenting the following lines if you want to use MMF backend.
+file=ABI_DIR\BUILD_DIR\phonon_mmf.dll SHARED_LIB_DIR\phonon_mmf.dll
+data=\epoc32\data\z\resource\qt\plugins\phonon_backend\phonon_mmf.qtplugin resource\qt\plugins\phonon_backend\phonon_mmf.qtplugin
+
+// graphicssystems
+file=ABI_DIR\BUILD_DIR\qvggraphicssystem.dll SHARED_LIB_DIR\qvggraphicssystem.dll
+file=ABI_DIR\BUILD_DIR\qglgraphicssystem.dll SHARED_LIB_DIR\qglgraphicssystem.dll
+
+// bearer
+file=ABI_DIR\BUILD_DIR\qsymbianbearer.dll SHARED_LIB_DIR\qsymbianbearer.dll
+
+file=ABI_DIR\BUILD_DIR\qtactilefeedback.dll SHARED_LIB_DIR\qtactilefeedback.dll
+
+// imageformats stubs
+data=\epoc32\data\z\resource\qt\plugins\imageformats\qgif.qtplugin resource\qt\plugins\imageformats\qgif.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\imageformats\qico.qtplugin resource\qt\plugins\imageformats\qico.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\imageformats\qjpeg.qtplugin resource\qt\plugins\imageformats\qjpeg.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\imageformats\qmng.qtplugin resource\qt\plugins\imageformats\qmng.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\imageformats\qsvg.qtplugin resource\qt\plugins\imageformats\qsvg.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\imageformats\qtiff.qtplugin resource\qt\plugins\imageformats\qtiff.qtplugin
+
+// codecs stubs
+data=\epoc32\data\z\resource\qt\plugins\codecs\qcncodecs.qtplugin resource\qt\plugins\codecs\qcncodecs.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\codecs\qjpcodecs.qtplugin resource\qt\plugins\codecs\qjpcodecs.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\codecs\qkrcodecs.qtplugin resource\qt\plugins\codecs\qkrcodecs.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\codecs\qtwcodecs.qtplugin resource\qt\plugins\codecs\qtwcodecs.qtplugin
+
+// iconengines stubs
+data=\epoc32\data\z\resource\qt\plugins\iconengines\qsvgicon.qtplugin resource\qt\plugins\iconengines\qsvgicon.qtplugin
+
+// qml import plugins
+file=ABI_DIR\BUILD_DIR\qmlfolderlistmodelplugin.dll SHARED_LIB_DIR\qmlfolderlistmodelplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlgesturesplugin.dll SHARED_LIB_DIR\qmlgesturesplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlparticlesplugin.dll SHARED_LIB_DIR\qmlparticlesplugin.dll
+
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\folderlistmodel\qmlfolderlistmodelplugin.qtplugin resource\qt\imports\Qt\labs\folderlistmodel\qmlfolderlistmodelplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\gestures\qmlgesturesplugin.qtplugin resource\qt\imports\Qt\labs\gestures\qmlgesturesplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\particles\qmlparticlesplugin.qtplugin resource\qt\imports\Qt\labs\particles\qmlparticlesplugin.qtplugin
+
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\folderlistmodel\qmldir resource\qt\imports\Qt\labs\folderlistmodel\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\gestures\qmldir resource\qt\imports\Qt\labs\gestures\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\particles\qmldir resource\qt\imports\Qt\labs\particles\qmldir
+
+// graphicssystems
+data=\epoc32\data\z\resource\qt\plugins\graphicssystems\qvggraphicssystem.qtplugin resource\qt\plugins\graphicssystems\qvggraphicssystem.qtplugin
+data=\epoc32\data\z\resource\qt\plugins\graphicssystems\qglgraphicssystem.qtplugin resource\qt\plugins\graphicssystems\qglgraphicssystem.qtplugin
+
+// bearer stub
+data=\epoc32\data\z\resource\qt\plugins\bearer\qsymbianbearer.qtplugin resource\qt\plugins\bearer\qsymbianbearer.qtplugin
+
+// feedback
+data=\epoc32\data\z\resource\qt\plugins\feedback\qtactilefeedback.qtplugin resource\qt\plugins\feedback\qtactilefeedback.qtplugin
+
+// Stub sis file
+data=ZSYSTEM\install\qt_stub.sis System\Install\qt_stub.sis
+
+#endif // __QT_IBY__
+
diff --git a/config.profiles/symbian/qt.pkg b/config.profiles/symbian/qt.pkg
new file mode 100644
index 0000000..b2db49f
--- /dev/null
+++ b/config.profiles/symbian/qt.pkg
@@ -0,0 +1,98 @@
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"Qt"},(0x2001E61C),4,8,0,TYPE=SA,RU
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+
+; Localised Vendor name
+%{"Nokia, Qt"}
+
+; Unique Vendor name
+:"Nokia, Qt"
+
+; Dependencies of Qt libraries
+
+; DEPLOYMENT
+"/epoc32/release/armv5/urel/QtCore.dll" - "!:\sys\bin\QtCore.dll"
+"/epoc32/release/armv5/urel/QtXml.dll" - "!:\sys\bin\QtXml.dll"
+"/epoc32/release/armv5/urel/QtGui.dll" - "!:\sys\bin\QtGui.dll"
+"/epoc32/release/armv5/urel/QtNetwork.dll" - "!:\sys\bin\QtNetwork.dll"
+"/epoc32/release/armv5/urel/qsymbianbearer.dll" - "!:\sys\bin\qsymbianbearer.dll"
+"/epoc32/release/armv5/urel/QtTest.dll" - "!:\sys\bin\QtTest.dll"
+"/epoc32/release/armv5/urel/QtSql.dll" - "!:\sys\bin\QtSql.dll"
+"/epoc32/release/armv5/urel/QtSvg.dll" - "!:\sys\bin\QtSvg.dll"
+"/epoc32/release/armv5/urel/QtScript.dll" - "!:\sys\bin\QtScript.dll"
+"/epoc32/release/armv5/urel/QtOpenVG.dll" - "!:\sys\bin\QtOpenVG.dll"
+"/epoc32/release/armv5/urel/QtOpenGL.dll" - "!:\sys\bin\QtOpenGL.dll"
+"/epoc32/release/armv5/urel/phonon.dll" - "!:\sys\bin\phonon.dll"
+"/epoc32/release/armv5/urel/QtMultimedia.dll" - "!:\sys\bin\QtMultimedia.dll"
+"/epoc32/release/armv5/urel/QtDeclarative.dll" - "!:\sys\bin\QtDeclarative.dll"
+"/epoc32/release/armv5/urel/QtXmlPatterns.dll" - "!:\sys\bin\QtXmlPatterns.dll"
+
+"/epoc32/release/armv5/urel/qjpeg.dll" - "!:\sys\bin\qjpeg.dll"
+"/epoc32/data/z/resource/qt/plugins/imageformats/qjpeg.qtplugin" - "!:\resource\qt\plugins\imageformats\qjpeg.qtplugin"
+"/epoc32/release/armv5/urel/qgif.dll" - "!:\sys\bin\qgif.dll"
+"/epoc32/data/z/resource/qt/plugins/imageformats/qgif.qtplugin" - "!:\resource\qt\plugins\imageformats\qgif.qtplugin"
+"/epoc32/release/armv5/urel/qmng.dll" - "!:\sys\bin\qmng.dll"
+"/epoc32/data/z/resource/qt/plugins/imageformats/qmng.qtplugin" - "!:\resource\qt\plugins\imageformats\qmng.qtplugin"
+"/epoc32/release/armv5/urel/qtiff.dll" - "!:\sys\bin\qtiff.dll"
+"/epoc32/data/z/resource/qt/plugins/imageformats/qtiff.qtplugin" - "!:\resource\qt\plugins\imageformats\qtiff.qtplugin"
+"/epoc32/release/armv5/urel/qico.dll" - "!:\sys\bin\qico.dll"
+"/epoc32/data/z/resource/qt/plugins/imageformats/qico.qtplugin" - "!:\resource\qt\plugins\imageformats\qico.qtplugin"
+"/epoc32/release/armv5/urel/qsvg.dll" - "!:\sys\bin\qsvg.dll"
+"/epoc32/data/z/resource/qt/plugins/imageformats/qsvg.qtplugin" - "!:\resource\qt\plugins\imageformats\qsvg.qtplugin"
+"/epoc32/release/armv5/urel/qcncodecs.dll" - "!:\sys\bin\qcncodecs.dll"
+"/epoc32/data/z/resource/qt/plugins/codecs/qcncodecs.qtplugin" - "!:\resource\qt\plugins\codecs\qcncodecs.qtplugin"
+"/epoc32/release/armv5/urel/qjpcodecs.dll" - "!:\sys\bin\qjpcodecs.dll"
+"/epoc32/data/z/resource/qt/plugins/codecs/qjpcodecs.qtplugin" - "!:\resource\qt\plugins\codecs\qjpcodecs.qtplugin"
+"/epoc32/release/armv5/urel/qtwcodecs.dll" - "!:\sys\bin\qtwcodecs.dll"
+"/epoc32/data/z/resource/qt/plugins/codecs/qtwcodecs.qtplugin" - "!:\resource\qt\plugins\codecs\qtwcodecs.qtplugin"
+"/epoc32/release/armv5/urel/qkrcodecs.dll" - "!:\sys\bin\qkrcodecs.dll"
+"/epoc32/data/z/resource/qt/plugins/codecs/qkrcodecs.qtplugin" - "!:\resource\qt\plugins\codecs\qkrcodecs.qtplugin"
+"/epoc32/release/armv5/urel/qvggraphicssystem.dll" - "!:\sys\bin\qvggraphicssystem.dll"
+"/epoc32/data/z/resource/qt/plugins/graphicssystems/qvggraphicssystem.qtplugin" - "!:\resource\qt\plugins\graphicssystems\qvggraphicssystem.qtplugin"
+"/epoc32/release/armv5/urel/qglgraphicssystem.dll" - "!:\sys\bin\qglgraphicssystem.dll"
+"/epoc32/data/z/resource/qt/plugins/graphicssystems/qglgraphicssystem.qtplugin" - "!:\resource\qt\plugins\graphicssystems\qglgraphicssystem.qtplugin"
+"/epoc32/release/armv5/urel/qsvgicon.dll" - "!:\sys\bin\qsvgicon.dll"
+"/epoc32/data/z/resource/qt/plugins/iconengines/qsvgicon.qtplugin" - "!:\resource\qt\plugins\iconengines\qsvgicon.qtplugin"
+"/epoc32/data/z/resource/qt/plugins/bearer/qsymbianbearer.qtplugin" - "!:\resource\qt\plugins\bearer\qsymbianbearer.qtplugin"
+
+; Phonon MMF plugin
+"/epoc32/release/armv5/urel/phonon_mmf.dll" - "!:\sys\bin\phonon_mmf.dll"
+"/epoc32/data/z/resource/qt/plugins/phonon_backend/phonon_mmf.qtplugin" - "!:\resource\qt\plugins\phonon_backend\phonon_mmf.qtplugin"
+
+; localization
+"/epoc32/data/z/resource/qt/translations/qt_ur.qm" - "!:\resource\qt\translations\qt_ur.qm"
+"/epoc32/data/z/resource/qt/translations/qt_fa.qm" - "!:\resource\qt\translations\qt_fa.qm"
+"/epoc32/data/z/resource/qt/translations/qt_ar.qm" - "!:\resource\qt\translations\qt_ar.qm"
+"/epoc32/data/z/resource/qt/translations/qt_he.qm" - "!:\resource\qt\translations\qt_he.qm"
+
+"/epoc32/data/z/resource/qt/translations/qt_fr.qm" - "!:\resource\qt\translations\qt_fr.qm"
+"/epoc32/data/z/resource/qt/translations/qt_pl.qm" - "!:\resource\qt\translations\qt_pl.qm"
+"/epoc32/data/z/resource/qt/translations/qt_ru.qm" - "!:\resource\qt\translations\qt_ru.qm"
+"/epoc32/data/z/resource/qt/translations/qt_zh_cn.qm" - "!:\resource\qt\translations\qt_zh_cn.qm"
+"/epoc32/data/z/resource/qt/translations/qt_zh_tw.qm" - "!:\resource\qt\translations\qt_zh_tw.qm"
+
+
+
+"/epoc32/data/z/resource/qt/translations/qt_ar.qm" - "!:\resource\qt\translations\qt_ar.qm"
+"/epoc32/data/z/resource/qt/translations/qt_cs.qm" - "!:\resource\qt\translations\qt_cs.qm"
+"/epoc32/data/z/resource/qt/translations/qt_da.qm" - "!:\resource\qt\translations\qt_da.qm"
+"/epoc32/data/z/resource/qt/translations/qt_de.qm" - "!:\resource\qt\translations\qt_de.qm"
+
+"/epoc32/data/z/resource/qt/translations/qt_es.qm" - "!:\resource\qt\translations\qt_es.qm"
+"/epoc32/data/z/resource/qt/translations/qt_gl.qm" - "!:\resource\qt\translations\qt_gl.qm"
+"/epoc32/data/z/resource/qt/translations/qt_hu.qm" - "!:\resource\qt\translations\qt_hu.qm"
+"/epoc32/data/z/resource/qt/translations/qt_ja.qm" - "!:\resource\qt\translations\qt_ja.qm"
+"/epoc32/data/z/resource/qt/translations/qt_pt.qm" - "!:\resource\qt\translations\qt_pt.qm"
+"/epoc32/data/z/resource/qt/translations/qt_sk.qm" - "!:\resource\qt\translations\qt_sk.qm"
+"/epoc32/data/z/resource/qt/translations/qt_sl.qm" - "!:\resource\qt\translations\qt_sl.qm"
+"/epoc32/data/z/resource/qt/translations/qt_sv.qm" - "!:\resource\qt\translations\qt_sv.qm"
+"/epoc32/data/z/resource/qt/translations/qt_uk.qm" - "!:\resource\qt\translations\qt_uk.qm" \ No newline at end of file
diff --git a/config.profiles/symbian/qt.sisx b/config.profiles/symbian/qt.sisx
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/config.profiles/symbian/qt.sisx
@@ -0,0 +1 @@
+1 \ No newline at end of file
diff --git a/config.profiles/symbian/qt_stub.pkg b/config.profiles/symbian/qt_stub.pkg
new file mode 100644
index 0000000..0ac4439
--- /dev/null
+++ b/config.profiles/symbian/qt_stub.pkg
@@ -0,0 +1,17 @@
+; Language
+&EN
+
+
+; SIS header: name, uid, version
+#{"Qt"},(0x2001E61C),4,8,0
+
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+
+; Localised Vendor name
+%{"Nokia, Qt"}
+
+; Unique Vendor name
+:"Nokia, Qt"
+
diff --git a/config.profiles/symbian/qt_stub.sis b/config.profiles/symbian/qt_stub.sis
new file mode 100644
index 0000000..30d91a9
--- /dev/null
+++ b/config.profiles/symbian/qt_stub.sis
Binary files differ
diff --git a/config.profiles/symbian/qtconfig.flm b/config.profiles/symbian/qtconfig.flm
new file mode 100644
index 0000000..93410f0
--- /dev/null
+++ b/config.profiles/symbian/qtconfig.flm
@@ -0,0 +1,88 @@
+# /****************************************************************************
+# **
+# ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# ** Contact:
+# **
+# ****************************************************************************/
+
+# FLM to build Qt tools.
+
+QT_ROOT:= ../..
+TARGETDIR:=$(EPOCROOT)/$(INSTALLPATH)
+MKSPECDIR:=$(EPOCROOT)/$(INSTALLPATH)/qt
+SOURCEDIR:=$(EXTENSION_ROOT)/$(QT_ROOT)/bin
+TOOLSSRCDIR:=$(EXTENSION_ROOT)/$(QT_ROOT)/src/tools
+LANGUAGETOOLDIR:=$(EXTENSION_ROOT)/$(QT_ROOT)/tools/linguist
+CONFIGURE_APP:=configure$(DOTEXE)
+
+$(call makepath,$(TARGETDIR))
+
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+PLATFORM:=$(PLATFORM.LINUX)
+else
+PLATFORM:=$(PLATFORM.WIN32)
+endif
+
+TARGET_TOOLS:=$(TARGETDIR)/qmake$(DOTEXE) $(TARGETDIR)/moc$(DOTEXE) $(TARGETDIR)/rcc$(DOTEXE) $(TARGETDIR)/uic$(DOTEXE) $(TARGETDIR)/lrelease$(DOTEXE)
+QT_TOOLS:= $(TOOLSSRCDIR)/uic $(TOOLSSRCDIR)/moc $(TOOLSSRCDIR)/rcc $(LANGUAGETOOLDIR)/lrelease
+SOURCE_TOOLS:=$(SOURCEDIR)/qmake$(DOTEXE) $(SOURCEDIR)/moc$(DOTEXE) $(SOURCEDIR)/rcc$(DOTEXE) $(SOURCEDIR)/uic$(DOTEXE) $(SOURCEDIR)/lrelease$(DOTEXE)
+
+define QtConfiguration
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+$(TARGET_TOOLS): $(QT_TOOLS)
+else
+$(TARGET_TOOLS): $(SOURCEDIR)/qmake$(DOTEXE)
+endif
+ $(call startrule,qtconf_deploy) \
+ $(GNUCP) $(SOURCEDIR)/$$(notdir $$@) $$@ \
+ $(call endrule,qtconf_deploy)
+
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+$(QT_TOOLS): $(TOOLSSRCDIR)/bootstrap
+ $(call startrule,qtconf_tools_build) \
+ cd $$@; \
+ $(GNUMAKE38); \
+ cd .. \
+ $(call endrule,qtconf_tools_build)
+
+$(TOOLSSRCDIR)/bootstrap:$(SOURCEDIR)/qmake$(DOTEXE)
+ $(call startrule,qtconf_bootstrap_build) \
+ cd $(TOOLSSRCDIR)/bootstrap; \
+ $(GNUMAKE38); \
+ cd .. \
+ $(call endrule,qtconf_bootstrap_build)
+endif
+
+
+$(SOURCEDIR)/qmake$(DOTEXE): $(EXTENSION_ROOT)/$(QT_ROOT)/$(CONFIGURE_APP)
+ $(call startrule,qtconf) \
+ cd $(EXTENSION_ROOT)/$(QT_ROOT) && unset INCLUDE && unset LIB && $(EXTENSION_ROOT)/$(QT_ROOT)/$(CONFIGURE_APP) -platform $(PLATFORM) -xplatform $(XPLATFORM) $(OPTIONS) \
+ $(call endrule,qtconf)
+ $(call startrule,headerexport) \
+ cd $(EXTENSION_ROOT)/$(QT_ROOT)/config.profiles/symbian && \
+ perl headerexport -base-dir $(EXTENSION_ROOT)/$(QT_ROOT) -outdir $(EPOCROOT)/epoc32/include/
+ $(call endrule,headerexport)
+ $(call startrule,mkspecexport) \
+ $(GNUCP) -R $(EXTENSION_ROOT)/$(QT_ROOT)/mkspecs $(MKSPECDIR)
+ $(call endrule,mkspecexport)
+endef
+
+# Here a variable named "done_<sanitised $SISFILE>" gets created
+GUARD:=done_$(call sanitise,$(TARGETDIR)/qmake$(DOTEXE))
+# If variable "done_..." not set, set it to 1, so that
+# UREL and UDEB do not execute makesis twice on the same target
+ifeq ($($(GUARD)),)
+$(GUARD):=1
+ifneq ($(filter linux,$(HOSTPLATFORM)),)
+EXPORT:: $(QT_TOOLS) $(TARGET_TOOLS)
+else
+EXPORT:: $(TARGET_TOOLS)
+endif
+$(eval $(call QtConfiguration))
+$(eval $(call whatmacro,$(TARGET_TOOLS)))
+ifeq ($(OSTYPE),unix)
+$(eval $(call GenerateStandardCleanTarget,$(QT_TOOLS) $(TARGET_TOOLS) $(SOURCE_TOOLS),$(TARGETDIR)))
+else
+$(eval $(call GenerateStandardCleanTarget,$(TARGET_TOOLS) $(SOURCE_TOOLS),$(TARGETDIR)))
+endif
+endif
diff --git a/config.profiles/symbian/qtconfig.xml b/config.profiles/symbian/qtconfig.xml
new file mode 100644
index 0000000..c2244d6
--- /dev/null
+++ b/config.profiles/symbian/qtconfig.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<build xmlns="http://symbian.com/xml/build"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://symbian.com/xml/build http://symbian.com/xml/build/2_0.xsd">
+
+ <!-- Tools interfaces -->
+
+ <interface name="qt.qtconfig" extends="Symbian.UserFLM" flm="qtconfig.flm">
+ <param name='QT_ROOT' default='../..'/>
+ <param name='INSTALLPATH' default='epoc32/tools'/>
+ <param name='XPLATFORM' default='symbian-sbsv2'/>
+ <param name='PLATFORM.WIN32' default='win32-g++' />
+ <param name='PLATFORM.LINUX' default='linux-g++-32' />
+ <param name='OPTIONS' default='' />
+ </interface>
+
+</build>
diff --git a/config.profiles/symbian/qtdemoapps.pkg b/config.profiles/symbian/qtdemoapps.pkg
new file mode 100644
index 0000000..e03989a
--- /dev/null
+++ b/config.profiles/symbian/qtdemoapps.pkg
@@ -0,0 +1,203 @@
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"Qtdemo"},(0xE001E61C),4,8,0,TYPE=SA
+
+; Localised Vendor name
+%{"Nokia, Qt"}
+
+; Unique Vendor name
+:"Nokia, Qt"
+
+"/epoc32/release/armv5/urel/star.exe" - "!:\sys\bin\star.exe"
+"/epoc32/data/z/resource/apps/star.rsc" - "!:\resource\apps\star.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/star_reg.rsc" - "!:\private\10003a3f\import\apps\star_reg.rsc"
+
+"/epoc32/release/armv5/urel/wiggly.exe" - "!:\sys\bin\wiggly.exe"
+"/epoc32/data/z/resource/apps/wiggly.rsc" - "!:\resource\apps\wiggly.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/wiggly_reg.rsc" - "!:\private\10003a3f\import\apps\wiggly_reg.rsc"
+
+"/epoc32/release/armv5/urel/animatedtiles.exe" - "!:\sys\bin\animatedtiles.exe"
+"/epoc32/data/z/resource/apps/animatedtiles.rsc" - "!:\resource\apps\animatedtiles.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/animatedtiles_reg.rsc" - "!:\private\10003a3f\import\apps\animatedtiles_reg.rsc"
+
+"/epoc32/release/armv5/urel/collidingmice.exe" - "!:\sys\bin\collidingmice.exe"
+"/epoc32/data/z/resource/apps/collidingmice.rsc" - "!:\resource\apps\collidingmice.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/collidingmice_reg.rsc" - "!:\private\10003a3f\import\apps\collidingmice_reg.rsc"
+
+"/epoc32/release/armv5/urel/addressbook.exe" - "!:\sys\bin\addressbook.exe"
+"/epoc32/data/z/resource/apps/addressbook.rsc" - "!:\resource\apps\addressbook.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/addressbook_reg.rsc" - "!:\private\10003a3f\import\apps\addressbook_reg.rsc"
+
+"/epoc32/release/armv5/urel/svgviewer.exe" - "!:\sys\bin\svgviewer.exe"
+"/epoc32/data/z/resource/apps/svgviewer.rsc" - "!:\resource\apps\svgviewer.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/svgviewer_reg.rsc" - "!:\private\10003a3f\import\apps\svgviewer_reg.rsc"
+
+"/epoc32/release/armv5/urel/analogclock.exe" - "!:\sys\bin\analogclock.exe"
+"/epoc32/data/z/resource/apps/analogclock.rsc" - "!:\resource\apps\analogclock.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/analogclock_reg.rsc" - "!:\private\10003a3f\import\apps\analogclock_reg.rsc"
+
+"/epoc32/release/armv5/urel/imagegestures.exe" - "!:\sys\bin\imagegestures.exe"
+"/epoc32/data/z/resource/apps/imagegestures.rsc" - "!:\resource\apps\imagegestures.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/imagegestures_reg.rsc" - "!:\private\10003a3f\import\apps\imagegestures_reg.rsc"
+
+"/epoc32/release/armv5/urel/qftp.exe" - "!:\sys\bin\qftp.exe"
+"/epoc32/data/z/resource/apps/qftp.rsc" - "!:\resource\apps\qftp.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/qftp_reg.rsc" - "!:\private\10003a3f\import\apps\qftp_reg.rsc"
+
+"/epoc32/release/armv5/urel/masterdetail.exe" - "!:\sys\bin\masterdetail.exe"
+"/epoc32/data/z/resource/apps/masterdetail.rsc" - "!:\resource\apps\masterdetail.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/masterdetail_reg.rsc" - "!:\private\10003a3f\import\apps\masterdetail_reg.rsc"
+
+"/epoc32/release/armv5/urel/previewer.exe" - "!:\sys\bin\previewer.exe"
+"/epoc32/data/z/resource/apps/previewer.rsc" - "!:\resource\apps\previewer.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/previewer_reg.rsc" - "!:\private\10003a3f\import\apps\previewer_reg.rsc"
+
+"/epoc32/release/armv5/urel/anomaly.exe" - "!:\sys\bin\anomaly.exe"
+"/epoc32/data/z/resource/apps/anomaly.rsc" - "!:\resource\apps\anomaly.rsc"
+"/epoc32/data/Z/private/10003a3f/import/Apps/anomaly_reg.rsc" - "!:\private\10003a3f\import\apps\anomaly_reg.rsc"
+
+;qmlcalculator
+; Executable and default resource files
+"/epoc32/release/armv5/urel/qmlcalculator.exe" - "!:\sys\bin\qmlcalculator.exe"
+"/epoc32/data/z/resource/apps/qmlcalculator.rsc" - "!:\resource\apps\qmlcalculator.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/qmlcalculator_reg.rsc" - "!:\private\10003a3f\import\apps\qmlcalculator_reg.rsc"
+"/epoc32/data/z/resource/apps/qmlcalculator.mif" - "!:\resource\apps\qmlcalculator.mif"
+
+; DEPLOYMENT
+"/epoc32/data/z/private/A000E3FB/calculator.qml" - "!:\private\A000E3FB\calculator.qml"
+"/epoc32/data/z/private/A000E3FB/Core/Button.qml" - "!:\private\A000E3FB\Core\Button.qml"
+"/epoc32/data/z/private/A000E3FB/Core/calculator.js" - "!:\private\A000E3FB\Core\calculator.js"
+"/epoc32/data/z/private/A000E3FB/Core/Display.qml" - "!:\private\A000E3FB\Core\Display.qml"
+"/epoc32/data/z/private/A000E3FB/Core/images/button-.png" - "!:\private\A000E3FB\Core\images\button-.png"
+"/epoc32/data/z/private/A000E3FB/Core/images/button-blue.png" - "!:\private\A000E3FB\Core\images\button-blue.png"
+"/epoc32/data/z/private/A000E3FB/Core/images/button-green.png" - "!:\private\A000E3FB\Core\images\button-green.png"
+"/epoc32/data/z/private/A000E3FB/Core/images/button-purple.png" - "!:\private\A000E3FB\Core\images\button-purple.png"
+"/epoc32/data/z/private/A000E3FB/Core/images/button-red.png" - "!:\private\A000E3FB\Core\images\button-red.png"
+"/epoc32/data/z/private/A000E3FB/Core/images/display.png" - "!:\private\A000E3FB\Core\images\display.png"
+"/epoc32/data/z/private/A000E3FB/Core/qmldir" - "!:\private\A000E3FB\Core\qmldir"
+
+;qmlclocks
+; Executable and default resource files
+"/epoc32/release/armv5/urel/qmlclocks.exe" - "!:\sys\bin\qmlclocks.exe"
+"/epoc32/data/z/resource/apps/qmlclocks.rsc" - "!:\resource\apps\qmlclocks.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/qmlclocks_reg.rsc" - "!:\private\10003a3f\import\apps\qmlclocks_reg.rsc"
+"/epoc32/data/z/resource/apps/qmlclocks.mif" - "!:\resource\apps\qmlclocks.mif"
+
+; DEPLOYMENT
+"/epoc32/data/z/private/A000E3FC/clocks.qml" - "!:\private\A000E3FC\clocks.qml"
+"/epoc32/data/z/private/A000E3FC/content/background.png" - "!:\private\A000E3FC\content\background.png"
+"/epoc32/data/z/private/A000E3FC/content/center.png" - "!:\private\A000E3FC\content\center.png"
+"/epoc32/data/z/private/A000E3FC/content/clock-night.png" - "!:\private\A000E3FC\content\clock-night.png"
+"/epoc32/data/z/private/A000E3FC/content/clock.png" - "!:\private\A000E3FC\content\clock.png"
+"/epoc32/data/z/private/A000E3FC/content/Clock.qml" - "!:\private\A000E3FC\content\Clock.qml"
+"/epoc32/data/z/private/A000E3FC/content/hour.png" - "!:\private\A000E3FC\content\hour.png"
+"/epoc32/data/z/private/A000E3FC/content/minute.png" - "!:\private\A000E3FC\content\minute.png"
+"/epoc32/data/z/private/A000E3FC/content/second.png" - "!:\private\A000E3FC\content\second.png"
+
+;qmldialcontrol
+; Executable and default resource files
+"/epoc32/release/armv5/urel/qmldialcontrol.exe" - "!:\sys\bin\qmldialcontrol.exe"
+"/epoc32/data/z/resource/apps/qmldialcontrol.rsc" - "!:\resource\apps\qmldialcontrol.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/qmldialcontrol_reg.rsc" - "!:\private\10003a3f\import\apps\qmldialcontrol_reg.rsc"
+"/epoc32/data/z/resource/apps/qmldialcontrol.mif" - "!:\resource\apps\qmldialcontrol.mif"
+
+; DEPLOYMENT
+"/epoc32/data/z/private/A000E3FD/dialcontrol.qml" - "!:\private\A000E3FD\dialcontrol.qml"
+"/epoc32/data/z/private/A000E3FD/content/background.png" - "!:\private\A000E3FD\content\background.png"
+"/epoc32/data/z/private/A000E3FD/content/Dial.qml" - "!:\private\A000E3FD\content\Dial.qml"
+"/epoc32/data/z/private/A000E3FD/content/needle.png" - "!:\private\A000E3FD\content\needle.png"
+"/epoc32/data/z/private/A000E3FD/content/needle_shadow.png" - "!:\private\A000E3FD\content\needle_shadow.png"
+"/epoc32/data/z/private/A000E3FD/content/overlay.png" - "!:\private\A000E3FD\content\overlay.png"
+
+;qmleasing
+; Executable and default resource files
+"/epoc32/release/armv5/urel/qmleasing.exe" - "!:\sys\bin\qmleasing.exe"
+"/epoc32/data/z/resource/apps/qmleasing.rsc" - "!:\resource\apps\qmleasing.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/qmleasing_reg.rsc" - "!:\private\10003a3f\import\apps\qmleasing_reg.rsc"
+"/epoc32/data/z/resource/apps/qmleasing.mif" - "!:\resource\apps\qmleasing.mif"
+
+; DEPLOYMENT
+"/epoc32/data/z/private/A000E3FE/easing.qml" - "!:\private\A000E3FE\easing.qml"
+
+;qmlflickr
+; Executable and default resource files
+"/epoc32/release/armv5/urel/qmlflickr.exe" - "!:\sys\bin\qmlflickr.exe"
+"/epoc32/data/z/resource/apps/qmlflickr.rsc" - "!:\resource\apps\qmlflickr.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/qmlflickr_reg.rsc" - "!:\private\10003a3f\import\apps\qmlflickr_reg.rsc"
+"/epoc32/data/z/resource/apps/qmlflickr.mif" - "!:\resource\apps\qmlflickr.mif"
+
+; DEPLOYMENT
+"/epoc32/data/z/private/A000E3FF/flickr.qml" - "!:\private\A000E3FF\flickr.qml"
+"/epoc32/data/z/private/A000E3FF/common/Progress.qml" - "!:\private\A000E3FF\common\Progress.qml"
+"/epoc32/data/z/private/A000E3FF/common/qmldir" - "!:\private\A000E3FF\common\qmldir"
+"/epoc32/data/z/private/A000E3FF/common/RssModel.qml" - "!:\private\A000E3FF\common\RssModel.qml"
+"/epoc32/data/z/private/A000E3FF/common/ScrollBar.qml" - "!:\private\A000E3FF\common\ScrollBar.qml"
+"/epoc32/data/z/private/A000E3FF/common/Slider.qml" - "!:\private\A000E3FF\common\Slider.qml"
+"/epoc32/data/z/private/A000E3FF/mobile/Button.qml" - "!:\private\A000E3FF\mobile\Button.qml"
+"/epoc32/data/z/private/A000E3FF/mobile/GridDelegate.qml" - "!:\private\A000E3FF\mobile\GridDelegate.qml"
+"/epoc32/data/z/private/A000E3FF/mobile/ImageDetails.qml" - "!:\private\A000E3FF\mobile\ImageDetails.qml"
+"/epoc32/data/z/private/A000E3FF/mobile/images/gloss.png" - "!:\private\A000E3FF\mobile\images\gloss.png"
+"/epoc32/data/z/private/A000E3FF/mobile/images/lineedit.png" - "!:\private\A000E3FF\mobile\images\lineedit.png"
+"/epoc32/data/z/private/A000E3FF/mobile/images/lineedit.sci" - "!:\private\A000E3FF\mobile\images\lineedit.sci"
+"/epoc32/data/z/private/A000E3FF/mobile/images/quit.png" - "!:\private\A000E3FF\mobile\images\quit.png"
+"/epoc32/data/z/private/A000E3FF/mobile/images/stripes.png" - "!:\private\A000E3FF\mobile\images\stripes.png"
+"/epoc32/data/z/private/A000E3FF/mobile/images/titlebar.png" - "!:\private\A000E3FF\mobile\images\titlebar.png"
+"/epoc32/data/z/private/A000E3FF/mobile/images/titlebar.sci" - "!:\private\A000E3FF\mobile\images\titlebar.sci"
+"/epoc32/data/z/private/A000E3FF/mobile/images/toolbutton.png" - "!:\private\A000E3FF\mobile\images\toolbutton.png"
+"/epoc32/data/z/private/A000E3FF/mobile/images/toolbutton.sci" - "!:\private\A000E3FF\mobile\images\toolbutton.sci"
+"/epoc32/data/z/private/A000E3FF/mobile/ListDelegate.qml" - "!:\private\A000E3FF\mobile\ListDelegate.qml"
+"/epoc32/data/z/private/A000E3FF/mobile/TitleBar.qml" - "!:\private\A000E3FF\mobile\TitleBar.qml"
+"/epoc32/data/z/private/A000E3FF/mobile/ToolBar.qml" - "!:\private\A000E3FF\mobile\ToolBar.qml"
+
+;qmlphotoviewer
+; Executable and default resource files
+"/epoc32/release/armv5/urel/qmlphotoviewer.exe" - "!:\sys\bin\qmlphotoviewer.exe"
+"/epoc32/data/z/resource/apps/qmlphotoviewer.rsc" - "!:\resource\apps\qmlphotoviewer.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/qmlphotoviewer_reg.rsc" - "!:\private\10003a3f\import\apps\qmlphotoviewer_reg.rsc"
+"/epoc32/data/z/resource/apps/qmlphotoviewer.mif" - "!:\resource\apps\qmlphotoviewer.mif"
+
+; DEPLOYMENT
+"/epoc32/data/z/private/A000E400/photoviewer.qml" - "!:\private\A000E400\photoviewer.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/AlbumDelegate.qml" - "!:\private\A000E400\PhotoViewerCore\AlbumDelegate.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/BusyIndicator.qml" - "!:\private\A000E400\PhotoViewerCore\BusyIndicator.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/Button.qml" - "!:\private\A000E400\PhotoViewerCore\Button.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/EditableButton.qml" - "!:\private\A000E400\PhotoViewerCore\EditableButton.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/images/box-shadow.png" - "!:\private\A000E400\PhotoViewerCore\images\box-shadow.png"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/images/busy.png" - "!:\private\A000E400\PhotoViewerCore\images\busy.png"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/images/cardboard.png" - "!:\private\A000E400\PhotoViewerCore\images\cardboard.png"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/PhotoDelegate.qml" - "!:\private\A000E400\PhotoViewerCore\PhotoDelegate.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/ProgressBar.qml" - "!:\private\A000E400\PhotoViewerCore\ProgressBar.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/qmldir" - "!:\private\A000E400\PhotoViewerCore\qmldir"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/RssModel.qml" - "!:\private\A000E400\PhotoViewerCore\RssModel.qml"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/script/script.js" - "!:\private\A000E400\PhotoViewerCore\script\script.js"
+"/epoc32/data/z/private/A000E400/PhotoViewerCore/Tag.qml" - "!:\private\A000E400\PhotoViewerCore\Tag.qml"
+
+; qmltwitter
+; Executable and default resource files
+"/epoc32/release/armv5/urel/qmltwitter.exe" - "!:\sys\bin\qmltwitter.exe"
+"/epoc32/data/z/resource/apps/qmltwitter.rsc" - "!:\resource\apps\qmltwitter.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/qmltwitter_reg.rsc" - "!:\private\10003a3f\import\apps\qmltwitter_reg.rsc"
+"/epoc32/data/z/resource/apps/qmltwitter.mif" - "!:\resource\apps\qmltwitter.mif"
+
+; DEPLOYMENT
+"/epoc32/data/z/private/A000E401/twitter.qml" - "!:\private\A000E401\twitter.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/Button.qml" - "!:\private\A000E401\TwitterCore\Button.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/FatDelegate.qml" - "!:\private\A000E401\TwitterCore\FatDelegate.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/gloss.png" - "!:\private\A000E401\TwitterCore\images\gloss.png"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/lineedit.png" - "!:\private\A000E401\TwitterCore\images\lineedit.png"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/lineedit.sci" - "!:\private\A000E401\TwitterCore\images\lineedit.sci"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/loading.png" - "!:\private\A000E401\TwitterCore\images\loading.png"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/stripes.png" - "!:\private\A000E401\TwitterCore\images\stripes.png"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/titlebar.png" - "!:\private\A000E401\TwitterCore\images\titlebar.png"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/titlebar.sci" - "!:\private\A000E401\TwitterCore\images\titlebar.sci"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/toolbutton.png" - "!:\private\A000E401\TwitterCore\images\toolbutton.png"
+"/epoc32/data/z/private/A000E401/TwitterCore/images/toolbutton.sci" - "!:\private\A000E401\TwitterCore\images\toolbutton.sci"
+"/epoc32/data/z/private/A000E401/TwitterCore/Loading.qml" - "!:\private\A000E401\TwitterCore\Loading.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/MultiTitleBar.qml" - "!:\private\A000E401\TwitterCore\MultiTitleBar.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/qmldir" - "!:\private\A000E401\TwitterCore\qmldir"
+"/epoc32/data/z/private/A000E401/TwitterCore/RssModel.qml" - "!:\private\A000E401\TwitterCore\RssModel.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/TitleBar.qml" - "!:\private\A000E401\TwitterCore\TitleBar.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/ToolBar.qml" - "!:\private\A000E401\TwitterCore\ToolBar.qml"
+"/epoc32/data/z/private/A000E401/TwitterCore/UserModel.qml" - "!:\private\A000E401\TwitterCore\UserModel.qml"
diff --git a/config.profiles/symbian/sysdef_1_5_1.dtd b/config.profiles/symbian/sysdef_1_5_1.dtd
new file mode 100644
index 0000000..2defd21
--- /dev/null
+++ b/config.profiles/symbian/sysdef_1_5_1.dtd
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+ name CDATA #REQUIRED
+ schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+ name CDATA #REQUIRED
+ levels CDATA #IMPLIED
+ span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+ name CDATA #REQUIRED
+ level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+ unitID ID #REQUIRED
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ bldFile CDATA #REQUIRED
+ priority CDATA #IMPLIED
+ contract CDATA #IMPLIED
+ proFile CDATA #IMPLIED
+ qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+ name CDATA #REQUIRED
+ version CDATA #REQUIRED
+ late (Y|N) #IMPLIED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+ name ID #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+ name ID #REQUIRED
+ abldTarget CDATA #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+ name ID #REQUIRED
+ abldOption CDATA #REQUIRED
+ description CDATA #REQUIRED
+ enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+ command CDATA #REQUIRED
+ targetList IDREFS #IMPLIED
+ unitParallel (Y | N | y | n) #REQUIRED
+ targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+ name CDATA #REQUIRED
+ cwd CDATA #REQUIRED
+ command CDATA #REQUIRED>
diff --git a/config.profiles/symbian/translations/qt_ar.ts b/config.profiles/symbian/translations/qt_ar.ts
new file mode 100644
index 0000000..aca2bd7
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_ar.ts
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>RTL</translation>
+ </message>
+</context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_fa.ts b/config.profiles/symbian/translations/qt_fa.ts
new file mode 100644
index 0000000..386480e
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_fa.ts
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TS>
+
+<TS version="2.0" language="fa">
+<context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>RTL</translation>
+ </message>
+</context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_fr_symbian.ts b/config.profiles/symbian/translations/qt_fr_symbian.ts
new file mode 100644
index 0000000..e10f963
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_fr_symbian.ts
@@ -0,0 +1,8519 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TS>
+
+<TS version="2.0" language="fr">
+ <context>
+ <name>CloseButton</name>
+ <message>
+ <source>Close Tab</source>
+ <translation>Fermer l&apos;onglet</translation>
+ </message>
+ </context>
+ <context>
+ <name>FakeReply</name>
+ <message>
+ <source>Fake error !</source>
+ <translation>Fausse erreur!</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>URL non valide</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::</name>
+ <message>
+ <source>Notifications</source>
+ <translation>Notifications</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>Musique</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Vidéo</translation>
+ </message>
+ <message>
+ <source>Communication</source>
+ <translation>Communication</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Jeux</translation>
+ </message>
+ <message>
+ <source>Accessibility</source>
+ <translation>Accessibilité</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::AudioOutput</name>
+ <message>
+ <source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;L&apos;appareil de lecture audio &lt;b&gt;%1&lt;/b&gt; ne fonctionne pas.&lt;br/&gt;Retour Ă  &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Basculement vers l&apos;appareil de lecture audio &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;qui vient juste d&apos;être disponible et dont le niveau de préférence est plus élevé.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation>Revenir Ă  l&apos;appareil &apos;%1&apos;</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::Backend</name>
+ <message>
+ <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
+ Some video features have been disabled.</source>
+ <translation>Attention: Vous n&apos;avez apparemment pas installé le paquet gstreamer0.10-plugins-good.
+Des fonctionnalités vidéo ont été desactivées.</translation>
+ </message>
+ <message>
+ <source>Warning: You do not seem to have the base GStreamer plugins installed.
+ All audio and video support has been disabled</source>
+ <translation>Attention: Vous n&apos;avez apparemment pas installées les plugins de base de GStreamer.
+Le support audio et vidéo est désactivé</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::MediaObject</name>
+ <message>
+ <source>Cannot start playback.
+
+Check your GStreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
+ <translation>Un codec requis est manquant. Vous devez installer le codec suivant pour jouer le contenu: %0</translation>
+ </message>
+ <message>
+ <source>Could not open media source.</source>
+ <translation>Impossible d&apos;ouvrir le média source.</translation>
+ </message>
+ <message>
+ <source>Invalid source type.</source>
+ <translation>Type de source invalide.</translation>
+ </message>
+ <message>
+ <source>Could not locate media source.</source>
+ <translation>Impossible de localiser le média source.</translation>
+ </message>
+ <message>
+ <source>Could not open audio device. The device is already in use.</source>
+ <translation>Impossible d&apos;ouvrir le périphérique audio. Celui-ci est déjà en cours d&apos;utilisation.</translation>
+ </message>
+ <message>
+ <source>Could not decode media source.</source>
+ <translation>Impossible de décoder le média source.</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF</name>
+ <message>
+ <source>Audio Output</source>
+ <translation>Sortie audio</translation>
+ </message>
+ <message>
+ <source>The audio output device</source>
+ <translation>Appareil de sortie audio</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Aucune erreur</translation>
+ </message>
+ <message>
+ <source>Not found</source>
+ <translation>Introuvable</translation>
+ </message>
+ <message>
+ <source>Out of memory</source>
+ <translation>MĂ©moire insuffisante</translation>
+ </message>
+ <message>
+ <source>Not supported</source>
+ <translation>Non supporté</translation>
+ </message>
+ <message>
+ <source>Overflow</source>
+ <translation>DĂ©passement</translation>
+ </message>
+ <message>
+ <source>Underflow</source>
+ <translation>Soupassement</translation>
+ </message>
+ <message>
+ <source>Already exists</source>
+ <translation>Existe déjà</translation>
+ </message>
+ <message>
+ <source>Path not found</source>
+ <translation>Chemin introuvable</translation>
+ </message>
+ <message>
+ <source>In use</source>
+ <translation>Utilisé</translation>
+ </message>
+ <message>
+ <source>Not ready</source>
+ <translation>Pas prĂŞt</translation>
+ </message>
+ <message>
+ <source>Access denied</source>
+ <translation>Accès refusé</translation>
+ </message>
+ <message>
+ <source>Could not connect</source>
+ <translation>Connexion impossible</translation>
+ </message>
+ <message>
+ <source>Disconnected</source>
+ <translation>Déconnecté</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Autorisation refusée</translation>
+ </message>
+ <message>
+ <source>Insufficient bandwidth</source>
+ <translation>Bande passante insuffisante</translation>
+ </message>
+ <message>
+ <source>Network unavailable</source>
+ <translation>RĂ©seau non disponible</translation>
+ </message>
+ <message>
+ <source>Network communication error</source>
+ <translation>Erreur de communication réseau</translation>
+ </message>
+ <message>
+ <source>Streaming not supported</source>
+ <translation>Streaming non supporté</translation>
+ </message>
+ <message>
+ <source>Server alert</source>
+ <translation>Alerte serveur</translation>
+ </message>
+ <message>
+ <source>Invalid protocol</source>
+ <translation>Protocole non valide</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>URL non valide</translation>
+ </message>
+ <message>
+ <source>Multicast error</source>
+ <translation>Erreur multicast</translation>
+ </message>
+ <message>
+ <source>Proxy server error</source>
+ <translation>Erreur du serveur proxy</translation>
+ </message>
+ <message>
+ <source>Proxy server not supported</source>
+ <translation>Serveur proxy non supporté</translation>
+ </message>
+ <message>
+ <source>Audio output error</source>
+ <translation>Erreur de sortie audio</translation>
+ </message>
+ <message>
+ <source>Video output error</source>
+ <translation>Erreur de sortie vidéo</translation>
+ </message>
+ <message>
+ <source>Decoder error</source>
+ <translation>Erreur du décodeur</translation>
+ </message>
+ <message>
+ <source>Audio or video components could not be played</source>
+ <translation>Les composants audio ou vidéo n&apos;ont pas pu être lus</translation>
+ </message>
+ <message>
+ <source>DRM error</source>
+ <translation>Erreur GDN</translation>
+ </message>
+ <message>
+ <source>Unknown error (%1)</source>
+ <translation>Erreur inconnue (%1)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <source>Not ready to play</source>
+ <translation>Pas prĂŞt pour lecture</translation>
+ </message>
+ <message>
+ <source>Error opening file</source>
+ <translation>Erreur lors de l&apos;ouverture du fichier</translation>
+ </message>
+ <message>
+ <source>Error opening URL</source>
+ <translation>Erreur lors de l&apos;ouverture de l&apos;URL</translation>
+ </message>
+ <message>
+ <source>Setting volume failed</source>
+ <translation>Le réglage du volume a échoué</translation>
+ </message>
+ <message>
+ <source>Playback complete</source>
+ <translation>Lecture terminée</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <source>%1 Hz</source>
+ <translation>%1 Hz</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <source>Getting position failed</source>
+ <translation>L&apos;obtention de la position a échoué</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>L&apos;ouverture du clip a échoué</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <source>Enabled</source>
+ <translation>Activé</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <source>Decay HF ratio (%)</source>
+ <translation>Ratio HF du déclin (%)</translation>
+ </message>
+ <message>
+ <source>Decay time (ms)</source>
+ <translation>Temps de déclin (ms)</translation>
+ </message>
+ <message>
+ <source>Density (%)</source>
+ <translation>Densité (%)</translation>
+ </message>
+ <message>
+ <source>Diffusion (%)</source>
+ <translation>Diffusion (%)</translation>
+ </message>
+ <message>
+ <source>Reflections delay (ms)</source>
+ <translation>Délai réflexions (ms)</translation>
+ </message>
+ <message>
+ <source>Reflections level (mB)</source>
+ <translation>Niveau réflexions (mB)</translation>
+ </message>
+ <message>
+ <source>Reverb delay (ms)</source>
+ <translation>Délai de réverbération (ms)</translation>
+ </message>
+ <message>
+ <source>Reverb level (mB)</source>
+ <translation>Niveau de réverbération (mB)</translation>
+ </message>
+ <message>
+ <source>Room HF level</source>
+ <translation>Niveau HF pièce</translation>
+ </message>
+ <message>
+ <source>Room level (mB)</source>
+ <translation>Niveau pièce (mB)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <source>Error opening source: type not supported</source>
+ <translation>Erreur lors de l&apos;ouverture de la source: type non supporté</translation>
+ </message>
+ <message>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>Erreur lors de l&apos;ouverture de la source: type de média non déterminé</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <source>Level (%)</source>
+ <translation>Niveau (%)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation>La mise en pause a échoué</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation>La recherche a échoué</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation>L&apos;obtention de la position a échoué</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>L&apos;ouverture du clip a échoué</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation>La mise en mémoire tampon du clip a échoué</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation>Erreur de l&apos;affichage vidéo</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::VolumeSlider</name>
+ <message>
+ <source>Volume: %1%</source>
+ <translation>Volume: %1%</translation>
+ </message>
+ <message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <translation>Utilisez le slider pour ajuster le volume. La position la plus Ă  gauche est 0%, la plus Ă  droite est %1%</translation>
+ </message>
+ <message>
+ <source>Muted</source>
+ <translation>Son coupé</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Accel</name>
+ <message>
+ <source>%1, %2 not defined</source>
+ <translation>La séquence %1, %2 n&apos;est pas définie</translation>
+ </message>
+ <message>
+ <source>Ambiguous %1 not handled</source>
+ <translation>Séquence ambiguë %1 non traitée</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3DataTable</name>
+ <message>
+ <source>True</source>
+ <translation>Vrai</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>Faux</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Insérer</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>Actualiser</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3FileDialog</name>
+ <message>
+ <source>Copy or Move a File</source>
+ <translation>Copie ou déplace un fichier</translation>
+ </message>
+ <message>
+ <source>Read: %1</source>
+ <translation>Lecture : %1</translation>
+ </message>
+ <message>
+ <source>Write: %1</source>
+ <translation>Écriture : %1</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>All Files (*)</source>
+ <translation>Tous les fichiers (*)</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Taille</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>Date</source>
+ <translation>Date</translation>
+ </message>
+ <message>
+ <source>Attributes</source>
+ <translation>Attributs</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <source>Look &amp;in:</source>
+ <translation>Chercher &amp;dans :</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>&amp;Nom de fichier :</translation>
+ </message>
+ <message>
+ <source>File &amp;type:</source>
+ <translation>&amp;Type de fichier :</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>Précédent (historique)</translation>
+ </message>
+ <message>
+ <source>One directory up</source>
+ <translation>Aller au dossier parent</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>Créer un nouveau dossier</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>Affichage liste</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>Affichage détaillé</translation>
+ </message>
+ <message>
+ <source>Preview File Info</source>
+ <translation>Informations du fichier prévisualisé</translation>
+ </message>
+ <message>
+ <source>Preview File Contents</source>
+ <translation>Contenu du fichier prévisualisé</translation>
+ </message>
+ <message>
+ <source>Read-write</source>
+ <translation>Lecture-Ă©criture</translation>
+ </message>
+ <message>
+ <source>Read-only</source>
+ <translation>Lecture seule</translation>
+ </message>
+ <message>
+ <source>Write-only</source>
+ <translation>Écriture seule</translation>
+ </message>
+ <message>
+ <source>Inaccessible</source>
+ <translation>Inaccessible</translation>
+ </message>
+ <message>
+ <source>Symlink to File</source>
+ <translation>Lien symbolique vers un fichier</translation>
+ </message>
+ <message>
+ <source>Symlink to Directory</source>
+ <translation>Lien symbolique vers un dossier</translation>
+ </message>
+ <message>
+ <source>Symlink to Special</source>
+ <translation>Lien symbolique vers un fichier spécial</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>Fichier</translation>
+ </message>
+ <message>
+ <source>Dir</source>
+ <translation>Dossier</translation>
+ </message>
+ <message>
+ <source>Special</source>
+ <translation>Fichier spécial</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Ouvrir</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>Enregistrer sous</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>&amp;Ouvrir</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Enregistrer</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Renommer</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>Suppri&amp;mer</translation>
+ </message>
+ <message>
+ <source>R&amp;eload</source>
+ <translation>R&amp;echarger</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Name</source>
+ <translation>Trier par &amp;nom</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Size</source>
+ <translation>Trier par ta&amp;ille</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Date</source>
+ <translation>Trier par &amp;date</translation>
+ </message>
+ <message>
+ <source>&amp;Unsorted</source>
+ <translation>&amp;Non trié</translation>
+ </message>
+ <message>
+ <source>Sort</source>
+ <translation>Tri</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>Afficher les fic&amp;hiers cachés</translation>
+ </message>
+ <message>
+ <source>the file</source>
+ <translation>le fichier</translation>
+ </message>
+ <message>
+ <source>the directory</source>
+ <translation>le dossier</translation>
+ </message>
+ <message>
+ <source>the symlink</source>
+ <translation>le lien symbolique</translation>
+ </message>
+ <message>
+ <source>Delete %1</source>
+ <translation>Supprimer %1</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;Voulez-vous vraiment supprimer %1 &quot;%2&quot; ?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>&amp;Oui</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>&amp;Non</translation>
+ </message>
+ <message>
+ <source>New Folder 1</source>
+ <translation>Nouveau dossier 1</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>Nouveau dossier</translation>
+ </message>
+ <message>
+ <source>New Folder %1</source>
+ <translation>Nouveau dossier %1</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>Chercher dans le dossier</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>Dossiers</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>Dossier :</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Erreur</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Check path and filename.</source>
+ <translation>%1
+Impossible de trouver le fichier.
+VĂ©rifier le chemin et le nom du fichier.</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>Tous les fichiers (*.*)</translation>
+ </message>
+ <message>
+ <source>Open </source>
+ <translation>Ouvrir</translation>
+ </message>
+ <message>
+ <source>Select a Directory</source>
+ <translation>SĂ©lectionner un dossier</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3LocalFs</name>
+ <message>
+ <source>Could not read directory
+%1</source>
+ <translation>Impossible de lire le dossier
+%1</translation>
+ </message>
+ <message>
+ <source>Could not create directory
+%1</source>
+ <translation>Impossible de créer le dossier
+%1</translation>
+ </message>
+ <message>
+ <source>Could not remove file or directory
+%1</source>
+ <translation>Impossible de supprimer le fichier ou dossier
+%1</translation>
+ </message>
+ <message>
+ <source>Could not rename
+%1
+to
+%2</source>
+ <translation>Impossible de renommer
+%1
+en
+%2</translation>
+ </message>
+ <message>
+ <source>Could not open
+%1</source>
+ <translation>Impossible d&apos;ouvrir
+%1</translation>
+ </message>
+ <message>
+ <source>Could not write
+%1</source>
+ <translation>Impossible d&apos;Ă©crire
+%1</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3MainWindow</name>
+ <message>
+ <source>Line up</source>
+ <translation>Aligner</translation>
+ </message>
+ <message>
+ <source>Customize...</source>
+ <translation>Personnaliser...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3NetworkProtocol</name>
+ <message>
+ <source>Operation stopped by the user</source>
+ <translation>Opération interrompue par l&apos;utilisateur</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TabDialog</name>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>Appliquer</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Aide</translation>
+ </message>
+ <message>
+ <source>Defaults</source>
+ <translation>Par défaut</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TextEdit</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;RĂ©tablir</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>Co&amp;uper</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>Cop&amp;ier</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>Co&amp;ller</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Effacer</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>Tout sélectionner</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TitleBar</name>
+ <message>
+ <source>System</source>
+ <translation>Système</translation>
+ </message>
+ <message>
+ <source>Restore up</source>
+ <translation>Restaurer en haut</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>RĂ©duire</translation>
+ </message>
+ <message>
+ <source>Restore down</source>
+ <translation>Restaurer en bas</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>Maximiser</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Contains commands to manipulate the window</source>
+ <translation>Contient des commandes pour manipuler la fenĂŞtre</translation>
+ </message>
+ <message>
+ <source>Puts a minimized window back to normal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Moves the window out of the way</source>
+ <translation>DĂ©place la fenĂŞtre Ă  l&apos;Ă©cart</translation>
+ </message>
+ <message>
+ <source>Puts a maximized window back to normal</source>
+ <translation>Rend à une fenêtre minimisée son aspect normal</translation>
+ </message>
+ <message>
+ <source>Makes the window full screen</source>
+ <translation>Affiche la fenĂŞtre en plein Ă©cran</translation>
+ </message>
+ <message>
+ <source>Closes the window</source>
+ <translation>Ferme la fenĂŞtre</translation>
+ </message>
+ <message>
+ <source>Displays the name of the window and contains controls to manipulate it</source>
+ <translation>Affiche le nom de la fenĂŞtre et contient des contrĂ´les pour la manipuler</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ToolBar</name>
+ <message>
+ <source>More...</source>
+ <translation>Reste...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3UrlOperator</name>
+ <message>
+ <source>The protocol `%1&apos; is not supported</source>
+ <translation>Le protocole &apos;%1&apos; n&apos;est pas géré</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support listing directories</source>
+ <translation>Le protocole `%1&apos; ne permet pas de lister les fichiers d&apos;un dossier</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support creating new directories</source>
+ <translation>Le protocole `%1&apos; ne permet pas de créer de nouveaux dossiers</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support removing files or directories</source>
+ <translation>Le protocole `%1&apos; ne permet pas de supprimer des fichiers ou des dossiers</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support renaming files or directories</source>
+ <translation>Le protocole `%1&apos; ne permet pas de renommer des fichiers ou des dossiers</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support getting files</source>
+ <translation>Le protocole `%1&apos; ne permet pas de recevoir des fichiers</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support putting files</source>
+ <translation>Le protocole `%1&apos; ne permet pas d&apos;envoyer des fichiers</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+ <translation>Le protocole `%1&apos; ne permet pas de copier ou de déplacer des fichiers</translation>
+ </message>
+ <message>
+ <source>(unknown)</source>
+ <translation>(inconnu)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Wizard</name>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation>&lt; &amp;Précédent</translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation>&amp;Suivant &gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation>&amp;Terminer</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>&amp;Aide</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSocket</name>
+ <message>
+ <source>Host not found</source>
+ <translation>HĂ´te introuvable</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>Connexion refusée</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Connexion expirée</translation>
+ </message>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>Opération sur socket non supportée</translation>
+ </message>
+ <message>
+ <source>Socket operation timed out</source>
+ <translation>Opération socket expirée</translation>
+ </message>
+ <message>
+ <source>Socket is not connected</source>
+ <translation>Le socket n&apos;est pas connecté</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>RĂ©seau impossible Ă  rejoindre</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSpinBox</name>
+ <message>
+ <source>&amp;Step up</source>
+ <translation>&amp;Augmenter</translation>
+ </message>
+ <message>
+ <source>Step &amp;down</source>
+ <translation>&amp;Diminuer</translation>
+ </message>
+ <message>
+ <source>&amp;Select All</source>
+ <translation>Tout &amp;sélectionner</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAccessibleButton</name>
+ <message>
+ <source>Press</source>
+ <translation>Appuyer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>LTR</translation>
+ </message>
+ <message>
+ <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+ <translation>L&apos;exécutable &apos;%1&apos; requiert Qt %2 (Qt %3 présent).</translation>
+ </message>
+ <message>
+ <source>Incompatible Qt Library Error</source>
+ <translation>Erreur : bibliothèque Qt incompatible</translation>
+ </message>
+ <message>
+ <source>Activate</source>
+ <translation>Activer</translation>
+ </message>
+ <message>
+ <source>Activates the program&apos;s main window</source>
+ <translation>Active la fenĂŞtre principale du programme</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAxSelect</name>
+ <message>
+ <source>Select ActiveX Control</source>
+ <translation>SĂ©lectionner un contrĂ´le ActiveX</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <source>COM &amp;Object:</source>
+ <translation>&amp;Objet COM :</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCheckBox</name>
+ <message>
+ <source>Uncheck</source>
+ <translation>DĂ©cocher</translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation>Cocher</translation>
+ </message>
+ <message>
+ <source>Toggle</source>
+ <translation>Changer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QColorDialog</name>
+ <message>
+ <source>Hu&amp;e:</source>
+ <translation>&amp;Teinte :</translation>
+ </message>
+ <message>
+ <source>&amp;Sat:</source>
+ <translation>&amp;Saturation :</translation>
+ </message>
+ <message>
+ <source>&amp;Val:</source>
+ <translation>&amp;Valeur :</translation>
+ </message>
+ <message>
+ <source>&amp;Red:</source>
+ <translation>&amp;Rouge :</translation>
+ </message>
+ <message>
+ <source>&amp;Green:</source>
+ <translation>&amp;Vert :</translation>
+ </message>
+ <message>
+ <source>Bl&amp;ue:</source>
+ <translation>Ble&amp;u :</translation>
+ </message>
+ <message>
+ <source>A&amp;lpha channel:</source>
+ <translation>Canal a&amp;lpha :</translation>
+ </message>
+ <message>
+ <source>Select Color</source>
+ <translation>SĂ©lectionner une couleur</translation>
+ </message>
+ <message>
+ <source>&amp;Basic colors</source>
+ <translation>Couleurs de &amp;base</translation>
+ </message>
+ <message>
+ <source>&amp;Custom colors</source>
+ <translation>&amp;Couleurs personnalisées</translation>
+ </message>
+ <message>
+ <source>&amp;Add to Custom Colors</source>
+ <translation>&amp;Ajouter aux couleurs personnalisées</translation>
+ </message>
+ </context>
+ <context>
+ <name>QComboBox</name>
+ <message>
+ <source>Open</source>
+ <translation>Ouvrir</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>Faux</translation>
+ </message>
+ <message>
+ <source>True</source>
+ <translation>Vrai</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCoreApplication</name>
+ <message>
+ <source>%1: key is empty</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: clé vide</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: impossible de créer la clé</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: ftok a échoué</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: existe déjà</translation>
+ </message>
+ <message>
+ <source>%1: does not exist</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: n&apos;existe pas</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: plus de ressources disponibles</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: erreur inconnue %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Driver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Incapable d&apos;Ă©tablir une connexion</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Incapable de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Incapable d&apos;annuler la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to set autocommit</source>
+ <translation>Impossible d&apos;activer l&apos;auto-soumission</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Result</name>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Impossible d&apos;exécuter la requête</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Impossible de prépare la requête</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>Impossible d&apos;attacher la variable</translation>
+ </message>
+ <message>
+ <source>Unable to fetch record %1</source>
+ <translation>Impossible de récupérer l&apos;enregistrement %1</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>Impossible de récupérer le suivant</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>Impossible de récupérer le premier</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDateTimeEdit</name>
+ <message>
+ <source>AM</source>
+ <translation>AM</translation>
+ </message>
+ <message>
+ <source>am</source>
+ <translation>am</translation>
+ </message>
+ <message>
+ <source>PM</source>
+ <translation>PM</translation>
+ </message>
+ <message>
+ <source>pm</source>
+ <translation>pm</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDial</name>
+ <message>
+ <source>QDial</source>
+ <translation>QDial</translation>
+ </message>
+ <message>
+ <source>SpeedoMeter</source>
+ <translation>Tachymètre</translation>
+ </message>
+ <message>
+ <source>SliderHandle</source>
+ <translation>Poignée</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialog</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation>Qu&apos;est-ce que c&apos;est ?</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Terminer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialogButtonBox</name>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Enregistrer</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>Enregi&amp;strer</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Ouvrir</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>&amp;Fermer</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>Appliquer</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation>RĂ©initialiser</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Aide</translation>
+ </message>
+ <message>
+ <source>Don&apos;t Save</source>
+ <translation>Ne pas enregistrer</translation>
+ </message>
+ <message>
+ <source>Discard</source>
+ <translation>Ne pas enregistrer</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>&amp;Oui</translation>
+ </message>
+ <message>
+ <source>Yes to &amp;All</source>
+ <translation>Oui Ă  &amp;tout</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>&amp;Non</translation>
+ </message>
+ <message>
+ <source>N&amp;o to All</source>
+ <translation>Non Ă  to&amp;ut</translation>
+ </message>
+ <message>
+ <source>Save All</source>
+ <translation>Tout Enregistrer</translation>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>Abandonner</translation>
+ </message>
+ <message>
+ <source>Retry</source>
+ <translation>RĂ©essayer</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <translation>Ignorer</translation>
+ </message>
+ <message>
+ <source>Restore Defaults</source>
+ <translation>Restaurer les valeurs par défaut</translation>
+ </message>
+ <message>
+ <source>Close without Saving</source>
+ <translation>Fermer sans sauvegarder</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDirModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Taille</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>Dernière Modification</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDockWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Dock</source>
+ <translation>Attacher</translation>
+ </message>
+ <message>
+ <source>Float</source>
+ <translation>DĂ©tacher</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDoubleSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>Plus</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>Moins</translation>
+ </message>
+ </context>
+ <context>
+ <name>QErrorMessage</name>
+ <message>
+ <source>&amp;Show this message again</source>
+ <translation>&amp;Afficher ce message de nouveau</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <source>Debug Message:</source>
+ <translation>Message de débogage:</translation>
+ </message>
+ <message>
+ <source>Warning:</source>
+ <translation>Avertissement:</translation>
+ </message>
+ <message>
+ <source>Fatal Error:</source>
+ <translation>Erreur fatale:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFile</name>
+ <message>
+ <source>Destination file exists</source>
+ <translation>Le fichier destination existe</translation>
+ </message>
+ <message>
+ <source>Will not rename sequential file using block copy</source>
+ <translation>Ne renommera pas le fichier séquentiel avec la copie bloc</translation>
+ </message>
+ <message>
+ <source>Cannot remove source file</source>
+ <translation>Impossible de supprimer le fichier source</translation>
+ </message>
+ <message>
+ <source>Cannot open %1 for input</source>
+ <translation>Impossible d&apos;ouvrir %1 pour lecture</translation>
+ </message>
+ <message>
+ <source>Cannot open for output</source>
+ <translation>Impossible d&apos;ouvrir pour Ă©criture</translation>
+ </message>
+ <message>
+ <source>Failure to write block</source>
+ <translation>Impossible d&apos;Ă©crire un bloc</translation>
+ </message>
+ <message>
+ <source>Cannot create %1 for output</source>
+ <translation>Impossible de créer %1 pour écriture</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileDialog</name>
+ <message>
+ <source>All Files (*)</source>
+ <translation>Tous les fichiers (*)</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>Précédent (historique)</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>Affichage liste</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>Affichage détaillé</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>Fichier</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Ouvrir</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>Enregistrer sous</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>&amp;Ouvrir</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Enregistrer</translation>
+ </message>
+ <message>
+ <source>Recent Places</source>
+ <translation>Emplacements récents</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Renommer</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>Suppri&amp;mer</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>Afficher les fic&amp;hiers cachés</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>Nouveau dossier</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>Chercher dans le dossier</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>Dossiers</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>Tous les fichiers (*.*)</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>Dossier :</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser ?</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+ <translation>%1
+Fichier introuvable.
+Veuillez vérifier que le nom du fichier est correct.</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>Poste de travail</translation>
+ </message>
+ <message>
+ <source>Parent Directory</source>
+ <translation>Dossier parent</translation>
+ </message>
+ <message>
+ <source>Files of type:</source>
+ <translation>Fichiers de type :</translation>
+ </message>
+ <message>
+ <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+ <translation>%1
+Dossier introuvable.
+Veuillez vérifier que le nom du dossier est correct.</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is write protected.
+Do you want to delete it anyway?</source>
+ <translation>&apos;%1&apos; est protégé en écriture.
+Voulez-vous quand même le supprimer ?</translation>
+ </message>
+ <message>
+ <source>Are sure you want to delete &apos;%1&apos;?</source>
+ <translation>Etes-vous sûr de vouloir supprimer &apos;%1&apos; ?</translation>
+ </message>
+ <message>
+ <source>Could not delete directory.</source>
+ <translation>Impossible de supprimer le dossier.</translation>
+ </message>
+ <message>
+ <source>Drive</source>
+ <translation>Unité</translation>
+ </message>
+ <message>
+ <source>File Folder</source>
+ <comment>Match Windows Explorer</comment>
+ <translation>Fichier Dossier</translation>
+ </message>
+ <message>
+ <source>Folder</source>
+ <comment>All other platforms</comment>
+ <translation>Dossier</translation>
+ </message>
+ <message>
+ <source>Alias</source>
+ <comment>Mac OS X Finder</comment>
+ <translation>Pseudo</translation>
+ </message>
+ <message>
+ <source>Shortcut</source>
+ <comment>All other platforms</comment>
+ <translation>Raccourci</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>Inconnu</translation>
+ </message>
+ <message>
+ <source>Show </source>
+ <translation>Montrer </translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>Successeur</translation>
+ </message>
+ <message>
+ <source>&amp;New Folder</source>
+ <translation>&amp;Nouveau dossier</translation>
+ </message>
+ <message>
+ <source>&amp;Choose</source>
+ <translation>&amp;Choisir</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>&amp;Nom de fichier :</translation>
+ </message>
+ <message>
+ <source>Look in:</source>
+ <translation>Voir dans:</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>Créer un nouveau dossier</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileSystemModel</name>
+ <message>
+ <source>%1 TB</source>
+ <translation>%1 To</translation>
+ </message>
+ <message>
+ <source>%1 GB</source>
+ <translation>%1 Go</translation>
+ </message>
+ <message>
+ <source>%1 MB</source>
+ <translation>%1 Mo</translation>
+ </message>
+ <message>
+ <source>%1 KB</source>
+ <translation>%1 Ko</translation>
+ </message>
+ <message>
+ <source>%1 bytes</source>
+ <translation>%1 octets</translation>
+ </message>
+ <message>
+ <source>Invalid filename</source>
+ <translation>Nom de fichier invalide</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
+ <translation>&lt;b&gt;Le nom &quot;%1&quot; ne peut pas être utilisé.&lt;/b&gt;&lt;p&gt;Essayez un autre nom avec moins de caractères ou sans ponctuation.</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Taille</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>Dernière modification</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>Mon ordinateur</translation>
+ </message>
+ <message>
+ <source>Computer</source>
+ <translation>Ordinateur</translation>
+ </message>
+ <message>
+ <source>%1 byte(s)</source>
+ <translation>%1 octet(s)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDatabase</name>
+ <message>
+ <source>Normal</source>
+ <translation>Normal</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <translation>Gras</translation>
+ </message>
+ <message>
+ <source>Demi Bold</source>
+ <translation>Semi Gras</translation>
+ </message>
+ <message>
+ <source>Black</source>
+ <translation>Noir</translation>
+ </message>
+ <message>
+ <source>Demi</source>
+ <translation>Demi</translation>
+ </message>
+ <message>
+ <source>Light</source>
+ <translation>LĂ©ger</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <translation>Italique</translation>
+ </message>
+ <message>
+ <source>Oblique</source>
+ <translation>Oblique</translation>
+ </message>
+ <message>
+ <source>Any</source>
+ <translation>Tous</translation>
+ </message>
+ <message>
+ <source>Latin</source>
+ <translation>Latin</translation>
+ </message>
+ <message>
+ <source>Greek</source>
+ <translation>Grec</translation>
+ </message>
+ <message>
+ <source>Cyrillic</source>
+ <translation>Cyrillique</translation>
+ </message>
+ <message>
+ <source>Armenian</source>
+ <translation>Arménien</translation>
+ </message>
+ <message>
+ <source>Hebrew</source>
+ <translation>HĂ©breu</translation>
+ </message>
+ <message>
+ <source>Arabic</source>
+ <translation>Arabe</translation>
+ </message>
+ <message>
+ <source>Syriac</source>
+ <translation>Syriaque</translation>
+ </message>
+ <message>
+ <source>Thaana</source>
+ <translation>Thaana</translation>
+ </message>
+ <message>
+ <source>Devanagari</source>
+ <translation>Devanagari</translation>
+ </message>
+ <message>
+ <source>Bengali</source>
+ <translation>Bengali</translation>
+ </message>
+ <message>
+ <source>Gurmukhi</source>
+ <translation>Gurmukhi</translation>
+ </message>
+ <message>
+ <source>Gujarati</source>
+ <translation>Gujarati</translation>
+ </message>
+ <message>
+ <source>Oriya</source>
+ <translation>Oriya</translation>
+ </message>
+ <message>
+ <source>Tamil</source>
+ <translation>Tamil</translation>
+ </message>
+ <message>
+ <source>Telugu</source>
+ <translation>Telugu</translation>
+ </message>
+ <message>
+ <source>Kannada</source>
+ <translation>Kannada</translation>
+ </message>
+ <message>
+ <source>Malayalam</source>
+ <translation>Malayalam</translation>
+ </message>
+ <message>
+ <source>Sinhala</source>
+ <translation>Sinhala</translation>
+ </message>
+ <message>
+ <source>Thai</source>
+ <translation>ThaĂŻ</translation>
+ </message>
+ <message>
+ <source>Lao</source>
+ <translation>Lao</translation>
+ </message>
+ <message>
+ <source>Tibetan</source>
+ <translation>Tibétain</translation>
+ </message>
+ <message>
+ <source>Myanmar</source>
+ <translation>Myanmar</translation>
+ </message>
+ <message>
+ <source>Georgian</source>
+ <translation>GĂ©orgien</translation>
+ </message>
+ <message>
+ <source>Khmer</source>
+ <translation>Khmer</translation>
+ </message>
+ <message>
+ <source>Simplified Chinese</source>
+ <translation>Chinois Simplifié</translation>
+ </message>
+ <message>
+ <source>Traditional Chinese</source>
+ <translation>Chinois Traditionnel</translation>
+ </message>
+ <message>
+ <source>Japanese</source>
+ <translation>Japonais</translation>
+ </message>
+ <message>
+ <source>Korean</source>
+ <translation>Coréen</translation>
+ </message>
+ <message>
+ <source>Vietnamese</source>
+ <translation>Vietnamien</translation>
+ </message>
+ <message>
+ <source>Symbol</source>
+ <translation>Symbole</translation>
+ </message>
+ <message>
+ <source>Ogham</source>
+ <translation>Ogham</translation>
+ </message>
+ <message>
+ <source>Runic</source>
+ <translation>Runique</translation>
+ </message>
+ <message>
+ <source>N&apos;Ko</source>
+ <translation>N&apos;Ko</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDialog</name>
+ <message>
+ <source>&amp;Font</source>
+ <translation>&amp;Police</translation>
+ </message>
+ <message>
+ <source>Font st&amp;yle</source>
+ <translation>St&amp;yle de police</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>&amp;Taille</translation>
+ </message>
+ <message>
+ <source>Effects</source>
+ <translation>Effets</translation>
+ </message>
+ <message>
+ <source>Stri&amp;keout</source>
+ <translation>&amp;Barré</translation>
+ </message>
+ <message>
+ <source>&amp;Underline</source>
+ <translation>&amp;Souligné</translation>
+ </message>
+ <message>
+ <source>Sample</source>
+ <translation>Exemple</translation>
+ </message>
+ <message>
+ <source>Select Font</source>
+ <translation>Choisir une police</translation>
+ </message>
+ <message>
+ <source>Wr&amp;iting System</source>
+ <translation>&amp;Système d&apos;écriture</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFtp</name>
+ <message>
+ <source>Host %1 found</source>
+ <translation>Hôte %1 trouvé</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>Hôte trouvé</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>Connecté à l&apos;hôte %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>Connecté à l&apos;hôte</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>Connexion à %1 arrêtée</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>Connexion arrêtée</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>HĂ´te %1 introuvable</translation>
+ </message>
+ <message>
+ <source>Connection refused to host %1</source>
+ <translation>Connexion à l&apos;hôte %1 refusée</translation>
+ </message>
+ <message>
+ <source>Connection timed out to host %1</source>
+ <translation>Connexion expirée vers l&apos;hôte %1</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ <message>
+ <source>Connecting to host failed:
+%1</source>
+ <translation>Échec de la connexion à l&apos;hôte
+%1</translation>
+ </message>
+ <message>
+ <source>Login failed:
+%1</source>
+ <translation>Échec du login:
+%1</translation>
+ </message>
+ <message>
+ <source>Listing directory failed:
+%1</source>
+ <translation>Échec du listage du dossier :
+%1</translation>
+ </message>
+ <message>
+ <source>Changing directory failed:
+%1</source>
+ <translation>Échec du changement de dossier :
+%1</translation>
+ </message>
+ <message>
+ <source>Downloading file failed:
+%1</source>
+ <translation>Échec du téléchargement du fichier :
+%1</translation>
+ </message>
+ <message>
+ <source>Uploading file failed:
+%1</source>
+ <translation>Échec du télédéchargement :
+%1</translation>
+ </message>
+ <message>
+ <source>Removing file failed:
+%1</source>
+ <translation>Échec de la suppression d&apos;un fichier :
+%1</translation>
+ </message>
+ <message>
+ <source>Creating directory failed:
+%1</source>
+ <translation>Échec de la création d&apos;un dossier :
+%1</translation>
+ </message>
+ <message>
+ <source>Removing directory failed:
+%1</source>
+ <translation>Échec de la suppression d&apos;un dossier :
+%1</translation>
+ </message>
+ <message>
+ <source>Not connected</source>
+ <translation>Non connecté</translation>
+ </message>
+ <message>
+ <source>Connection refused for data connection</source>
+ <translation>Connexion donnée refusée</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfo</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfoAgent</name>
+ <message>
+ <source>Host not found</source>
+ <translation>HĂ´te introuvable</translation>
+ </message>
+ <message>
+ <source>Unknown address type</source>
+ <translation>Adresse de type inconnu</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>Aucun nom d&apos;hôte n&apos;a été donné</translation>
+ </message>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Nom d&apos;hĂ´te non valide</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttp</name>
+ <message>
+ <source>Connection refused</source>
+ <translation>Connexion refusée</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>HĂ´te %1 introuvable</translation>
+ </message>
+ <message>
+ <source>Wrong content length</source>
+ <translation>Longueur du contenu invalide</translation>
+ </message>
+ <message>
+ <source>HTTP request failed</source>
+ <translation>Échec de la requête HTTP</translation>
+ </message>
+ <message>
+ <source>Host %1 found</source>
+ <translation>Hôte %1 trouvé</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>Hôte trouvé</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>Connecté à l&apos;hôte %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>Connecté à l&apos;hôte</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>Connexion à %1 arrêtée</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>Connexion arrêtée</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ <message>
+ <source>Request aborted</source>
+ <translation>RequĂŞte interrompue</translation>
+ </message>
+ <message>
+ <source>No server set to connect to</source>
+ <translation>Aucun serveur spécifié</translation>
+ </message>
+ <message>
+ <source>Server closed connection unexpectedly</source>
+ <translation>Connexion interrompue par le serveur</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP response header</source>
+ <translation>Entête de réponse HTTP invalide</translation>
+ </message>
+ <message>
+ <source>Unknown authentication method</source>
+ <translation>MĂ©thode d&apos;authentification inconnue</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP chunked body</source>
+ <translation>Fragment HTTP invalide</translation>
+ </message>
+ <message>
+ <source>Error writing response to device</source>
+ <translation>Erreur lors de l&apos;écriture de la réponse</translation>
+ </message>
+ <message>
+ <source>Proxy authentication required</source>
+ <translation>Le proxy requiert une authentification</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>Authentification requise</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication</source>
+ <translation>Le proxy requiert une authentification</translation>
+ </message>
+ <message>
+ <source>Host requires authentication</source>
+ <translation>L&apos;hĂ´te requiert une authentification</translation>
+ </message>
+ <message>
+ <source>Data corrupted</source>
+ <translation>Données corrompues</translation>
+ </message>
+ <message>
+ <source>SSL handshake failed</source>
+ <translation>le handshake SSL a échoué</translation>
+ </message>
+ <message>
+ <source>Unknown protocol specified</source>
+ <translation>Protocole spécifié inconnu</translation>
+ </message>
+ <message>
+ <source>Connection refused (or timed out)</source>
+ <translation>Connexion refusée (ou délai expiré)</translation>
+ </message>
+ <message>
+ <source>HTTPS connection requested but SSL support not compiled in</source>
+ <translation>Connexion HTTPS requise mais le support SSL n&apos;est pas compilé</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttpSocketEngine</name>
+ <message>
+ <source>Did not receive HTTP response from proxy</source>
+ <translation>Pas de réponse HTTP de la part du proxy</translation>
+ </message>
+ <message>
+ <source>Error parsing authentication request from proxy</source>
+ <translation>Erreur dans le reqête d&apos;authentification reçue du proxy</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>Authentification requise</translation>
+ </message>
+ <message>
+ <source>Proxy denied connection</source>
+ <translation>Le Proxy a rejeté la connexion</translation>
+ </message>
+ <message>
+ <source>Error communicating with HTTP proxy</source>
+ <translation>Erreur de communication avec le proxy HTTP</translation>
+ </message>
+ <message>
+ <source>Proxy server not found</source>
+ <translation>Serveur proxy introuvable</translation>
+ </message>
+ <message>
+ <source>Proxy connection refused</source>
+ <translation>Connexion au proxy refusée</translation>
+ </message>
+ <message>
+ <source>Proxy server connection timed out</source>
+ <translation>La connexion au serveur proxy a expiré</translation>
+ </message>
+ <message>
+ <source>Proxy connection closed prematurely</source>
+ <translation>La connexion au serveur proxy a été fermée prématurément</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>Erreur d&apos;ouverture de la base de données</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>La transaction n&apos;a pas pu être démarrée</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Incapable de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Incapable d&apos;annuler la transaction</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseResult</name>
+ <message>
+ <source>Unable to create BLOB</source>
+ <translation>Impossible de créer un BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to write BLOB</source>
+ <translation>Impossible d&apos;Ă©crire le BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to open BLOB</source>
+ <translation>Impossible d&apos;ouvrir le BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to read BLOB</source>
+ <translation>Impossible de lire le BLOB</translation>
+ </message>
+ <message>
+ <source>Could not find array</source>
+ <translation>Impossible de trouver le tableau</translation>
+ </message>
+ <message>
+ <source>Could not get array data</source>
+ <translation>Impossible de trouver le tableau de données</translation>
+ </message>
+ <message>
+ <source>Could not get query info</source>
+ <translation>Impossible d&apos;avoir les informations sur la requĂŞte</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>Impossible de démarrer la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Incapable de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Could not allocate statement</source>
+ <translation>Impossible d&apos;allouer la requĂŞte</translation>
+ </message>
+ <message>
+ <source>Could not prepare statement</source>
+ <translation>Impossible de préparer la requête</translation>
+ </message>
+ <message>
+ <source>Could not describe input statement</source>
+ <translation>Impossible de décrire la requête</translation>
+ </message>
+ <message>
+ <source>Could not describe statement</source>
+ <translation>Impossible de décrire la requête</translation>
+ </message>
+ <message>
+ <source>Unable to close statement</source>
+ <translation>Impossible de fermer la requĂŞte</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>Impossible d&apos;exécuter la requête</translation>
+ </message>
+ <message>
+ <source>Could not fetch next item</source>
+ <translation>Impossible de récuperer l&apos;élément suivant</translation>
+ </message>
+ <message>
+ <source>Could not get statement info</source>
+ <translation>Impossible d&apos;avoir les informations sur la requĂŞte</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIODevice</name>
+ <message>
+ <source>Permission denied</source>
+ <translation>Accès refusé</translation>
+ </message>
+ <message>
+ <source>Too many open files</source>
+ <translation>Trop de fichiers ouverts simultanément</translation>
+ </message>
+ <message>
+ <source>No such file or directory</source>
+ <translation>Aucun fichier ou dossier de ce nom</translation>
+ </message>
+ <message>
+ <source>No space left on device</source>
+ <translation>Aucun espace disponible sur le périphérique</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputContext</name>
+ <message>
+ <source>XIM</source>
+ <translation>XIM</translation>
+ </message>
+ <message>
+ <source>FEP</source>
+ <translation>Processeur frontal</translation>
+ </message>
+ <message>
+ <source>XIM input method</source>
+ <translation>Méthode d&apos;entrée XIM</translation>
+ </message>
+ <message>
+ <source>Windows input method</source>
+ <translation>Méthode d&apos;entrée Windows</translation>
+ </message>
+ <message>
+ <source>Mac OS X input method</source>
+ <translation>Méthode d&apos;entrée Mac OS X</translation>
+ </message>
+ <message>
+ <source>S60 FEP input method</source>
+ <translation>MĂ©thode de saisie processeur frontal S60</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputDialog</name>
+ <message>
+ <source>Enter a value:</source>
+ <translation>Entrer une valeur :</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLibrary</name>
+ <message>
+ <source>Could not mmap &apos;%1&apos;: %2</source>
+ <translation>Impossible d&apos;établir la projection en mémoire de &apos;%1&apos; : %2</translation>
+ </message>
+ <message>
+ <source>Plugin verification data mismatch in &apos;%1&apos;</source>
+ <translation>Données de vérification du plugin différente dans &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Could not unmap &apos;%1&apos;: %2</source>
+ <translation>Impossible de supprimer la projection en mémoire de &apos;%1&apos; : %2</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
+ <translation>Le plugin &apos;%1&apos; utilise une bibliothèque Qt incompatible. (%2.%3.%4) [%5]</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
+ <translation>Le plugin &apos;%1&apos; utilise une bibliothèque Qt incompatible. Clé attendue &quot;%2&quot;, reçue &quot;%3&quot;</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ <message>
+ <source>The shared library was not found.</source>
+ <translation>La bibliothèque partagée est introuvable.</translation>
+ </message>
+ <message>
+ <source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
+ <translation>Le fichier &apos;%1&apos; n&apos;est pas un plugin Qt valide.</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
+ <translation>Le plugin &apos;%1&apos; utilise une bibliothèque Qt incompatible. (Il est impossible de mélanger des bibliothèques &apos;debug&apos; et &apos;release&apos;.)</translation>
+ </message>
+ <message>
+ <source>Cannot load library %1: %2</source>
+ <translation>Impossible de charger la bibliothèque %1 : %2</translation>
+ </message>
+ <message>
+ <source>Cannot unload library %1: %2</source>
+ <translation>Impossible de décharger la bibliothèque %1 : %2</translation>
+ </message>
+ <message>
+ <source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
+ <translation>Impossible de résoudre le symbole &quot;%1&quot; dans %2 : %3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLineEdit</name>
+ <message>
+ <source>Select All</source>
+ <translation>Tout sélectionner</translation>
+ </message>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;RĂ©tablir</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>Co&amp;uper</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>Cop&amp;ier</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>Co&amp;ller</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalServer</name>
+ <message>
+ <source>%1: Name error</source>
+ <translation>%1: Erreur de nom</translation>
+ </message>
+ <message>
+ <source>%1: Permission denied</source>
+ <translation>%1: Permission refusée</translation>
+ </message>
+ <message>
+ <source>%1: Address in use</source>
+ <translation>%1: Address déjà utilisée</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1: Erreur inconnue %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalSocket</name>
+ <message>
+ <source>%1: Connection refused</source>
+ <translation>%1: Connexion refusée</translation>
+ </message>
+ <message>
+ <source>%1: Remote closed</source>
+ <translation>%1: Connexion fermée</translation>
+ </message>
+ <message>
+ <source>%1: Invalid name</source>
+ <translation>%1: Nom invalide</translation>
+ </message>
+ <message>
+ <source>%1: Socket access error</source>
+ <translation>%1: Erreur d&apos;accès au socket</translation>
+ </message>
+ <message>
+ <source>%1: Socket resource error</source>
+ <translation>%1: Erreur de ressource du socket</translation>
+ </message>
+ <message>
+ <source>%1: Socket operation timed out</source>
+ <translation>%1: L&apos;opération socket a expiré</translation>
+ </message>
+ <message>
+ <source>%1: Datagram too large</source>
+ <translation>%1: Datagramme trop grand</translation>
+ </message>
+ <message>
+ <source>%1: Connection error</source>
+ <translation>%1: Erreur de connexion</translation>
+ </message>
+ <message>
+ <source>%1: The socket operation is not supported</source>
+ <translation>%1: L&apos;opération n&apos;est pas supportée</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error</source>
+ <translation>%1 : erreur inconnue</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1: Erreur inconnue %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLDriver</name>
+ <message>
+ <source>Unable to open database &apos;</source>
+ <translation>Impossible d&apos;ouvrir la base de données &apos;</translation>
+ </message>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Impossible d&apos;Ă©tablir une connexion</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Impossible de démarrer la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Impossible de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Impossible d&apos;annuler la transaction</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLResult</name>
+ <message>
+ <source>Unable to fetch data</source>
+ <translation>Impossible de récuperer des données</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>Impossible d&apos;exécuter la requête</translation>
+ </message>
+ <message>
+ <source>Unable to store result</source>
+ <translation>Impossible de stocker le résultat</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Impossible de préparer l&apos;instruction</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Impossible de réinitialiser l&apos;instruction</translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>Impossible d&apos;attacher la valeur</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Impossible d&apos;exécuter la requête</translation>
+ </message>
+ <message>
+ <source>Unable to bind outvalues</source>
+ <translation>Impossible d&apos;attacher les valeurs de sortie</translation>
+ </message>
+ <message>
+ <source>Unable to store statement results</source>
+ <translation>Impossible de stocker les résultats de la requête</translation>
+ </message>
+ <message>
+ <source>Unable to execute next query</source>
+ <translation>Impossible d&apos;exécuterla prochaine requête</translation>
+ </message>
+ <message>
+ <source>Unable to store next result</source>
+ <translation>Impossible de stocker le prochain résultat</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiArea</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>(Sans titre)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiSubWindow</name>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>RĂ©duire</translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation>Restaurer en bas</translation>
+ </message>
+ <message>
+ <source>&amp;Restore</source>
+ <translation>&amp;Restaurer</translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation>&amp;DĂ©placer</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>&amp;Taille</translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation>RĂ©d&amp;uire</translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation>Ma&amp;ximiser</translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation>&amp;Rester au premier plan</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>&amp;Fermer</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>Maximiser</translation>
+ </message>
+ <message>
+ <source>Unshade</source>
+ <translation>Restaurer</translation>
+ </message>
+ <message>
+ <source>Shade</source>
+ <translation>Ombrer</translation>
+ </message>
+ <message>
+ <source>Restore</source>
+ <translation>Restaurer</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Aide</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>Menu</translation>
+ </message>
+ <message>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenu</name>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Ouvrir</translation>
+ </message>
+ <message>
+ <source>Execute</source>
+ <translation>Exécuter</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenuBar</name>
+ <message>
+ <source>Actions</source>
+ <translation>Actions</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMessageBox</name>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;Présentation de Qt&lt;/h3&gt;&lt;p&gt;Ce programme utilise Qt version %1.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Qt est une boîte à outils C++ pour le développement d’applications multiplateformes.&lt;/p&gt;&lt;p&gt;Qt fournit une portabilité source unique pour MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux et les principales variantes commerciales d’Unix. Qt est également disponible pour appareils intégrés tels que Qt pour Embedded Linux et Qt pour Windows CE.&lt;/p&gt;&lt;p&gt;Il existe trois options de licence différentes conçues pour s’adapter aux besoins d’utilisateurs variés.&lt;/p&gt;&lt;p&gt;Qt concédée sous notre contrat de licence commerciale est destinée au développement de logiciels propriétaires/commerciaux dont vous ne souhaitez pas partager le code source avec des tiers ou qui ne peuvent se conformer aux termes de la LGPL GNU version 2.1 ou GPL GNU version 3.0.&lt;/p&gt;&lt;p&gt;Qt concédée sous la LGPL GNU version 2.1 est destinée au développement d’applications Qt (propriétaires ou source libre) à condition que vous vous conformiez aux conditions générales de la LGPL GNU version 2.1.&lt;/p&gt;&lt;p&gt;Qt concédée sous la licence publique générale GNU version 3.0 est destinée au développement d’applications Qt lorsque vous souhaitez utiliser ces applications avec d’autres logiciels soumis aux termes de la GPL GNU version 3.0 ou lorsque vous acceptez les termes de la GPL GNU version 3.0.&lt;/p&gt;&lt;p&gt;Veuillez consulter&lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; pour un aperçu des concessions de licences Qt.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation et/ou ses filiales.&lt;/p&gt;&lt;p&gt;Qt est un produit Nokia. Voir &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; pour de plus amples informations.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation>Ă€ propos de Qt</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Aide</translation>
+ </message>
+ <message>
+ <source>Show Details...</source>
+ <translation>Montrer les détails...</translation>
+ </message>
+ <message>
+ <source>Hide Details...</source>
+ <translation>Cacher les détails...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContext</name>
+ <message>
+ <source>Select IM</source>
+ <translation>SĂ©lectionner IM</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContextPlugin</name>
+ <message>
+ <source>Multiple input method switcher</source>
+ <translation>Sélectionneur de méthode de saisie</translation>
+ </message>
+ <message>
+ <source>Multiple input method switcher that uses the context menu of the text widgets</source>
+ <translation>Sélectionneur de méthode de saisie qui utilise le menu contextuel des widgets de texte</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNativeSocketEngine</name>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>L&apos;hôte distant a fermé la connexion</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>L&apos;opération réseau a expiré</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>Manque de ressources</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>Opération socket non supportée</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>Protocol non géré</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>Descripteur de socket invalide</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>RĂ©seau impossible Ă  rejoindre</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Accès refusé</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Connexion expirée</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>Connexion refusée</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>L&apos;adresse liée est déjà en usage</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>L&apos;adresse n&apos;est pas disponible</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>L&apos;adresse est protégée</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>Impossible d&apos;envoyer un message</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>Impossible de recevoir un message</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>Impossible d&apos;Ă©crire</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>Erreur réseau</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>Un autre socket écoute déjà sur le même port</translation>
+ </message>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>Impossible d&apos;initialiser le socket asynchrone</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>Impossible d&apos;initialiser le socket broadcast</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>Tentative d&apos;utiliser un socket IPv6 sur une plateforme qui ne supporte pas IPv6</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>HĂ´te inaccessible</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>Le datagramme était trop grand pour être envoyé</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>Operation sur non-socket</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>Le type de proxy est invalide pour cette opération</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessCacheBackend</name>
+ <message>
+ <source>Error opening %1</source>
+ <translation>Erreur lors de l&apos;ouverture de %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessDebugPipeBackend</name>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>Erreur lors de l&apos;Ă©criture dans %1: %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFileBackend</name>
+ <message>
+ <source>Request for opening non-local file %1</source>
+ <translation>RequĂŞte d&apos;ouverture de fichier distant %1</translation>
+ </message>
+ <message>
+ <source>Error opening %1: %2</source>
+ <translation>Erreur lors de l&apos;ouverture de %1 : %2</translation>
+ </message>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>Erreur d&apos;écriture de %1 : %2</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: Path is a directory</source>
+ <translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
+ </message>
+ <message>
+ <source>Read error reading from %1: %2</source>
+ <translation>Erreur de lecture de %1 : %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFtpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>Aucun proxy trouvé</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: is a directory</source>
+ <translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
+ </message>
+ <message>
+ <source>Logging in to %1 failed: authentication required</source>
+ <translation>Connexion à %1 a échoué : authentification requise</translation>
+ </message>
+ <message>
+ <source>Error while downloading %1: %2</source>
+ <translation>Erreur lors du téléchargement de %1 : %2</translation>
+ </message>
+ <message>
+ <source>Error while uploading %1: %2</source>
+ <translation>Erreur lors de l&apos;envoi de %1 : %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessHttpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>Aucun proxy trouvé</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReply</name>
+ <message>
+ <source>Error downloading %1 - server replied: %2</source>
+ <translation>Erreur lors du téléchargement de %1 - le serveur a répondu: %2</translation>
+ </message>
+ <message>
+ <source>Protocol &quot;%1&quot; is unknown</source>
+ <translation>Le protocole &quot;%1&quot; est inconnu</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReplyImpl</name>
+ <message>
+ <source>Operation canceled</source>
+ <translation>Opération annulée</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIDriver</name>
+ <message>
+ <source>Unable to logon</source>
+ <translation>Impossible d&apos;ouvrir une session</translation>
+ </message>
+ <message>
+ <source>Unable to initialize</source>
+ <comment>QOCIDriver</comment>
+ <translation>L&apos;initialisation a échouée</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Impossible de démarrer la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Impossible d&apos;enregistrer la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Impossible d&apos;annuler la transaction</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIResult</name>
+ <message>
+ <source>Unable to bind column for batch execute</source>
+ <translation>Impossible d&apos;attacher la colonne pour une execution batch</translation>
+ </message>
+ <message>
+ <source>Unable to execute batch statement</source>
+ <translation>Impossible d&apos;exécuter l&apos;instruction batch</translation>
+ </message>
+ <message>
+ <source>Unable to goto next</source>
+ <translation>Impossible de passer au suivant</translation>
+ </message>
+ <message>
+ <source>Unable to alloc statement</source>
+ <translation>Impossible d&apos;allouer la requĂŞte</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Impossible de préparer la requête</translation>
+ </message>
+ <message>
+ <source>Unable to get statement type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>Impossible d&apos;attacher la valeur</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Impossible d&apos;exéctuer la requête</translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Incapable d&apos;Ă©tablir une connexion</translation>
+ </message>
+ <message>
+ <source>Unable to disable autocommit</source>
+ <translation>Impossible de désactiver l&apos;autocommit</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Incapable de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Incapable d&apos;annuler la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to enable autocommit</source>
+ <translation>Impossible d&apos;active l&apos;autocommit</translation>
+ </message>
+ <message>
+ <source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCResult</name>
+ <message>
+ <source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
+ <translation>QODBCResult::reset: Impossible d&apos;utiliser &apos;SQL_CURSOR_STATIC&apos; comme attribut de requête. Veuillez vérifier la configuration de votre pilote ODBC</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Impossible d&apos;exéctuer la requête</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>Impossible de récupérer le suivant</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Impossible de préparer la requête</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>Impossible d&apos;attacher la variable</translation>
+ </message>
+ <message>
+ <source>Unable to fetch last</source>
+ <translation>Impossible de récupérer le dernier</translation>
+ </message>
+ <message>
+ <source>Unable to fetch</source>
+ <translation>Impossible de récupérer</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>Impossible de récupérer le premier</translation>
+ </message>
+ <message>
+ <source>Unable to fetch previous</source>
+ <translation>Impossible de récupérer le précedent</translation>
+ </message>
+ </context>
+ <context>
+ <name>QObject</name>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Nom d&apos;hĂ´te non valide</translation>
+ </message>
+ <message>
+ <source>Operation not supported on %1</source>
+ <translation>Opération non supportée sur %1</translation>
+ </message>
+ <message>
+ <source>Invalid URI: %1</source>
+ <translation>URI invalide : %1</translation>
+ </message>
+ <message>
+ <source>Socket error on %1: %2</source>
+ <translation>Erreur de socket sur %1 : %2</translation>
+ </message>
+ <message>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>L&apos;hôte distant a fermé sa connexion de façon prématurée sur %1</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>Nom d&apos;hĂ´te manquant</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPPDOptionsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Valeur</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Impossible d&apos;Ă©tablir une connexion</translation>
+ </message>
+ <message>
+ <source>Could not begin transaction</source>
+ <translation>Impossible de démarrer la transaction</translation>
+ </message>
+ <message>
+ <source>Could not commit transaction</source>
+ <translation>Impossible de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Could not rollback transaction</source>
+ <translation>Impossible d&apos;annuler la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to subscribe</source>
+ <translation>Impossible de s&apos;inscrire</translation>
+ </message>
+ <message>
+ <source>Unable to unsubscribe</source>
+ <translation>Impossible de se désinscrire</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLResult</name>
+ <message>
+ <source>Unable to create query</source>
+ <translation>Impossible de créer la requête</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Impossible de préparer la requête</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPageSetupWidget</name>
+ <message>
+ <source>Centimeters (cm)</source>
+ <translation>Centimètres (cm)</translation>
+ </message>
+ <message>
+ <source>Millimeters (mm)</source>
+ <translation>Millimètres (mm)</translation>
+ </message>
+ <message>
+ <source>Inches (in)</source>
+ <translation>Pouces (in)</translation>
+ </message>
+ <message>
+ <source>Points (pt)</source>
+ <translation>Points (pts)</translation>
+ </message>
+ <message>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <source>Paper</source>
+ <translation>Papier</translation>
+ </message>
+ <message>
+ <source>Page size:</source>
+ <translation>Dimensions :</translation>
+ </message>
+ <message>
+ <source>Width:</source>
+ <translation>Largeur :</translation>
+ </message>
+ <message>
+ <source>Height:</source>
+ <translation>Hauteur :</translation>
+ </message>
+ <message>
+ <source>Paper source:</source>
+ <translation>Source du papier :</translation>
+ </message>
+ <message>
+ <source>Orientation</source>
+ <translation>Orientation</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>Portrait</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>Paysage</translation>
+ </message>
+ <message>
+ <source>Reverse landscape</source>
+ <translation>Paysage inversé</translation>
+ </message>
+ <message>
+ <source>Reverse portrait</source>
+ <translation>Portrait inversé</translation>
+ </message>
+ <message>
+ <source>Margins</source>
+ <translation>Marges</translation>
+ </message>
+ <message>
+ <source>top margin</source>
+ <translation>marge haute</translation>
+ </message>
+ <message>
+ <source>left margin</source>
+ <translation>marge gauche</translation>
+ </message>
+ <message>
+ <source>right margin</source>
+ <translation>marge droite</translation>
+ </message>
+ <message>
+ <source>bottom margin</source>
+ <translation>marge basse</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPluginLoader</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ <message>
+ <source>The plugin was not loaded.</source>
+ <translation>Le plugin n&apos;a pas été chargé.</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintDialog</name>
+ <message>
+ <source>locally connected</source>
+ <translation>connecté en local</translation>
+ </message>
+ <message>
+ <source>Aliases: %1</source>
+ <translation>Alias : %1</translation>
+ </message>
+ <message>
+ <source>unknown</source>
+ <translation>inconnu</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>Imprimer tout</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>Imprimer la sélection</translation>
+ </message>
+ <message>
+ <source>A0 (841 x 1189 mm)</source>
+ <translation>A0 (841 x 1189 mm)</translation>
+ </message>
+ <message>
+ <source>A1 (594 x 841 mm)</source>
+ <translation>A1 (594 x 841 mm)</translation>
+ </message>
+ <message>
+ <source>A2 (420 x 594 mm)</source>
+ <translation>A2 (420 x 594 mm)</translation>
+ </message>
+ <message>
+ <source>A3 (297 x 420 mm)</source>
+ <translation>A3 (297 x 420 mm)</translation>
+ </message>
+ <message>
+ <source>A5 (148 x 210 mm)</source>
+ <translation>A5 (148 x 210 mm)</translation>
+ </message>
+ <message>
+ <source>A6 (105 x 148 mm)</source>
+ <translation>A6 (105 x 148 mm)</translation>
+ </message>
+ <message>
+ <source>A7 (74 x 105 mm)</source>
+ <translation>A7 (74 x 105 mm)</translation>
+ </message>
+ <message>
+ <source>A8 (52 x 74 mm)</source>
+ <translation>A8 (52 x 74 mm)</translation>
+ </message>
+ <message>
+ <source>A9 (37 x 52 mm)</source>
+ <translation>A9 (37 x 52 mm)</translation>
+ </message>
+ <message>
+ <source>B0 (1000 x 1414 mm)</source>
+ <translation>B0 (1000 x 1414 mm)</translation>
+ </message>
+ <message>
+ <source>B1 (707 x 1000 mm)</source>
+ <translation>B1 (707 x 1000 mm)</translation>
+ </message>
+ <message>
+ <source>B2 (500 x 707 mm)</source>
+ <translation>B2 (500 x 707 mm)</translation>
+ </message>
+ <message>
+ <source>B3 (353 x 500 mm)</source>
+ <translation>B3 (353 x 500 mm)</translation>
+ </message>
+ <message>
+ <source>B4 (250 x 353 mm)</source>
+ <translation>B4 (250 x 353 mm)</translation>
+ </message>
+ <message>
+ <source>B6 (125 x 176 mm)</source>
+ <translation>B6 (125 x 176 mm)</translation>
+ </message>
+ <message>
+ <source>B7 (88 x 125 mm)</source>
+ <translation>B7 (88 x 125 mm)</translation>
+ </message>
+ <message>
+ <source>B8 (62 x 88 mm)</source>
+ <translation>B8 (62 x 88 mm)</translation>
+ </message>
+ <message>
+ <source>B9 (44 x 62 mm)</source>
+ <translation>B9 (44 x 62 mm)</translation>
+ </message>
+ <message>
+ <source>B10 (31 x 44 mm)</source>
+ <translation>B10 (31 x 44 mm)</translation>
+ </message>
+ <message>
+ <source>C5E (163 x 229 mm)</source>
+ <translation>C5E (163 x 229 mm)</translation>
+ </message>
+ <message>
+ <source>DLE (110 x 220 mm)</source>
+ <translation>DLE (110 x 220 mm)</translation>
+ </message>
+ <message>
+ <source>Folio (210 x 330 mm)</source>
+ <translation>Folio (210 x 330 mm)</translation>
+ </message>
+ <message>
+ <source>Ledger (432 x 279 mm)</source>
+ <translation>Ledger (432 x 279 mm)</translation>
+ </message>
+ <message>
+ <source>Tabloid (279 x 432 mm)</source>
+ <translation>TabloĂŻde (279 x 432 mm)</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope (105 x 241 mm)</source>
+ <translation>US Common #10 Envelope (105 x 241 mm)</translation>
+ </message>
+ <message>
+ <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+ <translation>A4 (210 x 297 mm)</translation>
+ </message>
+ <message>
+ <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+ <translation>B5 (176 x 250 mm)</translation>
+ </message>
+ <message>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (7,5 x 10 pouces, 191 x 254 mm)</translation>
+ </message>
+ <message>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (8.5 x 14 pouces, 216 x 356 mm)</translation>
+ </message>
+ <message>
+ <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+ <translation>Letter (8,5 x 11 pouces, 216 x 279 mm)</translation>
+ </message>
+ <message>
+ <source>Print selection</source>
+ <translation>Imprimer la sélection</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Impr Ă©cran</translation>
+ </message>
+ <message>
+ <source>Print To File ...</source>
+ <translation>Imprimer dans un fichier...</translation>
+ </message>
+ <message>
+ <source>File %1 is not writable.
+Please choose a different file name.</source>
+ <translation>Impossible d&apos;Ă©crire dans le fichier %1.
+Veuillez choisir un nom de fichier différent.</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to overwrite it?</source>
+ <translation>%1 existe.
+Voulez-vous l&apos;écraser ?</translation>
+ </message>
+ <message>
+ <source>File exists</source>
+ <translation>Le fichier existe</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;voulez-vous l&apos;écraser ?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>%1 is a directory.
+Please choose a different file name.</source>
+ <translation>%1 est un dossier.
+Veuillez choisir un nom de fichier différent.</translation>
+ </message>
+ <message>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>La valeur &apos;de&apos; ne peut pas ĂŞtre plus grande que la valeur &apos;Ă &apos;.</translation>
+ </message>
+ <message>
+ <source>A0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A9</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B3</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B4</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B7</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B8</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B9</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>B10</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>C5E</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>DLE</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Executive</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Folio</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ledger</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Legal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Tabloid</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Custom</source>
+ <translation>Personnalisé</translation>
+ </message>
+ <message>
+ <source>&amp;Options &gt;&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Options &lt;&lt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Print to File (PDF)</source>
+ <translation>Imprimer dans un fichier (PDF)</translation>
+ </message>
+ <message>
+ <source>Print to File (Postscript)</source>
+ <translation>Imprimer dans un fichier (PostScript)</translation>
+ </message>
+ <message>
+ <source>Local file</source>
+ <translation>Fichier local</translation>
+ </message>
+ <message>
+ <source>Write %1 file</source>
+ <translation>Ecriture du fichier %1</translation>
+ </message>
+ <message>
+ <source>&amp;Print</source>
+ <translation>Im&amp;primer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPreviewDialog</name>
+ <message>
+ <source>%1%</source>
+ <translation>%1%</translation>
+ </message>
+ <message>
+ <source>Print Preview</source>
+ <translation>Aperçu avant impression</translation>
+ </message>
+ <message>
+ <source>Next page</source>
+ <translation>Page suivante</translation>
+ </message>
+ <message>
+ <source>Previous page</source>
+ <translation>Page précédente</translation>
+ </message>
+ <message>
+ <source>First page</source>
+ <translation>Première page</translation>
+ </message>
+ <message>
+ <source>Last page</source>
+ <translation>Dernière page</translation>
+ </message>
+ <message>
+ <source>Fit width</source>
+ <translation>Ajuster la largeur</translation>
+ </message>
+ <message>
+ <source>Fit page</source>
+ <translation>Ajuster la page</translation>
+ </message>
+ <message>
+ <source>Zoom in</source>
+ <translation>Zoom avant</translation>
+ </message>
+ <message>
+ <source>Zoom out</source>
+ <translation>Zoom arrière</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>Portrait</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>Paysage</translation>
+ </message>
+ <message>
+ <source>Show single page</source>
+ <translation>Afficher une seule page</translation>
+ </message>
+ <message>
+ <source>Show facing pages</source>
+ <translation>Afficher deux pages</translation>
+ </message>
+ <message>
+ <source>Show overview of all pages</source>
+ <translation>Afficher un aperçu de toutes les pages</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Impr Ă©cran</translation>
+ </message>
+ <message>
+ <source>Page setup</source>
+ <translation>Configuration de la page</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Export to PDF</source>
+ <translation>Exporter vers PDF</translation>
+ </message>
+ <message>
+ <source>Export to PostScript</source>
+ <translation>Exporter vers PostScript</translation>
+ </message>
+ <message>
+ <source>Page Setup</source>
+ <translation>Configuration de la page</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPropertiesWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <source>Page</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Avancé</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintSettingsOutput</name>
+ <message>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <source>Copies</source>
+ <translation>Copies</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>Imprimer la sélection</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>Imprimer tout</translation>
+ </message>
+ <message>
+ <source>Pages from</source>
+ <translation>Pages</translation>
+ </message>
+ <message>
+ <source>to</source>
+ <translation>Ă </translation>
+ </message>
+ <message>
+ <source>Selection</source>
+ <translation>SĂ©lection</translation>
+ </message>
+ <message>
+ <source>Output Settings</source>
+ <translation>Paramètres de sortie</translation>
+ </message>
+ <message>
+ <source>Copies:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Collate</source>
+ <translation>Assembler</translation>
+ </message>
+ <message>
+ <source>Reverse</source>
+ <translation>Inverse</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>Options</translation>
+ </message>
+ <message>
+ <source>Color Mode</source>
+ <translation>Mode de couleur</translation>
+ </message>
+ <message>
+ <source>Color</source>
+ <translation>Couleur</translation>
+ </message>
+ <message>
+ <source>Grayscale</source>
+ <translation>Dégradé de gris</translation>
+ </message>
+ <message>
+ <source>Duplex Printing</source>
+ <translation>Impression en duplex</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation>Aucun</translation>
+ </message>
+ <message>
+ <source>Long side</source>
+ <translation>Côté long</translation>
+ </message>
+ <message>
+ <source>Short side</source>
+ <translation>Côté court</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation>Imprimante</translation>
+ </message>
+ <message>
+ <source>&amp;Name:</source>
+ <translation>&amp;Nom :</translation>
+ </message>
+ <message>
+ <source>P&amp;roperties</source>
+ <translation>P&amp;ropriétés</translation>
+ </message>
+ <message>
+ <source>Location:</source>
+ <translation>Emplacement :</translation>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation>Prévisualisation</translation>
+ </message>
+ <message>
+ <source>Type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Output &amp;file:</source>
+ <translation>&amp;Fichier de sortie:</translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QProcess</name>
+ <message>
+ <source>Could not open input redirection for reading</source>
+ <translation>Impossible d&apos;ouvrir la redirection d&apos;entrée en lecture</translation>
+ </message>
+ <message>
+ <source>Could not open output redirection for writing</source>
+ <translation>Impossible d&apos;ouvrir la redirection de sortie pour Ă©criture</translation>
+ </message>
+ <message>
+ <source>Resource error (fork failure): %1</source>
+ <translation>Erreur de ressouce (fork) : %1</translation>
+ </message>
+ <message>
+ <source>Process operation timed out</source>
+ <translation>Operation de processus a expiré</translation>
+ </message>
+ <message>
+ <source>Error reading from process</source>
+ <translation>Erreur de lecture du processus</translation>
+ </message>
+ <message>
+ <source>Error writing to process</source>
+ <translation>Erreur d&quot;Ă©criture vers le processus</translation>
+ </message>
+ <message>
+ <source>Process crashed</source>
+ <translation>Le processus à planté</translation>
+ </message>
+ <message>
+ <source>No program defined</source>
+ <translation>Aucun programme défini</translation>
+ </message>
+ <message>
+ <source>Process failed to start: %1</source>
+ <translation>Le démarrage du processus a échoué: %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPushButton</name>
+ <message>
+ <source>Open</source>
+ <translation>Ouvrir</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRadioButton</name>
+ <message>
+ <source>Check</source>
+ <translation>Cocher</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRegExp</name>
+ <message>
+ <source>no error occurred</source>
+ <translation>aucune erreur ne s&apos;est produite</translation>
+ </message>
+ <message>
+ <source>disabled feature used</source>
+ <translation>option désactivée</translation>
+ </message>
+ <message>
+ <source>bad char class syntax</source>
+ <translation>syntaxe invalide pour classe de caractère</translation>
+ </message>
+ <message>
+ <source>bad lookahead syntax</source>
+ <translation>syntaxe invalide pour lookahead</translation>
+ </message>
+ <message>
+ <source>bad repetition syntax</source>
+ <translation>syntaxe invalide pour répétition</translation>
+ </message>
+ <message>
+ <source>invalid octal value</source>
+ <translation>valeur octale invalide</translation>
+ </message>
+ <message>
+ <source>missing left delim</source>
+ <translation>délémiteur gauche manquant</translation>
+ </message>
+ <message>
+ <source>unexpected end</source>
+ <translation>fin impromptue</translation>
+ </message>
+ <message>
+ <source>met internal limit</source>
+ <translation>rencontré limite interne</translation>
+ </message>
+ <message>
+ <source>invalid interval</source>
+ <translation>intervalle non valide</translation>
+ </message>
+ <message>
+ <source>invalid category</source>
+ <translation>catégorie non valide</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Driver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>Erreur lors de l&apos;ouverture de la base de données</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Impossible de démarrer la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Impossible de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Impossible de répéter la transaction</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Result</name>
+ <message>
+ <source>Unable to fetch results</source>
+ <translation>Impossible de récupérer les résultats</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Impossible d&apos;exécuter la requête</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>Erreur lors de l&apos;ouverture de la base de données</translation>
+ </message>
+ <message>
+ <source>Error closing database</source>
+ <translation>Erreur lors de la fermeture de la base de données</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Impossible de démarrer la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Incapable de soumettre la transaction</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Impossible d&apos;annuler la transaction</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteResult</name>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>Impossible de récupérer la rangée</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Impossible d&apos;exécuter la requête</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Impossible de réinitialiser la requête</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>Impossible d&apos;attacher les paramètres</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>Nombre de paramètres incorrect</translation>
+ </message>
+ <message>
+ <source>No query</source>
+ <translation>Pas de requĂŞte</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsModel</name>
+ <message>
+ <source>ID</source>
+ <translation>Identifiant</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Lieu</translation>
+ </message>
+ <message>
+ <source>Condition</source>
+ <translation>Condition</translation>
+ </message>
+ <message>
+ <source>Ignore-count</source>
+ <translation>Comptes d&apos;ignorés</translation>
+ </message>
+ <message>
+ <source>Single-shot</source>
+ <translation>Un seul tir</translation>
+ </message>
+ <message>
+ <source>Hit-count</source>
+ <translation>Compte de coups</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsWidget</name>
+ <message>
+ <source>New</source>
+ <translation>Créer</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebugger</name>
+ <message>
+ <source>Go to Line</source>
+ <translation>Aller Ă  la ligne</translation>
+ </message>
+ <message>
+ <source>Line:</source>
+ <translation>Ligne:</translation>
+ </message>
+ <message>
+ <source>Interrupt</source>
+ <translation>Interrompre</translation>
+ </message>
+ <message>
+ <source>Shift+F5</source>
+ <translation>Shift+F5</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>Continuer</translation>
+ </message>
+ <message>
+ <source>F5</source>
+ <translation>F5</translation>
+ </message>
+ <message>
+ <source>Step Into</source>
+ <translation>Pas à pas détaillé</translation>
+ </message>
+ <message>
+ <source>F11</source>
+ <translation>F11</translation>
+ </message>
+ <message>
+ <source>Step Over</source>
+ <translation>Pas Ă  pas principal</translation>
+ </message>
+ <message>
+ <source>F10</source>
+ <translation>F10</translation>
+ </message>
+ <message>
+ <source>Step Out</source>
+ <translation>Pas Ă  pas sortant</translation>
+ </message>
+ <message>
+ <source>Shift+F11</source>
+ <translation>Shift+F11</translation>
+ </message>
+ <message>
+ <source>Run to Cursor</source>
+ <translation>Exécuter au curseur</translation>
+ </message>
+ <message>
+ <source>Ctrl+F10</source>
+ <translation>Ctrl+F10</translation>
+ </message>
+ <message>
+ <source>Run to New Script</source>
+ <translation>Exécuter au nouveau script</translation>
+ </message>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>Basculer le point d&apos;arrĂŞt</translation>
+ </message>
+ <message>
+ <source>F9</source>
+ <translation>F9</translation>
+ </message>
+ <message>
+ <source>Clear Debug Output</source>
+ <translation>Effacer les résultats du débogage</translation>
+ </message>
+ <message>
+ <source>Clear Error Log</source>
+ <translation>Effacer le journal d&apos;erreurs</translation>
+ </message>
+ <message>
+ <source>Clear Console</source>
+ <translation>Effacer la console</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Script...</source>
+ <translation>&amp;Chercher dans le script...</translation>
+ </message>
+ <message>
+ <source>Ctrl+F</source>
+ <translation>Ctrl+F</translation>
+ </message>
+ <message>
+ <source>Find &amp;Next</source>
+ <translation>RĂ©sultat &amp;suivant</translation>
+ </message>
+ <message>
+ <source>F3</source>
+ <translation>F3</translation>
+ </message>
+ <message>
+ <source>Find &amp;Previous</source>
+ <translation>Chercher &amp;précédent</translation>
+ </message>
+ <message>
+ <source>Shift+F3</source>
+ <translation>Shift+F3</translation>
+ </message>
+ <message>
+ <source>Ctrl+G</source>
+ <translation>Ctrl+G</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <translation>DĂ©boguer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerCodeFinderWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation>Précédent</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation>Suivant</translation>
+ </message>
+ <message>
+ <source>Case Sensitive</source>
+ <translation>Sensible Ă  la casse</translation>
+ </message>
+ <message>
+ <source>Whole words</source>
+ <translation>Mots entiers</translation>
+ </message>
+ <message>
+ <source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;La recherche est revenue au début</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerLocalsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Valeur</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerStackModel</name>
+ <message>
+ <source>Level</source>
+ <translation>Niveau</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Lieu</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEdit</name>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>Basculer le point d&apos;arrĂŞt</translation>
+ </message>
+ <message>
+ <source>Disable Breakpoint</source>
+ <translation>DĂ©sactiver le point d&apos;arrĂŞt</translation>
+ </message>
+ <message>
+ <source>Enable Breakpoint</source>
+ <translation>Activer le point d&apos;arrĂŞt</translation>
+ </message>
+ <message>
+ <source>Breakpoint Condition:</source>
+ <translation>Condition du point d&apos;arrĂŞt:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEngineDebugger</name>
+ <message>
+ <source>Loaded Scripts</source>
+ <translation>Scripts chargés</translation>
+ </message>
+ <message>
+ <source>Breakpoints</source>
+ <translation>Points d&apos;arrĂŞt</translation>
+ </message>
+ <message>
+ <source>Stack</source>
+ <translation>Empiler</translation>
+ </message>
+ <message>
+ <source>Locals</source>
+ <translation>Locaux</translation>
+ </message>
+ <message>
+ <source>Console</source>
+ <translation>Console</translation>
+ </message>
+ <message>
+ <source>Debug Output</source>
+ <translation>Résultats du débogage</translation>
+ </message>
+ <message>
+ <source>Error Log</source>
+ <translation>Journal d&apos;erreurs</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>Chercher</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Afficher</translation>
+ </message>
+ <message>
+ <source>Qt Script Debugger</source>
+ <translation>DĂ©bogueur de script Qt</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptNewBreakpointWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScrollBar</name>
+ <message>
+ <source>Scroll here</source>
+ <translation>DĂ©filer jusqu&apos;ici</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>ExtrĂŞme gauche</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>En haut</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>ExtrĂŞme droite</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>En bas</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>Page précédente</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>Page précédente</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>Page suivante</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>Page suivante</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>DĂ©filer vers la gauche</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>DĂ©filer vers le haut</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>DĂ©filer vers la droite</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>DĂ©filer vers le bas</translation>
+ </message>
+ <message>
+ <source>Line up</source>
+ <translation>Aligner</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>Position</translation>
+ </message>
+ <message>
+ <source>Line down</source>
+ <translation>Aligner en-bas</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSharedMemory</name>
+ <message>
+ <source>%1: create size is less then 0</source>
+ <translation>%1 : taille de création est inférieur à 0</translation>
+ </message>
+ <message>
+ <source>%1: unable to lock</source>
+ <translation>%1 : impossible de vérrouiller</translation>
+ </message>
+ <message>
+ <source>%1: unable to unlock</source>
+ <translation>%1 : impossible de déverrouiller</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1 : permission refusée</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1 : existe déjà</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exists</source>
+ <translation>%1 : n&apos;existe pas</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1 : plus de ressources disponibles</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1 : erreur inconnue %2</translation>
+ </message>
+ <message>
+ <source>%1: key is empty</source>
+ <translation>%1 : clé vide</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <translation>%1 : ftok a échoué</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <translation>%1 : impossible de créer la clé</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exist</source>
+ <translation>%1: n&apos;existe pas</translation>
+ </message>
+ <message>
+ <source>%1: UNIX key file doesn&apos;t exist</source>
+ <translation>%1: le fichier de clés UNIX n&apos;existe pas</translation>
+ </message>
+ <message>
+ <source>%1: system-imposed size restrictions</source>
+ <translation>%1 : le système impose des restrictions sur la taille</translation>
+ </message>
+ <message>
+ <source>%1: not attached</source>
+ <translation>%1 : non attaché</translation>
+ </message>
+ <message>
+ <source>%1: invalid size</source>
+ <translation>%1 : taille invalide</translation>
+ </message>
+ <message>
+ <source>%1: key error</source>
+ <translation>%1 : erreur de clé</translation>
+ </message>
+ <message>
+ <source>%1: size query failed</source>
+ <translation>%1 : la requête de taille a échoué</translation>
+ </message>
+ <message>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1 : impossible d&apos;affecter la clé au verrou</translation>
+ </message>
+ </context>
+ <context>
+ <name>QShortcut</name>
+ <message>
+ <source>Space</source>
+ <translation>Espace</translation>
+ </message>
+ <message>
+ <source>Esc</source>
+ <translation>Échap</translation>
+ </message>
+ <message>
+ <source>Tab</source>
+ <translation>Tab</translation>
+ </message>
+ <message>
+ <source>Backtab</source>
+ <translation>Tab arr</translation>
+ </message>
+ <message>
+ <source>Backspace</source>
+ <translation>Effacement</translation>
+ </message>
+ <message>
+ <source>Return</source>
+ <translation>Retour</translation>
+ </message>
+ <message>
+ <source>Enter</source>
+ <translation>Entrée</translation>
+ </message>
+ <message>
+ <source>Ins</source>
+ <translation>Inser</translation>
+ </message>
+ <message>
+ <source>Del</source>
+ <translation>Suppr</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <translation>Pause</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Impr Ă©cran</translation>
+ </message>
+ <message>
+ <source>SysReq</source>
+ <translation>Syst</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>DĂ©but</translation>
+ </message>
+ <message>
+ <source>End</source>
+ <translation>Fin</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>Gauche</translation>
+ </message>
+ <message>
+ <source>Up</source>
+ <translation>Haut</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>Droite</translation>
+ </message>
+ <message>
+ <source>Down</source>
+ <translation>Bas</translation>
+ </message>
+ <message>
+ <source>PgUp</source>
+ <translation>Page préc</translation>
+ </message>
+ <message>
+ <source>PgDown</source>
+ <translation>Page suiv</translation>
+ </message>
+ <message>
+ <source>CapsLock</source>
+ <translation>Verr maj</translation>
+ </message>
+ <message>
+ <source>NumLock</source>
+ <translation>Verr num</translation>
+ </message>
+ <message>
+ <source>ScrollLock</source>
+ <translation>Arrêt défil</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>Menu</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Aide</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>Précédent (historique)</translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>Successeur (historique)</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation>Stop</translation>
+ </message>
+ <message>
+ <source>Refresh</source>
+ <translation>Rafraîchir</translation>
+ </message>
+ <message>
+ <source>Volume Down</source>
+ <translation>Volume bas</translation>
+ </message>
+ <message>
+ <source>Volume Mute</source>
+ <translation>Volume muet</translation>
+ </message>
+ <message>
+ <source>Volume Up</source>
+ <translation>Volume haut
+</translation>
+ </message>
+ <message>
+ <source>Bass Boost</source>
+ <translation>Graves fort</translation>
+ </message>
+ <message>
+ <source>Bass Up</source>
+ <translation>Graves haut</translation>
+ </message>
+ <message>
+ <source>Bass Down</source>
+ <translation>Graves bas</translation>
+ </message>
+ <message>
+ <source>Treble Up</source>
+ <translation>Aigus haut</translation>
+ </message>
+ <message>
+ <source>Treble Down</source>
+ <translation>Aigus bas</translation>
+ </message>
+ <message>
+ <source>Media Play</source>
+ <translation>Média démarrer</translation>
+ </message>
+ <message>
+ <source>Media Stop</source>
+ <translation>MĂ©dia arrĂŞt</translation>
+ </message>
+ <message>
+ <source>Media Previous</source>
+ <translation>Média précédent</translation>
+ </message>
+ <message>
+ <source>Media Next</source>
+ <translation>MĂ©dia suivant</translation>
+ </message>
+ <message>
+ <source>Media Record</source>
+ <translation>MĂ©dia enregistrer</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>Préférés</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>Recherche</translation>
+ </message>
+ <message>
+ <source>Standby</source>
+ <translation>Attente</translation>
+ </message>
+ <message>
+ <source>Open URL</source>
+ <translation>Ouvrir URL</translation>
+ </message>
+ <message>
+ <source>Launch Mail</source>
+ <translation>Lancer courrier</translation>
+ </message>
+ <message>
+ <source>Launch Media</source>
+ <translation>Lancer média</translation>
+ </message>
+ <message>
+ <source>Launch (0)</source>
+ <translation>Lancer (0)</translation>
+ </message>
+ <message>
+ <source>Launch (1)</source>
+ <translation>Lancer (1)</translation>
+ </message>
+ <message>
+ <source>Launch (2)</source>
+ <translation>Lancer (2)</translation>
+ </message>
+ <message>
+ <source>Launch (3)</source>
+ <translation>Lancer (3)</translation>
+ </message>
+ <message>
+ <source>Launch (4)</source>
+ <translation>Lancer (4)</translation>
+ </message>
+ <message>
+ <source>Launch (5)</source>
+ <translation>Lancer (5)</translation>
+ </message>
+ <message>
+ <source>Launch (6)</source>
+ <translation>Lancer (6)</translation>
+ </message>
+ <message>
+ <source>Launch (7)</source>
+ <translation>Lancer (7)</translation>
+ </message>
+ <message>
+ <source>Launch (8)</source>
+ <translation>Lancer (8)</translation>
+ </message>
+ <message>
+ <source>Launch (9)</source>
+ <translation>Lancer (9)</translation>
+ </message>
+ <message>
+ <source>Launch (A)</source>
+ <translation>Lancer (A)</translation>
+ </message>
+ <message>
+ <source>Launch (B)</source>
+ <translation>Lancer (B)</translation>
+ </message>
+ <message>
+ <source>Launch (C)</source>
+ <translation>Lancer (C)</translation>
+ </message>
+ <message>
+ <source>Launch (D)</source>
+ <translation>Lancer (D)</translation>
+ </message>
+ <message>
+ <source>Launch (E)</source>
+ <translation>Lancer (E)</translation>
+ </message>
+ <message>
+ <source>Launch (F)</source>
+ <translation>Lancer (F)</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Up</source>
+ <translation>Augmenter la luminosité du moniteur</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Down</source>
+ <translation>Baisser la luminosité du moniteur</translation>
+ </message>
+ <message>
+ <source>Keyboard Light On/Off</source>
+ <translation>Avec/sans lumière clavier</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Up</source>
+ <translation>Augmenter la luminosité du clavier</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Down</source>
+ <translation>Baisser la luminosité du clavier</translation>
+ </message>
+ <message>
+ <source>Power Off</source>
+ <translation>Couper l&apos;alimentation</translation>
+ </message>
+ <message>
+ <source>Wake Up</source>
+ <translation>RĂ©veiller</translation>
+ </message>
+ <message>
+ <source>Eject</source>
+ <translation>Éjecter</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Économiseur d&apos;écran</translation>
+ </message>
+ <message>
+ <source>WWW</source>
+ <translation>WWW</translation>
+ </message>
+ <message>
+ <source>Sleep</source>
+ <translation>Dormir</translation>
+ </message>
+ <message>
+ <source>LightBulb</source>
+ <translation>Ampoule</translation>
+ </message>
+ <message>
+ <source>Shop</source>
+ <translation>Magasin</translation>
+ </message>
+ <message>
+ <source>History</source>
+ <translation>Historique</translation>
+ </message>
+ <message>
+ <source>Add Favorite</source>
+ <translation>Ajouter favori</translation>
+ </message>
+ <message>
+ <source>Hot Links</source>
+ <translation>Liens chauds</translation>
+ </message>
+ <message>
+ <source>Adjust Brightness</source>
+ <translation>Régler la luminosité</translation>
+ </message>
+ <message>
+ <source>Finance</source>
+ <translation>Finances</translation>
+ </message>
+ <message>
+ <source>Community</source>
+ <translation>Communauté</translation>
+ </message>
+ <message>
+ <source>Audio Rewind</source>
+ <translation>Audio arrière</translation>
+ </message>
+ <message>
+ <source>Back Forward</source>
+ <translation>Retour avant</translation>
+ </message>
+ <message>
+ <source>Application Left</source>
+ <translation>Application gauche</translation>
+ </message>
+ <message>
+ <source>Application Right</source>
+ <translation>Application droite</translation>
+ </message>
+ <message>
+ <source>Book</source>
+ <translation>Livre</translation>
+ </message>
+ <message>
+ <source>CD</source>
+ <translation>CD</translation>
+ </message>
+ <message>
+ <source>Calculator</source>
+ <translation>Calculatrice</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Effacer</translation>
+ </message>
+ <message>
+ <source>Clear Grab</source>
+ <translation>Effacer la prise</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Fermer</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>Copier</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <translation>Couper</translation>
+ </message>
+ <message>
+ <source>Display</source>
+ <translation>Affichage</translation>
+ </message>
+ <message>
+ <source>DOS</source>
+ <translation>DOS</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Documents</translation>
+ </message>
+ <message>
+ <source>Spreadsheet</source>
+ <translation>Feuille de calcul</translation>
+ </message>
+ <message>
+ <source>Browser</source>
+ <translation>Navigateur</translation>
+ </message>
+ <message>
+ <source>Game</source>
+ <translation>Jeu</translation>
+ </message>
+ <message>
+ <source>Go</source>
+ <translation>Aller</translation>
+ </message>
+ <message>
+ <source>iTouch</source>
+ <translation>iTouch</translation>
+ </message>
+ <message>
+ <source>Logoff</source>
+ <translation>Fermer une session</translation>
+ </message>
+ <message>
+ <source>Market</source>
+ <translation>Marché</translation>
+ </message>
+ <message>
+ <source>Meeting</source>
+ <translation>RĂ©union</translation>
+ </message>
+ <message>
+ <source>Keyboard Menu</source>
+ <translation>Menu du clavier</translation>
+ </message>
+ <message>
+ <source>Menu PB</source>
+ <translation>Menu PB</translation>
+ </message>
+ <message>
+ <source>My Sites</source>
+ <translation>Mes sites</translation>
+ </message>
+ <message>
+ <source>News</source>
+ <translation>Actualités</translation>
+ </message>
+ <message>
+ <source>Home Office</source>
+ <translation>Bureau Ă  domicile</translation>
+ </message>
+ <message>
+ <source>Option</source>
+ <translation>Option</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <translation>Coller</translation>
+ </message>
+ <message>
+ <source>Phone</source>
+ <translation>Téléphone</translation>
+ </message>
+ <message>
+ <source>Reply</source>
+ <translation>RĂ©pondre</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>Recharger</translation>
+ </message>
+ <message>
+ <source>Rotate Windows</source>
+ <translation>Faire tourner la fenĂŞtre</translation>
+ </message>
+ <message>
+ <source>Rotation PB</source>
+ <translation>Rotation PB</translation>
+ </message>
+ <message>
+ <source>Rotation KB</source>
+ <translation>Rotation KB</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Enregistrer</translation>
+ </message>
+ <message>
+ <source>Send</source>
+ <translation>Envoyer</translation>
+ </message>
+ <message>
+ <source>Spellchecker</source>
+ <translation>Correcteur orthographique</translation>
+ </message>
+ <message>
+ <source>Split Screen</source>
+ <translation>Partager l&apos;Ă©cran</translation>
+ </message>
+ <message>
+ <source>Support</source>
+ <translation>Supporter</translation>
+ </message>
+ <message>
+ <source>Task Panel</source>
+ <translation>Panneau de tâches</translation>
+ </message>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>Outils</translation>
+ </message>
+ <message>
+ <source>Travel</source>
+ <translation>Voyager</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Vidéo</translation>
+ </message>
+ <message>
+ <source>Word Processor</source>
+ <translation>Traitement de texte</translation>
+ </message>
+ <message>
+ <source>XFer</source>
+ <translation>XFer</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>Agrandir</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>Rétrécir</translation>
+ </message>
+ <message>
+ <source>Away</source>
+ <translation>Absent</translation>
+ </message>
+ <message>
+ <source>Messenger</source>
+ <translation>Messenger</translation>
+ </message>
+ <message>
+ <source>WebCam</source>
+ <translation>Webcaméra</translation>
+ </message>
+ <message>
+ <source>Mail Forward</source>
+ <translation>Faire suivre l&apos;e-mail</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Images</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>Musique</translation>
+ </message>
+ <message>
+ <source>Battery</source>
+ <translation>Batterie</translation>
+ </message>
+ <message>
+ <source>Bluetooth</source>
+ <translation>Bluetooth</translation>
+ </message>
+ <message>
+ <source>Wireless</source>
+ <translation>Sans fil</translation>
+ </message>
+ <message>
+ <source>Ultra Wide Band</source>
+ <translation>Bande ultralarge</translation>
+ </message>
+ <message>
+ <source>Audio Forward</source>
+ <translation>Audio avant</translation>
+ </message>
+ <message>
+ <source>Audio Repeat</source>
+ <translation>Audio répéter</translation>
+ </message>
+ <message>
+ <source>Audio Random Play</source>
+ <translation>Audio lecture aléatoire</translation>
+ </message>
+ <message>
+ <source>Subtitle</source>
+ <translation>Sous-titre</translation>
+ </message>
+ <message>
+ <source>Audio Cycle Track</source>
+ <translation>Piste du cycle audio</translation>
+ </message>
+ <message>
+ <source>Time</source>
+ <translation>Heure</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Afficher</translation>
+ </message>
+ <message>
+ <source>Top Menu</source>
+ <translation>Haut du menu</translation>
+ </message>
+ <message>
+ <source>Suspend</source>
+ <translation>Suspendre</translation>
+ </message>
+ <message>
+ <source>Hibernate</source>
+ <translation>Hiberner</translation>
+ </message>
+ <message>
+ <source>Print Screen</source>
+ <translation>Capture d&apos;Ă©cran</translation>
+ </message>
+ <message>
+ <source>Page Up</source>
+ <translation>Page haut</translation>
+ </message>
+ <message>
+ <source>Page Down</source>
+ <translation>Page bas</translation>
+ </message>
+ <message>
+ <source>Caps Lock</source>
+ <translation>Verrou maj.</translation>
+ </message>
+ <message>
+ <source>Num Lock</source>
+ <translation>Verrou num.</translation>
+ </message>
+ <message>
+ <source>Number Lock</source>
+ <translation>Verrou numéro</translation>
+ </message>
+ <message>
+ <source>Scroll Lock</source>
+ <translation>Arrêt défilement</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Insérer</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <source>Escape</source>
+ <translation>Échapement</translation>
+ </message>
+ <message>
+ <source>System Request</source>
+ <translation>Système</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>SĂ©lectionner</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>Oui</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>Non</translation>
+ </message>
+ <message>
+ <source>Context1</source>
+ <translation>Contexte1</translation>
+ </message>
+ <message>
+ <source>Context2</source>
+ <translation>Contexte2</translation>
+ </message>
+ <message>
+ <source>Context3</source>
+ <translation>Contexte3</translation>
+ </message>
+ <message>
+ <source>Context4</source>
+ <translation>Contexte4</translation>
+ </message>
+ <message>
+ <source>Call</source>
+ <translation>Appeler</translation>
+ </message>
+ <message>
+ <source>Hangup</source>
+ <translation>Raccrocher</translation>
+ </message>
+ <message>
+ <source>Flip</source>
+ <translation>Retourner</translation>
+ </message>
+ <message>
+ <source>Ctrl</source>
+ <translation>Ctrl</translation>
+ </message>
+ <message>
+ <source>Shift</source>
+ <translation>Maj</translation>
+ </message>
+ <message>
+ <source>Alt</source>
+ <translation>Alt</translation>
+ </message>
+ <message>
+ <source>Meta</source>
+ <translation>MĂ©ta</translation>
+ </message>
+ <message>
+ <source>+</source>
+ <translation>+</translation>
+ </message>
+ <message>
+ <source>F%1</source>
+ <translation>F%1</translation>
+ </message>
+ <message>
+ <source>Home Page</source>
+ <translation>Page d&apos;accueil</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSlider</name>
+ <message>
+ <source>Page left</source>
+ <translation>Page précédente</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>Page précédente</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>Position</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>Page suivante</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>Page suivante</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSocks5SocketEngine</name>
+ <message>
+ <source>Connection to proxy refused</source>
+ <translation>Connexion au proxy refusée</translation>
+ </message>
+ <message>
+ <source>Connection to proxy closed prematurely</source>
+ <translation>connexion au proxy fermée prématurément</translation>
+ </message>
+ <message>
+ <source>Proxy host not found</source>
+ <translation>HĂ´te proxy introuvable</translation>
+ </message>
+ <message>
+ <source>Connection to proxy timed out</source>
+ <translation>Connexion au proxy expirée</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed</source>
+ <translation>L&apos;authentification proxy a échoué</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed: %1</source>
+ <translation>L&apos;authentification proxy a échoué : %1</translation>
+ </message>
+ <message>
+ <source>SOCKS version 5 protocol error</source>
+ <translation>Erreur de protocole SOCKS version 5</translation>
+ </message>
+ <message>
+ <source>General SOCKSv5 server failure</source>
+ <translation>Erreur générale du serveur SOCKSv5</translation>
+ </message>
+ <message>
+ <source>Connection not allowed by SOCKSv5 server</source>
+ <translation>Connexion refusée par le serveur SOCKSv5</translation>
+ </message>
+ <message>
+ <source>TTL expired</source>
+ <translation>TTL expiré</translation>
+ </message>
+ <message>
+ <source>SOCKSv5 command not supported</source>
+ <translation>Commande SOCKSv5 non supportée</translation>
+ </message>
+ <message>
+ <source>Address type not supported</source>
+ <translation>Type d&apos;adresse non supporté</translation>
+ </message>
+ <message>
+ <source>Unknown SOCKSv5 proxy error code 0x%1</source>
+ <translation>Erreur proxy SOCKSv5 inconnue : 0x%1</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>L&apos;opération réseau a expiré</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSoftKeyManager</name>
+ <message>
+ <source>Ok</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>SĂ©lectionner</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Terminer</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>Options</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>Quitter</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>Plus</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>Moins</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSql</name>
+ <message>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <source>Delete this record?</source>
+ <translation>Supprimer cet enregistrement ?</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>Oui</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>Non</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Insérer</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>Actualiser</translation>
+ </message>
+ <message>
+ <source>Save edits?</source>
+ <translation>Enregistrer les modifications ?</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Confirm</source>
+ <translation>Confirmer</translation>
+ </message>
+ <message>
+ <source>Cancel your edits?</source>
+ <translation>Annuler vos modifications ?</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSslSocket</name>
+ <message>
+ <source>Unable to write data: %1</source>
+ <translation>Impossible d&apos;écrire les données : %1</translation>
+ </message>
+ <message>
+ <source>Unable to decrypt data: %1</source>
+ <translation>Impossible de décrypter les données: %1</translation>
+ </message>
+ <message>
+ <source>Error while reading: %1</source>
+ <translation>Erreur lors de la lecture : %1</translation>
+ </message>
+ <message>
+ <source>Error during SSL handshake: %1</source>
+ <translation>Erreur lors de la poignée de main SSL : %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL context (%1)</source>
+ <translation>Erreur lors de la création du contexte SSL (%1)</translation>
+ </message>
+ <message>
+ <source>Invalid or empty cipher list (%1)</source>
+ <translation>La list de chiffrements est invalide ou vide (%1)</translation>
+ </message>
+ <message>
+ <source>Private key does not certify public key, %1</source>
+ <translation>La clé privée ne certifie pas la clé publique, %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session, %1</source>
+ <translation>Erreur lors de la création de la session SSL, %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session: %1</source>
+ <translation>Erreur lors de la création de la session SSL : %1</translation>
+ </message>
+ <message>
+ <source>Cannot provide a certificate with no key, %1</source>
+ <translation>Impossible de fournir un certificat sans clé, %1</translation>
+ </message>
+ <message>
+ <source>Error loading local certificate, %1</source>
+ <translation>Erreur lors du chargement du certificat local, %1</translation>
+ </message>
+ <message>
+ <source>Error loading private key, %1</source>
+ <translation>Erreur lors du chargement de la clé privée, %1</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Aucune erreur</translation>
+ </message>
+ <message>
+ <source>The issuer certificate could not be found</source>
+ <translation>Le certificat de l&apos;Ă©metteur est introuvable</translation>
+ </message>
+ <message>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>La signature du certificat n&apos;a pas pu être vérifiée</translation>
+ </message>
+ <message>
+ <source>The public key in the certificate could not be read</source>
+ <translation>La clé publique du certificat n&apos;a pas pu être lue</translation>
+ </message>
+ <message>
+ <source>The signature of the certificate is invalid</source>
+ <translation>La signature du certificat n&apos;est pas valide</translation>
+ </message>
+ <message>
+ <source>The certificate is not yet valid</source>
+ <translation>Le certificat n&apos;est pas encore valide</translation>
+ </message>
+ <message>
+ <source>The certificate has expired</source>
+ <translation>Le certificat a expiré</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>Le champ pasAvant du certificat inclut une heure non valide</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>Le champ pasAprès du certificat inclut une heure non valide</translation>
+ </message>
+ <message>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation>Le certificat n&apos;est pas sécurisé car signé automatiquement</translation>
+ </message>
+ <message>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation>Le certificat racine de la chaîne de certificats n&apos;est pas sécurisé car signé automatiquement</translation>
+ </message>
+ <message>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation>Le certificat de l&apos;Ă©metteur d&apos;un certificat converti localement est introuvable</translation>
+ </message>
+ <message>
+ <source>No certificates could be verified</source>
+ <translation>Aucun certificat n&apos;a pu être vérifié</translation>
+ </message>
+ <message>
+ <source>One of the CA certificates is invalid</source>
+ <translation>L&apos;un des certificats CA n&apos;est pas valide</translation>
+ </message>
+ <message>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation>Le paramètre de longueur du chemin basicConstraints a été dépassé</translation>
+ </message>
+ <message>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation>Le certificat fourni ne convient pas pour cet objectif</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation>Le certificat CA racine n&apos;est pas sécurisé pour cet objectif</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation>Le certificat CA racine est marqué pour rejeter l&apos;objectif spécifié</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
+ <translation>Le certificat de l&apos;émetteur candidat actuel a été rejeté car le nom de son sujet ne correspondait pas au nom de l&apos;émetteur du certificat actuel</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
+ <translation>Le certificat de l&apos;émetteur candidat actuel a été rejeté car le nom de son sujet et son numéro de série étaient présents et ne correspondaient pas à l&apos;identifiant de la clé d&apos;autorité du certificat actuel</translation>
+ </message>
+ <message>
+ <source>The peer did not present any certificate</source>
+ <translation>Le poste ne contient aucun certificat</translation>
+ </message>
+ <message>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>Le nom d&apos;hĂ´te ne correspondait Ă  aucun des hĂ´tes valides pour ce certificat</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ </context>
+ <context>
+ <name>QStateMachine</name>
+ <message>
+ <source>Missing initial state in compound state &apos;%1&apos;</source>
+ <translation>État initial manquant dans l&apos;état composé &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Missing default state in history state &apos;%1&apos;</source>
+ <translation>État par défaut manquant dans l&apos;état de l&apos;historique &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
+ <translation>Aucun ancĂŞtre commun pour les cibles et la source de transition de l&apos;Ă©tat &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Erreur inconnue</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSystemSemaphore</name>
+ <message>
+ <source>%1: does not exist</source>
+ <translation>%1 : n&apos;existe pas</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1: plus de ressources disponibles</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1: permission refusée</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1 : existe déjà</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1: erreur inconnue %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTDSDriver</name>
+ <message>
+ <source>Unable to open connection</source>
+ <translation>Impossible d&apos;ouvrir la connexion</translation>
+ </message>
+ <message>
+ <source>Unable to use database</source>
+ <translation>Impossible d&apos;utiliser la base de données</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTabBar</name>
+ <message>
+ <source>Scroll Left</source>
+ <translation>DĂ©filer vers la gauche</translation>
+ </message>
+ <message>
+ <source>Scroll Right</source>
+ <translation>DĂ©filer vers la droite</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTcpServer</name>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>Opération sur le socket non supportée</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTextControl</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Annuler</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;Répéter</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>Co&amp;uper</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>Cop&amp;ier</translation>
+ </message>
+ <message>
+ <source>Copy &amp;Link Location</source>
+ <translation>Copier l&apos;adresse du &amp;lien</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>Co&amp;ller</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Supprimer</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>Tout sélectionner</translation>
+ </message>
+ </context>
+ <context>
+ <name>QToolButton</name>
+ <message>
+ <source>Press</source>
+ <translation>Presser</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Ouvrir</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUdpSocket</name>
+ <message>
+ <source>This platform does not support IPv6</source>
+ <translation>Cette plateforme ne supporte pas IPv6</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoGroup</name>
+ <message>
+ <source>Undo</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>Répéter</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoModel</name>
+ <message>
+ <source>&lt;empty&gt;</source>
+ <translation>&lt;vide&gt;</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoStack</name>
+ <message>
+ <source>Undo</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>Répéter</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUnicodeControlCharacterMenu</name>
+ <message>
+ <source>LRM Left-to-right mark</source>
+ <translation>LRM Left-to-right mark</translation>
+ </message>
+ <message>
+ <source>RLM Right-to-left mark</source>
+ <translation>RLM Right-to-left mark</translation>
+ </message>
+ <message>
+ <source>ZWJ Zero width joiner</source>
+ <translation>ZWJ Zero width joiner</translation>
+ </message>
+ <message>
+ <source>ZWNJ Zero width non-joiner</source>
+ <translation>ZWNJ Zero width non-joiner</translation>
+ </message>
+ <message>
+ <source>ZWSP Zero width space</source>
+ <translation>ZWSP Zero width space</translation>
+ </message>
+ <message>
+ <source>LRE Start of left-to-right embedding</source>
+ <translation>LRE Start of left-to-right embedding</translation>
+ </message>
+ <message>
+ <source>RLE Start of right-to-left embedding</source>
+ <translation>RLE Start of right-to-left embedding</translation>
+ </message>
+ <message>
+ <source>LRO Start of left-to-right override</source>
+ <translation>LRO Start of left-to-right override</translation>
+ </message>
+ <message>
+ <source>RLO Start of right-to-left override</source>
+ <translation>RLO Start of right-to-left override</translation>
+ </message>
+ <message>
+ <source>PDF Pop directional formatting</source>
+ <translation>PDF Pop directional formatting</translation>
+ </message>
+ <message>
+ <source>Insert Unicode control character</source>
+ <translation>Insérer caractère de contrôle Unicode</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebFrame</name>
+ <message>
+ <source>Request cancelled</source>
+ <translation>Requête annulée</translation>
+ </message>
+ <message>
+ <source>Request blocked</source>
+ <translation>Requête bloquée</translation>
+ </message>
+ <message>
+ <source>Cannot show URL</source>
+ <translation>Impossible d&apos;afficher l&apos;URL</translation>
+ </message>
+ <message>
+ <source>Frame load interrupted by policy change</source>
+ <translation>Charge du cadre interrompue par le changement de politique</translation>
+ </message>
+ <message>
+ <source>Cannot show mimetype</source>
+ <translation>Impossible d&apos;afficher le mimetype</translation>
+ </message>
+ <message>
+ <source>File does not exist</source>
+ <translation>Le fichier n&apos;existe pas</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebPage</name>
+ <message>
+ <source>Submit</source>
+ <comment>default label for Submit buttons in forms on web pages</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Submit</source>
+ <comment>Submit (input element) alt text for &lt;input&gt; elements with no alt, title, or value</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <comment>default label for Reset buttons in forms on web pages</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Choose File</source>
+ <comment>title for file button used in HTML forms</comment>
+ <translation>Choisir le fichier</translation>
+ </message>
+ <message>
+ <source>No file selected</source>
+ <comment>text to display in file button used in HTML forms when no file is selected</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open in New Window</source>
+ <comment>Open in New Window context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Save Link...</source>
+ <comment>Download Linked File context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Copy Link</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>Copier le lien</translation>
+ </message>
+ <message>
+ <source>Open Image</source>
+ <comment>Open Image in New Window context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Save Image</source>
+ <comment>Download Image context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Copy Image</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>Copier l&apos;image</translation>
+ </message>
+ <message>
+ <source>Open Frame</source>
+ <comment>Open Frame in New Window context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <comment>Copy context menu item</comment>
+ <translation>Copier</translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <comment>Back context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Go Forward</source>
+ <comment>Forward context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <comment>Stop context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <comment>Reload context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <comment>Cut context menu item</comment>
+ <translation>Couper</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <comment>Paste context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No Guesses Found</source>
+ <comment>No Guesses Found context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Spelling context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Add To Dictionary</source>
+ <comment>Learn Spelling context menu item</comment>
+ <translation>Ajouter au dictionnaire</translation>
+ </message>
+ <message>
+ <source>Search The Web</source>
+ <comment>Search The Web context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Look Up In Dictionary</source>
+ <comment>Look Up in Dictionary context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <comment>Open Link context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Grammar context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Spelling</source>
+ <comment>Spelling and Grammar context sub-menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Hide Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Check Spelling</source>
+ <comment>Check spelling context menu item</comment>
+ <translation>VĂ©rifier l&apos;orthographe</translation>
+ </message>
+ <message>
+ <source>Check Spelling While Typing</source>
+ <comment>Check spelling while typing context menu item</comment>
+ <translation>VĂ©rifier l&apos;orthographe pendant la saisie</translation>
+ </message>
+ <message>
+ <source>Check Grammar With Spelling</source>
+ <comment>Check grammar with spelling context menu item</comment>
+ <translation>VĂ©rifier la grammaire en mĂŞme temps que l&apos;orthographe</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <comment>Font context sub-menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <comment>Bold context menu item</comment>
+ <translation>Gras</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <comment>Italic context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Underline</source>
+ <comment>Underline context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Outline</source>
+ <comment>Outline context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Direction</source>
+ <comment>Writing direction context sub-menu item</comment>
+ <translation>Direction</translation>
+ </message>
+ <message>
+ <source>Text Direction</source>
+ <comment>Text direction context sub-menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <comment>Default writing direction context menu item</comment>
+ <translation>DĂ©faut</translation>
+ </message>
+ <message>
+ <source>Left to Right</source>
+ <comment>Left to Right context menu item</comment>
+ <translation>Gauche Ă  droite</translation>
+ </message>
+ <message>
+ <source>Right to Left</source>
+ <comment>Right to Left context menu item</comment>
+ <translation>Droite Ă  gauche</translation>
+ </message>
+ <message>
+ <source>Loading...</source>
+ <comment>Media controller status message when the media is loading</comment>
+ <translation>Chargement...</translation>
+ </message>
+ <message>
+ <source>Live Broadcast</source>
+ <comment>Media controller status message when watching a live broadcast</comment>
+ <translation>Diffusion en direct</translation>
+ </message>
+ <message>
+ <source>Audio Element</source>
+ <comment>Media controller element</comment>
+ <translation>Élément audio</translation>
+ </message>
+ <message>
+ <source>Video Element</source>
+ <comment>Media controller element</comment>
+ <translation>Élément vidéo</translation>
+ </message>
+ <message>
+ <source>Mute Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de désactivation du son</translation>
+ </message>
+ <message>
+ <source>Unmute Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de réactivation du son</translation>
+ </message>
+ <message>
+ <source>Play Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de lecture</translation>
+ </message>
+ <message>
+ <source>Pause Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de pause</translation>
+ </message>
+ <message>
+ <source>Slider</source>
+ <comment>Media controller element</comment>
+ <translation>Barre de défilement</translation>
+ </message>
+ <message>
+ <source>Slider Thumb</source>
+ <comment>Media controller element</comment>
+ <translation>Curseur de la barre de défilement</translation>
+ </message>
+ <message>
+ <source>Rewind Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de retour en arrière</translation>
+ </message>
+ <message>
+ <source>Return to Real-time Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de retour au temps réel</translation>
+ </message>
+ <message>
+ <source>Elapsed Time</source>
+ <comment>Media controller element</comment>
+ <translation>Temps écoulé</translation>
+ </message>
+ <message>
+ <source>Remaining Time</source>
+ <comment>Media controller element</comment>
+ <translation>Durée restante</translation>
+ </message>
+ <message>
+ <source>Status Display</source>
+ <comment>Media controller element</comment>
+ <translation>Affichage de l&apos;Ă©tat</translation>
+ </message>
+ <message>
+ <source>Fullscreen Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de plein Ă©cran</translation>
+ </message>
+ <message>
+ <source>Seek Forward Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de recherche avant</translation>
+ </message>
+ <message>
+ <source>Seek Back Button</source>
+ <comment>Media controller element</comment>
+ <translation>Bouton de recherche arrière</translation>
+ </message>
+ <message>
+ <source>Audio element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>Commandes de lecture et affichage de l&apos;état de l&apos;élément audio</translation>
+ </message>
+ <message>
+ <source>Video element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>Commandes de lecture et affichage de l&apos;état de l&apos;élément vidéo</translation>
+ </message>
+ <message>
+ <source>Mute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>Couper le son des pistes audio</translation>
+ </message>
+ <message>
+ <source>Unmute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>RĂ©activer le son des pistes audio</translation>
+ </message>
+ <message>
+ <source>Begin playback</source>
+ <comment>Media controller element</comment>
+ <translation>Commencer la lecture</translation>
+ </message>
+ <message>
+ <source>Pause playback</source>
+ <comment>Media controller element</comment>
+ <translation>Pause lecture</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber</source>
+ <comment>Media controller element</comment>
+ <translation>Épurateur de la durée du film</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber thumb</source>
+ <comment>Media controller element</comment>
+ <translation>Case de défilement de l&apos;épurateur de la durée du film</translation>
+ </message>
+ <message>
+ <source>Rewind movie</source>
+ <comment>Media controller element</comment>
+ <translation>Rembobiner le film</translation>
+ </message>
+ <message>
+ <source>Return streaming movie to real-time</source>
+ <comment>Media controller element</comment>
+ <translation>Ramener le film en streaming en temps réel</translation>
+ </message>
+ <message>
+ <source>Current movie time</source>
+ <comment>Media controller element</comment>
+ <translation>Durée du film actuel</translation>
+ </message>
+ <message>
+ <source>Remaining movie time</source>
+ <comment>Media controller element</comment>
+ <translation>Durée de film restante</translation>
+ </message>
+ <message>
+ <source>Current movie status</source>
+ <comment>Media controller element</comment>
+ <translation>État du film actuel</translation>
+ </message>
+ <message>
+ <source>Play movie in full-screen mode</source>
+ <comment>Media controller element</comment>
+ <translation>Regarder le film en mode plein Ă©cran</translation>
+ </message>
+ <message>
+ <source>Seek quickly back</source>
+ <comment>Media controller element</comment>
+ <translation>Recherche rapide arrière</translation>
+ </message>
+ <message>
+ <source>Seek quickly forward</source>
+ <comment>Media controller element</comment>
+ <translation>Recherche rapide avant</translation>
+ </message>
+ <message>
+ <source>Indefinite time</source>
+ <comment>Media time description</comment>
+ <translation>Durée indéfinie</translation>
+ </message>
+ <message>
+ <source>%1 days %2 hours %3 minutes %4 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 jours %2 heures %3 minutes %4 secondes</translation>
+ </message>
+ <message>
+ <source>%1 hours %2 minutes %3 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 heures %2 minutes %3 secondes</translation>
+ </message>
+ <message>
+ <source>%1 minutes %2 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 minutes %2 secondes</translation>
+ </message>
+ <message>
+ <source>%1 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 secondes</translation>
+ </message>
+ <message>
+ <source>Inspect</source>
+ <comment>Inspect Element context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No recent searches</source>
+ <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Recent searches</source>
+ <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Clear recent searches</source>
+ <comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
+ <translation>Effacer les recherches récentes</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <comment>Unknown filesize FTP directory listing item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Web Inspector - %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 (%2x%3 pixels)</source>
+ <comment>Title string for images</comment>
+ <translation>%1 (%2x%3 pixels)</translation>
+ </message>
+ <message>
+ <source>Bad HTTP request</source>
+ <translation>Requête HTTP erronée</translation>
+ </message>
+ <message>
+ <source>This is a searchable index. Enter search keywords: </source>
+ <comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>En bas</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <source>%n file(s)</source>
+ <comment>number of chosen file</comment>
+ <translation>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>JavaScript Alert - %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>JavaScript Confirm - %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>JavaScript Prompt - %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>JavaScript Problem - %1</source>
+ <translation>Problème de JavaScript - %1</translation>
+ </message>
+ <message>
+ <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
+ <translation>Le script de cette page semble avoir un problème. Souhaitez-vous arrêter le script?</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the next character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the next word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the next line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delete to the start of the word</source>
+ <translation>Supprimer jusqu&apos;au début du mot</translation>
+ </message>
+ <message>
+ <source>Delete to the end of the word</source>
+ <translation>Supprimer jusqu&apos;Ă  la fin du mot</translation>
+ </message>
+ <message>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Paste and Match Style</source>
+ <translation>Coller et suivre le style</translation>
+ </message>
+ <message>
+ <source>Remove formatting</source>
+ <translation>Retirer la mise en forme</translation>
+ </message>
+ <message>
+ <source>Strikethrough</source>
+ <translation>Barré</translation>
+ </message>
+ <message>
+ <source>Subscript</source>
+ <translation>Indice</translation>
+ </message>
+ <message>
+ <source>Superscript</source>
+ <translation>Exposant</translation>
+ </message>
+ <message>
+ <source>Insert Bulleted List</source>
+ <translation>Insérer une liste à puces</translation>
+ </message>
+ <message>
+ <source>Insert Numbered List</source>
+ <translation>Insérer une liste numérotée</translation>
+ </message>
+ <message>
+ <source>Indent</source>
+ <translation>Retrait</translation>
+ </message>
+ <message>
+ <source>Outdent</source>
+ <translation>Retrait négatif</translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation>Centré</translation>
+ </message>
+ <message>
+ <source>Justify</source>
+ <translation>Justifié</translation>
+ </message>
+ <message>
+ <source>Align Left</source>
+ <translation>Aligner Ă  gauche</translation>
+ </message>
+ <message>
+ <source>Align Right</source>
+ <translation>Aligner Ă  droite</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWhatsThisAction</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWidget</name>
+ <message>
+ <source>*</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWizard</name>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Commit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWorkspace</name>
+ <message>
+ <source>&amp;Restore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sh&amp;ade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Unshade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXml</name>
+ <message>
+ <source>no error occurred</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error triggered by consumer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected end of file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>more than one document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>tag mismatch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing content</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>invalid name for processing instruction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>version expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>wrong value for standalone declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>letter is expected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing reference</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>internal general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in attribute value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unparsed entity reference in wrong context</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>recursive entities</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error in the text declaration of an external entity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlPatternistCLI</name>
+ <message>
+ <source>Warning in %1, at line %2, column %3: %4</source>
+ <translation>Avertissement dans %1, Ă  la ligne %2, colonne %3: %4</translation>
+ </message>
+ <message>
+ <source>Warning in %1: %2</source>
+ <translation>Avertissement dans %1: %2</translation>
+ </message>
+ <message>
+ <source>Unknown location</source>
+ <translation>Lieu inconnu</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2, at line %3, column %4: %5</source>
+ <translation>Erreur %1 dans %2, Ă  la ligne %3, colonne %4: %5</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2: %3</source>
+ <translation>Erreur %1 dans %2: %3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlStream</name>
+ <message>
+ <source>Extra content at end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid entity value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML character.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix &apos;%1&apos; not declared</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute redefined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected character &apos;%1&apos; in public id literal.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML version string.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsupported XML version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid encoding name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encoding %1 is unsupported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Standalone accepts only yes or no.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid attribute in XML declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Premature end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>, but got &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected character data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Recursive entity detected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start tag expected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>XML declaration not at start of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>NDATA in parameter entity declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Illegal namespace declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Opening and ending tag mismatch.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to unparsed entity &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Entity &apos;%1&apos; not declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to external entity &apos;%1&apos; in attribute value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid character reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encountered incorrectly encoded content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The standalone pseudo attribute must appear after the encoding.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid PUBLIC identifier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QtXmlPatterns</name>
+ <message>
+ <source>At least one component must be present.</source>
+ <translation>Au moins un composant doit être présent.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 n&apos;est pas une valeur valide du type %2.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation>En castant de %2 vers %1, la valeur source ne peut pas ĂŞtre %3.</translation>
+ </message>
+ <message>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation>Effective Boolean Value ne peut être calculée pour une séquence contenant deux ou plus valeurs atomiques.</translation>
+ </message>
+ <message>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>Les données d&apos;une instruction de traitement ne peut contenir la chaîne %1</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 est un ivalide %2</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>%1 n&apos;est pas un caractère XML 1.0 valide.</translation>
+ </message>
+ <message>
+ <source>%1 was called.</source>
+ <translation>%1 a été appelé.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>Dans la chaîne de remplacement, %1 doit être suivi par au moins un chiffre s&apos;il n&apos;est pas échappé.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation>Dans la chaîne de remplacement, %1 peut seulement être utilisé pour échapper lui-même ou %2 mais pas %3</translation>
+ </message>
+ <message>
+ <source>%1 matches newline characters</source>
+ <translation>%1 correspond à des caractères de saut de ligne</translation>
+ </message>
+ <message>
+ <source>Matches are case insensitive</source>
+ <translation>Les correspondances ne sont pas sensibles Ă  la casse</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 est un modèle d&apos;expression régulière invalide: %2</translation>
+ </message>
+ <message>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>Il sera impossible de récupérer %1.</translation>
+ </message>
+ <message>
+ <source>The default collection is undefined</source>
+ <translation>I&apos;l n&apos;y a pas de collection par défaut</translation>
+ </message>
+ <message>
+ <source>%1 cannot be retrieved</source>
+ <translation>%1 ne peut pas être récupéré</translation>
+ </message>
+ <message>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>L&apos;item %1 ne correspond pas au type requis %2.</translation>
+ </message>
+ <message>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 est un type de schema inconnu.</translation>
+ </message>
+ <message>
+ <source>A template with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>Seulement une déclaration %1 peut intervenir lors du prologue de la requête.</translation>
+ </message>
+ <message>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>L&apos;initialisation de la variable %1 dépend d&apos;elle-même</translation>
+ </message>
+ <message>
+ <source>The variable %1 is unused</source>
+ <translation>La variable %1 est inutilisée</translation>
+ </message>
+ <message>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>La version %1 n&apos;est pas supportée. La version de XQuery supportée est 1.0.</translation>
+ </message>
+ <message>
+ <source>No function with signature %1 is available</source>
+ <translation>Aucune fonction avec la signature %1 n&apos;est disponible</translation>
+ </message>
+ <message>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>Il est impossible de redéclarer le préfixe %1.</translation>
+ </message>
+ <message>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>Le préfixe %1 est déjà déclaré dans le prologue.</translation>
+ </message>
+ <message>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>Le nom d&apos;une option doit avoir un préfixe. Il n&apos;y a pas de namespace par défaut pour les options.</translation>
+ </message>
+ <message>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>La fonctionnalité &quot;Schema Import&quot; n&apos;est pas supportée et les déclarations %1 ne peuvent donc intervenir.</translation>
+ </message>
+ <message>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>Le namespace cible d&apos;un %1 ne peut ĂŞtre vide.</translation>
+ </message>
+ <message>
+ <source>The module import feature is not supported</source>
+ <translation>La fonctionnalité &quot;module import&quot; n&apos;est pas supportée</translation>
+ </message>
+ <message>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation>Le namespace d&apos;une fonction utilisateur dans un module de bibliothèque doit être équivalent au namespace du module. En d&apos;autres mots, il devrait être %1 au lieu de %2</translation>
+ </message>
+ <message>
+ <source>A function already exists with the signature %1.</source>
+ <translation>Une fonction avec la signature %1 existe déjà.</translation>
+ </message>
+ <message>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>Les fonctions externes ne sont pas supportées. Toutes les fonctions supportées peuvent êter utilisées directement sans les déclarer préalablement comme externes</translation>
+ </message>
+ <message>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>L&apos;axe %1 n&apos;est pas supporté dans XQuery</translation>
+ </message>
+ <message>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>L&apos;URI de namespace ne peut être une chaîne vide quand on le lie à un préfixe, %1.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 est un URI de namespace invalide.</translation>
+ </message>
+ <message>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>Il est impossible de se lier au préfixe %1</translation>
+ </message>
+ <message>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>Deux attributs de déclarations de namespace ont le même nom : %1.</translation>
+ </message>
+ <message>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>L&apos;URI de namespace doit ĂŞtre une constante et ne peut contenir d&apos;expressions.</translation>
+ </message>
+ <message>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translation>%1 n&apos;est pas dans les déclaration d&apos;attribut in-scope. La fonctionnalité d&apos;inport de schéma n&apos;est pas supportée.</translation>
+ </message>
+ <message>
+ <source>empty</source>
+ <translation>vide</translation>
+ </message>
+ <message>
+ <source>zero or one</source>
+ <translation>zéro ou un</translation>
+ </message>
+ <message>
+ <source>exactly one</source>
+ <translation>exactement un</translation>
+ </message>
+ <message>
+ <source>one or more</source>
+ <translation>un ou plus</translation>
+ </message>
+ <message>
+ <source>zero or more</source>
+ <translation>zéro ou plus</translation>
+ </message>
+ <message>
+ <source>The focus is undefined.</source>
+ <translation>Le focus est indéfini.</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>Un attribute de nom %1 a déjà été créé.</translation>
+ </message>
+ <message>
+ <source>Network timeout.</source>
+ <translation>Le réseau ne répond pas.</translation>
+ </message>
+ <message>
+ <source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
+ <translation>L&apos;élément %1 ne peut pas être sérialisé parce qu&apos;il est hors de l&apos;élément document.</translation>
+ </message>
+ <message>
+ <source>Year %1 is invalid because it begins with %2.</source>
+ <translation>L&apos;année %1 est invalide parce qu&apos;elle commence par %2.</translation>
+ </message>
+ <message>
+ <source>Day %1 is outside the range %2..%3.</source>
+ <translation>Le jour %1 est hors de l&apos;intervalle %2..%3.</translation>
+ </message>
+ <message>
+ <source>Month %1 is outside the range %2..%3.</source>
+ <translation>Le mois %1 est hors de l&apos;intervalle %2..%3.</translation>
+ </message>
+ <message>
+ <source>Overflow: Can&apos;t represent date %1.</source>
+ <translation>Overflow: ne peut pas représenter la date %1.</translation>
+ </message>
+ <message>
+ <source>Day %1 is invalid for month %2.</source>
+ <translation>Jour %1 est invalide pour le mois %2.</translation>
+ </message>
+ <message>
+ <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
+ <translation>L&apos;heure 24:%1:%2.%3 est invalide. L&apos;heure est 24 mais les minutes, seconndes et millisecondes ne sont pas Ă  0;</translation>
+ </message>
+ <message>
+ <source>Time %1:%2:%3.%4 is invalid.</source>
+ <translation>L&apos;heure %1:%2:%3.%4 est invalide.</translation>
+ </message>
+ <message>
+ <source>Overflow: Date can&apos;t be represented.</source>
+ <translation>Overflow : la date ne peut pas être représentée.</translation>
+ </message>
+ <message>
+ <source>At least one time component must appear after the %1-delimiter.</source>
+ <translation>Au moins un composant doit apparaître après le délimiteur %1.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
+ <translation>Diviser une valeur du type %1 par %2 (not-a-number) est interdit.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
+ <translation>Diviser une valeur de type %1 par %2 ou %3 (plus ou moins zéro) est interdit.</translation>
+ </message>
+ <message>
+ <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
+ <translation>La multiplication d&apos;une valeur du type %1 par %2 ou %3 (plus ou moins infini) est interdite.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot have an Effective Boolean Value.</source>
+ <translation>Une valeur de type %1 ne peut pas avoir une Effective Boolean Value.</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 exceeds maximum (%3).</source>
+ <translation>La valeur %1 de type %2 excède le maximum (%3).</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 is below minimum (%3).</source>
+ <translation>La valeur %1 de type %2 est inférieur au minimum (%3).</translation>
+ </message>
+ <message>
+ <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
+ <translation>Une valeur de type %1 doit contenir un nombre pair de chiffre. La valeur %2 n&apos;est pas conforme.</translation>
+ </message>
+ <message>
+ <source>%1 is not valid as a value of type %2.</source>
+ <translation>%1 n&apos;est pas une valeur valide de type %2.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on type %2.</source>
+ <translation>L&apos;opérateur %1 ne peut pas être utilisé pour le type %2.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
+ <translation>L&apos;opérateur %1 ne peut pas être utilisé pour des valeurs atomiques de type %2 ou %3.</translation>
+ </message>
+ <message>
+ <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
+ <translation>L&apos;URI de namespace dans le nom d&apos;un attribut calculé ne peut pas être %1.</translation>
+ </message>
+ <message>
+ <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
+ <translation>Le nom d&apos;un attribut calculé ne peut pas avoir l&apos;URI de namespace %1 avec le nom local %2.</translation>
+ </message>
+ <message>
+ <source>Type error in cast, expected %1, received %2.</source>
+ <translation>Erreur de type lors du cast, attendu %1 mais reçu %2.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
+ <translation>En castant vers %1 ou des types dérivés, la valeur source doit être du même type ou une chaîne. Le type %2 n&apos;est pas autorisé.</translation>
+ </message>
+ <message>
+ <source>A comment cannot contain %1</source>
+ <translation>Un commentaire ne peut pas contenir %1</translation>
+ </message>
+ <message>
+ <source>A comment cannot end with a %1.</source>
+ <translation>Un commentaire ne peut pas finir par %1.</translation>
+ </message>
+ <message>
+ <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
+ <translation>Un noeuds attribut ne peut être un fils d&apos;un noeuds document. C&apos;est pourquoi l&apos;attribut %1 est mal placé.</translation>
+ </message>
+ <message>
+ <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
+ <translation>Un module de bibliothèque ne peut pas être évalué directement. Il doit être importé d&apos;un module principal.</translation>
+ </message>
+ <message>
+ <source>No template by name %1 exists.</source>
+ <translation>Aucun template nommé %1 n&apos;existe.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
+ <translation>Une valeur de type %1 ne peut être un prédicat. Un prédicat doit être de type numérique ou un Effective Boolean Value.</translation>
+ </message>
+ <message>
+ <source>A positional predicate must evaluate to a single numeric value.</source>
+ <translation>Un prédicat de position doit être évalué en une unique valeur numérique.</translation>
+ </message>
+ <message>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
+ <translation>Le nom de destination dans une instruction de traitement ne peut ĂŞtre %1. %2 est invalide.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
+ <translation>%1 n&apos;est pas un nom de destination valide dans une instruction de traitement. Ce doit ĂŞtre une valeur %2, par ex. %3.</translation>
+ </message>
+ <message>
+ <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
+ <translation>La dernière étape dans un chemin doit contenir soit des noeuds soit des valeurs atomiques. Cela ne peut pas être un mélange des deux.</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1</source>
+ <translation>Aucun lien de namespace n&apos;existe pour le préfixe %1</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1 in %2</source>
+ <translation>Aucun lien de namespace n&apos;existe pour le préfixe %1 dans %2</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
+ <translation>Le premier argument de %1 ne peut être du type %2. Il doit être de type numérique, xs:yearMonthDuration ou xs:dayTimeDuration.</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>Le premier argument de %1 ne peut ĂŞtre du type %2. Il doit ĂŞtre de type %3, %4 ou %5.</translation>
+ </message>
+ <message>
+ <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>Le deuxième argument de %1 ne peut être du type %2. Il doit être de type %3, %4 ou %5.</translation>
+ </message>
+ <message>
+ <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
+ <translation>Si les deux valeurs ont des décalages de zone, elle doivent avoir le même. %1 et %2 sont différents.</translation>
+ </message>
+ <message>
+ <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
+ <translation>%1 doit être suivi par %2 ou %3, et non à la fin de la chaîne de remplacement.</translation>
+ </message>
+ <message>
+ <source>%1 and %2 match the start and end of a line.</source>
+ <translation>%1 et %2 correspondent au début et à la fin d&apos;une ligne.</translation>
+ </message>
+ <message>
+ <source>Whitespace characters are removed, except when they appear in character classes</source>
+ <translation>Les blancs sont supprimés excepté quand ils apparaissent dans les classes de caractère</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
+ <translation>%1 est un flag invalide pour des expressions régulières. Les flags valides sont :</translation>
+ </message>
+ <message>
+ <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
+ <translation>Si le premier argument est une sequence vide ou un chaîne vide (sans namespace), un préfixe ne peut être spécifié. Le préfixe %1 a été spécifié.</translation>
+ </message>
+ <message>
+ <source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
+ <translation>Le forme de normalisation %1 n&apos;est pas supportée. Les formes supportées sont %2, %3, %4 et %5, et aucun, ie. une chaîne vide (pas de normalisation).</translation>
+ </message>
+ <message>
+ <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
+ <translation>Un décalage de zone doit être dans l&apos;intervalle %1..%2 inclus. %3 est hors de l&apos;intervalle.</translation>
+ </message>
+ <message>
+ <source>Required cardinality is %1; got cardinality %2.</source>
+ <translation>La cardinalité requise est %1; reçu %2.</translation>
+ </message>
+ <message>
+ <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
+ <translation>L&apos;encodage %1 est invalide. Il doit contenir uniquement des caractères latins, sans blanc et doit être conforme à l&apos;expression régulière %2.</translation>
+ </message>
+ <message>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation>Le mot-clé %1 ne peut pas apparaître avec un autre nom de mode.</translation>
+ </message>
+ <message>
+ <source>No variable with name %1 exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>Une fonction de feuille de style doit avoir un nom préfixé.</translation>
+ </message>
+ <message>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation>Le namespace %1 est réservé; c&apos;est pourquoi les fonctions définies par l&apos;utilisateur ne peuvent l&apos;utiliser. Essayez le préfixe prédéfini %2 qui existe pour ces cas.</translation>
+ </message>
+ <message>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation>Quand la fonction %1 est utilisée pour vérifier la correspondance dans un pattern, l&apos;argument doit être une référence de variable ou une chaîne de caractères.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation>Dans un pattern XSL-T, le premier argument à la fonction %1 doit être une chaîne de caractères quand utilisé pour correspondance.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
+ <translation>Dans un pattern XSL-T, le premier argument à la fonction %1 doit être un litéral ou une référence de variable.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation>Dans un pattern XSL-T, la fonction %1 ne peut pas avoir de 3e argument.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation>Dans un pattern XSL-T, seules les fonctions %1 et %2 (pas %3) peuvent être utilisées pour le matching.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation>Dans un pattern XSL-T, l&apos;axe %1 ne peut pas être utilisé, seulement %2 ou %3 le peuvent.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid template mode name.</source>
+ <translation>%1 est un nom de mode de template invalide.</translation>
+ </message>
+ <message>
+ <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
+ <translation>Le nom d&apos;une variable liée dans un expression for doit être different de la variable positionnelle. Les deux variables appelées %1 sont en conflit.</translation>
+ </message>
+ <message>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation>La fonctionnalité &quot;Schema Validation&quot; n&apos;est pas supportée. Les expressions %1 ne seront pas utilisées.</translation>
+ </message>
+ <message>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation>Aucune des expressions pragma n&apos;est supportée. Une expression par défault doit être présente</translation>
+ </message>
+ <message>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation>Chaque nom d&apos;un paramètre ede template doit être unique; %1 est dupliqué.</translation>
+ </message>
+ <message>
+ <source>No function with name %1 is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation>%1 n&apos;est pas une valeur numérique valide.</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>Le namespace %1 peut seulement être lié à %2 (et doit être pré-déclaré).</translation>
+ </message>
+ <message>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>Le préfixe %1 peut seulement être lié à %2 (et doit être prédéclaré).</translation>
+ </message>
+ <message>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation>Un constructeur direct d&apos;élément est mal-formé. %1 est terminé par %2.</translation>
+ </message>
+ <message>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation>Le nom %1 ne se réfère à aucun type de schema.</translation>
+ </message>
+ <message>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation>%1 est une type complexe. Caster vers des types complexes n&apos;est pas possible. Cependant, caster vers des types atomiques comme %2 marche.</translation>
+ </message>
+ <message>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation>%1 n&apos;est pas un type atomique. Il est uniquement possible de caster vers des types atomiques.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1 n&apos;est pas un nom valide pour une instruction de traitement.</translation>
+ </message>
+ <message>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation>Le nom d&apos;une expression d&apos;extension doit ĂŞtre dans un namespace.</translation>
+ </message>
+ <message>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>Le type requis est %1, mais %2 a été reçu.</translation>
+ </message>
+ <message>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>La Promotion de %1 vers %2 peut causer un perte de précision.</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation>Il est impossible d&apos;ajouter des attributs après un autre type de noeuds.</translation>
+ </message>
+ <message>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>Seule le Unicode CodepointCollation est supporté (%1), %2 n&apos;est pas supporté.</translation>
+ </message>
+ <message>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>Division entière (%1) par zéro (%2) indéfinie.</translation>
+ </message>
+ <message>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>Division (%1) par zéro (%2) indéfinie.</translation>
+ </message>
+ <message>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>Module division (%1) par zéro (%2) indéfinie.</translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 prend au maximum %n argument. %2 est donc invalide.</numerusform>
+ <numerusform>%1 prend au maximum %n arguments. %2 est donc invalide.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 requiert au moins %n argument. %2 est donc invalide.</numerusform>
+ <numerusform>%1 requiert au moins %n arguments. %2 est donc invalide.</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation>Le noeuds racine du deuxième argument à la fonction %1 doit être un noeuds document. %2 n&apos;est pas un document.</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation>Le namespace d&apos;une fonction utilisateur ne peut pas être vide (essayez le préfixe prédéfini %1 qui existe pour ce genre de cas)</translation>
+ </message>
+ <message>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>Un déclaration de namespace par défaut doit être placée avant toute fonction, variable ou declaration d&apos;option.</translation>
+ </message>
+ <message>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>Les declarations de namespace doivent être placées avant tout fonction, variable ou déclaration d&apos;option.</translation>
+ </message>
+ <message>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>Les imports de module doivent être placés avant tout fonction, variable ou déclaration d&apos;option.</translation>
+ </message>
+ <message>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 n&apos;est pas un nombre entier de minutes.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation>L&apos;attribut %1 ne peut pas être sérialisé car il apparaît à la racine.</translation>
+ </message>
+ <message>
+ <source>%1 is an unsupported encoding.</source>
+ <translation>%1 est un encodage non supporté.</translation>
+ </message>
+ <message>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation>%1 contient &apos;octets&apos;, qui n&apos;est pas autorisé pour l&apos;encodage %2.</translation>
+ </message>
+ <message>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation>Le codepoint %1 dans %2 et utilisant l&apos;encodage %3 est un caractère XML invalide.</translation>
+ </message>
+ <message>
+ <source>Ambiguous rule match.</source>
+ <translation>Corresonpdance aux règles ambigüe.</translation>
+ </message>
+ <message>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation>Dans un constructeur d&apos;espace de noms, la valeur pour un espace de noms ne peut pas être une chaîne vide.</translation>
+ </message>
+ <message>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation>Le préfixe doit être un valide %1; %2 n&apos;e l&apos;est pas.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation>Le préfixe %1 ne peut être lié.</translation>
+ </message>
+ <message>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation>Seul le préfixe %1 peut être lié à %2, et vice versa.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation>Le paramètre %1 est requis, mais aucun %2 correspondant n&apos;est fourni.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation>Le paramètre %1 est passé mais aucun %2 correspondant n&apos;existe.</translation>
+ </message>
+ <message>
+ <source>The URI cannot have a fragment</source>
+ <translation>L&apos;URI ne peut pas avoir de fragments</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed at this location.</source>
+ <translation>L&apos;élément %1 n&apos;est pas autorisé à cet emplacement.</translation>
+ </message>
+ <message>
+ <source>Text nodes are not allowed at this location.</source>
+ <translation>Les noeuds de texte ne sont pas autorisés à cet emplacement.</translation>
+ </message>
+ <message>
+ <source>Parse error: %1</source>
+ <translation>Erreur: %1</translation>
+ </message>
+ <message>
+ <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
+ <translation>La valeur de l&apos;attribut de version XSL-T doit ĂŞtre du type %1, et non %2.</translation>
+ </message>
+ <message>
+ <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
+ <translation>Lancement d&apos;une feuille de style XSL-T 1.0 avec un processeur 2.0.</translation>
+ </message>
+ <message>
+ <source>Unknown XSL-T attribute %1.</source>
+ <translation>Attribut XSL-T inconnu : %1.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 and %2 are mutually exclusive.</source>
+ <translation>Les attributs %1 et %2 sont mutuellement exclusifs.</translation>
+ </message>
+ <message>
+ <source>In a simplified stylesheet module, attribute %1 must be present.</source>
+ <translation>Dans un module de feuille de style simplifié, l&apos;attribut %1 doit être présent.</translation>
+ </message>
+ <message>
+ <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
+ <translation>Si l&apos;élément %1 n&apos;a pas d&apos;attribut %2, il ne peut pas avoir d&apos;attribut %3 ou %4.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have at least one of the attributes %2 or %3.</source>
+ <translation>L&apos;Ă©lement %1 doit avoir au moins un des attributs %2 ou %3.</translation>
+ </message>
+ <message>
+ <source>At least one mode must be specified in the %1-attribute on element %2.</source>
+ <translation>Au moins un mode doit être spécifié dans l&apos;attribut %1 sur l&apos;élément %2.</translation>
+ </message>
+ <message>
+ <source>Element %1 must come last.</source>
+ <translation>L&apos;élément %1 doit être le dernier.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur before %2.</source>
+ <translation>Au moins un élément %1 doit être placé avant %2.</translation>
+ </message>
+ <message>
+ <source>Only one %1-element can appear.</source>
+ <translation>Seulement un élément %1 peut apparaître.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur inside %2.</source>
+ <translation>Au moins un élément %1 doit apparaître dans %2.</translation>
+ </message>
+ <message>
+ <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
+ <translation>Quand l&apos;attribut %1 est présent sur %2, un constructeur de séquence ne peut pas être utilisé.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
+ <translation>L&apos;élément %1 doit avoir un attribut %2 ou un constructeur de séquence.</translation>
+ </message>
+ <message>
+ <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
+ <translation>Quand un paramètre est requis, un valeur par défault ne peut pas être fournie par un attribute %1 ou un constructeur de séquence.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have children.</source>
+ <translation>L&apos;élément %1 ne peut pas avoir de fils.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have a sequence constructor.</source>
+ <translation>L&apos;élément %1 ne peut pas avoir un constructuer de séquence.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
+ <translation>L&apos;attribut %1 ne peut pas apparaître sur %2 quand il est fils de %3.</translation>
+ </message>
+ <message>
+ <source>A parameter in a function cannot be declared to be a tunnel.</source>
+ <translation>Un paramètre de fonction ne peut pas être déclaré comme un tunnel.</translation>
+ </message>
+ <message>
+ <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
+ <translation>Ce processeur ne comprend pas les Schemas. C&apos;est pourquoi %1 ne peut pas être utilisé.</translation>
+ </message>
+ <message>
+ <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
+ <translation>Les élément d&apos;une feuille de style de haut niveau doivent être dans un namespace non nul; %1 ne l&apos;est pas.</translation>
+ </message>
+ <message>
+ <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
+ <translation>La valeur de l&apos;attribut %1 de l&apos;Ă©lement %2 doit ĂŞtre %3 ou %4, et pas %5.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot have the value %2.</source>
+ <translation>L&apos;attribut %1 ne peut avoir la valeur %2.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 can only appear on the first %2 element.</source>
+ <translation>L&apos;attribute %1 peut seulement apparaître sur le premier élément %2.</translation>
+ </message>
+ <message>
+ <source>At least one %1 element must appear as child of %2.</source>
+ <translation>Au moins un élément %1 doit apparaître comme fils de %2.</translation>
+ </message>
+ <message>
+ <source>%1 has inheritance loop in its base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of base type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of union %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 cannot be complex type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot have direct base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is not allowed to have base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 can only have simple atomic type as base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of item type of %1 must be either atomic or union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of member types of %1 must be atomic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is only allowed to have %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 must have variety of type list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 has defined derivation by restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of base type does not match item type of %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 contains not allowed facet type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have any facets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 must have variety of union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has duplicated element %2 in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has non-deterministic content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have simple content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have the same simple type as its base class %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived from base type %2%3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have a member type with the same name as itself.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet collides with %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must have the same value as %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be equal or greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid regular expression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown notation %1 used in %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid value %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet and %2 facet cannot appear together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type contains not allowed facet %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only %1 and %2 facets are allowed when derived by union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains %2 facet with invalid data: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of element %1 is not of elements type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of attribute %1 is not of attributes type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 has value constraint but has type derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in derived complex type must be %2 like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of base wildcard must be weaker than derived wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 exists twice with different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Particle contains non-deterministic wildcards.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but derived attribute is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not exist in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not match the wildcard in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but missing in derived definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived definition contains an %1 element that does not exists in the base definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived wildcard is not a subset of the base wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 from base type is missing in derived type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 differs from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base definition contains an %1 element that is missing in the derived definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular group reference for %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this scope</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle is missing element %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Can not process unknown element %1, expected elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Child element is missing in that scope, possible child elements are: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Document is not a XML schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3}.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element has neither %2 attribute nor %3 child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element with %2 child element must not have a %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must be %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must not have %2 and %3 attribute together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must not be %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element requires either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Text or entity references not allowed inside %1 element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this context.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element has larger value than %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must either contain %3 or the other values.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Component with ID %1 has been defined previously.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Identity constraint %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated facets in simple type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not valid according to %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the fractionDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Boolean content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid QName content: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Data of type %1 are not allowed to be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>There is one IDREF value with no corresponding ID: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Loaded schema file is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains invalid data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No schema defined for validation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No definition for element %1 available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not known to the schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not defined in this scope.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for element %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is declared as abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid data: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element contains content although it is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not validly substitutable with element type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 is not allowed to be abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed attributes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed text content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing required attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 does not match the attribute wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for attribute %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains two attributes of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains unknown attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Non-unique value found for constraint %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains absent fields.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains references nillable element %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No referenced value found for key reference %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>More than one value found for field %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Field %1 has no simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>ID value &apos;%1&apos; is not unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_he.ts b/config.profiles/symbian/translations/qt_he.ts
new file mode 100644
index 0000000..aca2bd7
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_he.ts
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>RTL</translation>
+ </message>
+</context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_pl_symbian.ts b/config.profiles/symbian/translations/qt_pl_symbian.ts
new file mode 100644
index 0000000..e3902ae
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_pl_symbian.ts
@@ -0,0 +1,8525 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TS>
+
+<TS version="2.0" language="pl">
+ <context>
+ <name>CloseButton</name>
+ <message>
+ <source>Close Tab</source>
+ <translation>Zamknij kartÄ™</translation>
+ </message>
+ </context>
+ <context>
+ <name>FakeReply</name>
+ <message>
+ <source>Fake error !</source>
+ <translation>Fałszywy błąd!</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>Niepoprawny URL</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::</name>
+ <message>
+ <source>Notifications</source>
+ <translation>Powiadomienia</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>Muzyka</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Wideo</translation>
+ </message>
+ <message>
+ <source>Communication</source>
+ <translation>Komunikacja</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Gry</translation>
+ </message>
+ <message>
+ <source>Accessibility</source>
+ <translation>Dostępność</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::AudioOutput</name>
+ <message>
+ <source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Urządzenie dźwiękowe &lt;b&gt;%1&lt;/b&gt; nie działa.&lt;br/&gt;Przywracanie do &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Przełączanie na urządzenie dźwiękowe &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;które właśnie stało się dostępne i ma wyższy priorytet.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation>Przywróć do urządzenia &apos;%1&apos;</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::Backend</name>
+ <message>
+ <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
+ Some video features have been disabled.</source>
+ <translation>OstrzeĹĽenie: WyglÄ…da na to, ĹĽe pakiet gstreamer0.10-plugins-good nie jest zainstalowany w tym systemie.
+Niektóre możliwości wideo zostały wyłączone.</translation>
+ </message>
+ <message>
+ <source>Warning: You do not seem to have the base GStreamer plugins installed.
+ All audio and video support has been disabled</source>
+ <translation>OstrzeĹĽenie: WyglÄ…da na to, ĹĽe podstawowe wtyczki GStreamer nie sÄ… zainstalowane w tym systemie.
+Obsługa dźwięku i wideo została wyłączona</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::MediaObject</name>
+ <message>
+ <source>Cannot start playback.
+
+Check your GStreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation>Nie można rozpocząć odtwarzania.
+
+SprawdĹş instalacjÄ™ Gstreamer i upewnij siÄ™ ĹĽe
+zainstalowałeś libgstreamer-plugins-base.</translation>
+ </message>
+ <message>
+ <source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
+ <translation>Brak wymaganego kodeka. Aby odtworzyć zawartość musisz zainstalować poniższy kodek: %0</translation>
+ </message>
+ <message>
+ <source>Could not open media source.</source>
+ <translation>Nie można otworzyć źródła mediów.</translation>
+ </message>
+ <message>
+ <source>Invalid source type.</source>
+ <translation>Niepoprawny typ źródła.</translation>
+ </message>
+ <message>
+ <source>Could not locate media source.</source>
+ <translation>Nie można znaleźć źródła mediów.</translation>
+ </message>
+ <message>
+ <source>Could not open audio device. The device is already in use.</source>
+ <translation>Nie można otworzyć urządzenia dźwiękowego. Urządzenie jest już używane.</translation>
+ </message>
+ <message>
+ <source>Could not decode media source.</source>
+ <translation>Nie można zdekodować źródła mediów.</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF</name>
+ <message>
+ <source>Audio Output</source>
+ <translation>Wyjście dźwięku</translation>
+ </message>
+ <message>
+ <source>The audio output device</source>
+ <translation>Wyjściowe urządzenie dźwiękowe</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Brak błędu</translation>
+ </message>
+ <message>
+ <source>Not found</source>
+ <translation>Nie znaleziono</translation>
+ </message>
+ <message>
+ <source>Out of memory</source>
+ <translation>Brak pamięci</translation>
+ </message>
+ <message>
+ <source>Not supported</source>
+ <translation>Nieobsługiwane</translation>
+ </message>
+ <message>
+ <source>Overflow</source>
+ <translation>Przepełnienie</translation>
+ </message>
+ <message>
+ <source>Underflow</source>
+ <translation>Niedopełnienie</translation>
+ </message>
+ <message>
+ <source>Already exists</source>
+ <translation>JuĹĽ istnieje</translation>
+ </message>
+ <message>
+ <source>Path not found</source>
+ <translation>Nie znaleziono ścieżki</translation>
+ </message>
+ <message>
+ <source>In use</source>
+ <translation>W uĹĽyciu</translation>
+ </message>
+ <message>
+ <source>Not ready</source>
+ <translation>Brak gotowości</translation>
+ </message>
+ <message>
+ <source>Access denied</source>
+ <translation>Odmowa dostępu</translation>
+ </message>
+ <message>
+ <source>Could not connect</source>
+ <translation>Nie można połączyć</translation>
+ </message>
+ <message>
+ <source>Disconnected</source>
+ <translation>Rozłączono</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Odmowa uprawnień</translation>
+ </message>
+ <message>
+ <source>Insufficient bandwidth</source>
+ <translation>Niewystarczająca szerokość pasma</translation>
+ </message>
+ <message>
+ <source>Network unavailable</source>
+ <translation>Sieć niedostępna</translation>
+ </message>
+ <message>
+ <source>Network communication error</source>
+ <translation>BĹ‚Ä…d komunikacji sieciowej</translation>
+ </message>
+ <message>
+ <source>Streaming not supported</source>
+ <translation>Transmisje strumieniowe nieobsługiwane</translation>
+ </message>
+ <message>
+ <source>Server alert</source>
+ <translation>Sygnał serwera</translation>
+ </message>
+ <message>
+ <source>Invalid protocol</source>
+ <translation>Nieprawidłowy protokół</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>Nieprawidłowy adres URL</translation>
+ </message>
+ <message>
+ <source>Multicast error</source>
+ <translation>BĹ‚Ä…d multiemisji</translation>
+ </message>
+ <message>
+ <source>Proxy server error</source>
+ <translation>BĹ‚Ä…d serwera proxy</translation>
+ </message>
+ <message>
+ <source>Proxy server not supported</source>
+ <translation>Serwer proxy nieobsługiwany</translation>
+ </message>
+ <message>
+ <source>Audio output error</source>
+ <translation>Błąd sygnału audio</translation>
+ </message>
+ <message>
+ <source>Video output error</source>
+ <translation>Błąd wyjścia wideo</translation>
+ </message>
+ <message>
+ <source>Decoder error</source>
+ <translation>BĹ‚Ä…d dekodera</translation>
+ </message>
+ <message>
+ <source>Audio or video components could not be played</source>
+ <translation>Nie można odtworzyć składników dźwiękowych lub wideo</translation>
+ </message>
+ <message>
+ <source>DRM error</source>
+ <translation>BĹ‚Ä…d DRM</translation>
+ </message>
+ <message>
+ <source>Unknown error (%1)</source>
+ <translation>Nieznany błąd (%1)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <source>Not ready to play</source>
+ <translation>Brak gotowości do odtworzenia</translation>
+ </message>
+ <message>
+ <source>Error opening file</source>
+ <translation>BĹ‚Ä…d podczas otwierania pliku</translation>
+ </message>
+ <message>
+ <source>Error opening URL</source>
+ <translation>BĹ‚Ä…d podczas otwierania adresu URL</translation>
+ </message>
+ <message>
+ <source>Setting volume failed</source>
+ <translation>Ustawienie głośności nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Playback complete</source>
+ <translation>Zakończono odtwarzanie</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <source>%1 Hz</source>
+ <translation>%1 Hz</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <source>Getting position failed</source>
+ <translation>Ustalenie pozycji nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>Otwieranie pliku nie powiodło się</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <source>Enabled</source>
+ <translation>WĹ‚Ä…czono</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <source>Decay HF ratio (%)</source>
+ <translation>Współczynnik HF zanikania (%)</translation>
+ </message>
+ <message>
+ <source>Decay time (ms)</source>
+ <translation>Czas zanikania (ms)</translation>
+ </message>
+ <message>
+ <source>Density (%)</source>
+ <translation>Gęstość (%)</translation>
+ </message>
+ <message>
+ <source>Diffusion (%)</source>
+ <translation>Rozpraszanie (%)</translation>
+ </message>
+ <message>
+ <source>Reflections delay (ms)</source>
+ <translation>Opóźnienie odbić (ms)</translation>
+ </message>
+ <message>
+ <source>Reflections level (mB)</source>
+ <translation>Poziom odbić (MB)</translation>
+ </message>
+ <message>
+ <source>Reverb delay (ms)</source>
+ <translation>Opóźnienie pogłosu (ms)</translation>
+ </message>
+ <message>
+ <source>Reverb level (mB)</source>
+ <translation>Poziom pogłosu (MB)</translation>
+ </message>
+ <message>
+ <source>Room HF level</source>
+ <translation>Poziom HF pomieszczenia</translation>
+ </message>
+ <message>
+ <source>Room level (mB)</source>
+ <translation>Poziom pomieszczenia (MB)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <source>Error opening source: type not supported</source>
+ <translation>Błąd podczas otwierania źródła: nieobsługiwany typ</translation>
+ </message>
+ <message>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>Błąd podczas otwierania źródła: nie można określić typu multimediów</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <source>Level (%)</source>
+ <translation>Poziom (%)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation>Wstrzymanie nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation>Wyszukiwanie nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation>Ustalenie pozycji nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>Otwieranie pliku nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation>Buforowanie pliku nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation>Błąd wyświetlacza wideo</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::VolumeSlider</name>
+ <message>
+ <source>Volume: %1%</source>
+ <translation>Głośność: %1%</translation>
+ </message>
+ <message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <translation>Użyj tego suwaka aby zmienić głośność. Skrajnie lewa pozycja to 0%, skrajnie prawa to %1%</translation>
+ </message>
+ <message>
+ <source>Muted</source>
+ <translation>Wyciszony</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Accel</name>
+ <message>
+ <source>%1, %2 not defined</source>
+ <translation>%1, %2 nie określone</translation>
+ </message>
+ <message>
+ <source>Ambiguous %1 not handled</source>
+ <translation>Niejednoznaczne %1, nie obsłużone</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3DataTable</name>
+ <message>
+ <source>True</source>
+ <translation>Prawda</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>Fałsz</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Wstaw</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>Uaktualnij</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Skasuj</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3FileDialog</name>
+ <message>
+ <source>Copy or Move a File</source>
+ <translation>Skopiuj lub przenieĹ› plik</translation>
+ </message>
+ <message>
+ <source>Read: %1</source>
+ <translation>Czytaj: %1</translation>
+ </message>
+ <message>
+ <source>Write: %1</source>
+ <translation>Pisz: %1</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ <message>
+ <source>All Files (*)</source>
+ <translation>Wszystkie pliki (*)</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nazwa</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Rozmiar</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>Rodzaj</translation>
+ </message>
+ <message>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <source>Attributes</source>
+ <translation>Atrybuty</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <source>Look &amp;in:</source>
+ <translation>SprawdĹş &amp;w:</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>Nazwa &amp;pliku:</translation>
+ </message>
+ <message>
+ <source>File &amp;type:</source>
+ <translation>&amp;Rodzaj pliku:</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>PowrĂłt</translation>
+ </message>
+ <message>
+ <source>One directory up</source>
+ <translation>Katalog wyĹĽej</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>UtwĂłrz nowy katalog</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>Lista</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>Szczegóły</translation>
+ </message>
+ <message>
+ <source>Preview File Info</source>
+ <translation>PodglÄ…d informacji o pliku</translation>
+ </message>
+ <message>
+ <source>Preview File Contents</source>
+ <translation>Podgląd zawartości pliku</translation>
+ </message>
+ <message>
+ <source>Read-write</source>
+ <translation>Do zapisu i odczytu</translation>
+ </message>
+ <message>
+ <source>Read-only</source>
+ <translation>Tylko do odczytu</translation>
+ </message>
+ <message>
+ <source>Write-only</source>
+ <translation>Tylko do zapisu</translation>
+ </message>
+ <message>
+ <source>Inaccessible</source>
+ <translation>Niedostępny</translation>
+ </message>
+ <message>
+ <source>Symlink to File</source>
+ <translation>DowiÄ…zanie symboliczne do pliku</translation>
+ </message>
+ <message>
+ <source>Symlink to Directory</source>
+ <translation>DowiÄ…zanie symboliczne do katalogu</translation>
+ </message>
+ <message>
+ <source>Symlink to Special</source>
+ <translation>Specjalny dowiÄ…zanie symboliczne</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>Plik</translation>
+ </message>
+ <message>
+ <source>Dir</source>
+ <translation>Katalog</translation>
+ </message>
+ <message>
+ <source>Special</source>
+ <translation>Specjalny </translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>OtwĂłrz</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>Zachowaj jako</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>&amp;OtwĂłrz</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Zachowaj</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Zmień nazwę</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>&amp;Skasuj</translation>
+ </message>
+ <message>
+ <source>R&amp;eload</source>
+ <translation>&amp;Odśwież</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Name</source>
+ <translation>Sortuj &amp;po nazwie</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Size</source>
+ <translation>Sortuj po &amp;rozmiarze</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Date</source>
+ <translation>Sortuj po &amp;dacie</translation>
+ </message>
+ <message>
+ <source>&amp;Unsorted</source>
+ <translation>&amp;Bez sortowania</translation>
+ </message>
+ <message>
+ <source>Sort</source>
+ <translation>Sortuj</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>PokaĹĽ &amp;ukryte pliki</translation>
+ </message>
+ <message>
+ <source>the file</source>
+ <translation>plik</translation>
+ </message>
+ <message>
+ <source>the directory</source>
+ <translation>katalog</translation>
+ </message>
+ <message>
+ <source>the symlink</source>
+ <translation>dowiÄ…zanie symboliczne</translation>
+ </message>
+ <message>
+ <source>Delete %1</source>
+ <translation>Skasuj %1</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;Na pewno chcesz skasować %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>&amp;Tak</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>&amp;Nie</translation>
+ </message>
+ <message>
+ <source>New Folder 1</source>
+ <translation>Nowy katalog 1</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>Nowy katalog</translation>
+ </message>
+ <message>
+ <source>New Folder %1</source>
+ <translation>Nowy katalog %1</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>ZnajdĹş katalog</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>Katalogi</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>Katalog:</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>BĹ‚Ä…d</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Check path and filename.</source>
+ <translation>%1
+Plik nie znaleziony.
+Sprawdź ścieżkę i nazwę pliku.</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>Wszystkie pliki (*.*)</translation>
+ </message>
+ <message>
+ <source>Open </source>
+ <translation>OtwĂłrz </translation>
+ </message>
+ <message>
+ <source>Select a Directory</source>
+ <translation>Wybierz katalog</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3LocalFs</name>
+ <message>
+ <source>Could not read directory
+%1</source>
+ <translation>Nie można czytać katalogu
+%1</translation>
+ </message>
+ <message>
+ <source>Could not create directory
+%1</source>
+ <translation>Nie można utworzyć katalogu
+%1</translation>
+ </message>
+ <message>
+ <source>Could not remove file or directory
+%1</source>
+ <translation>Nie można usunąć pliku lub katalogu
+%1</translation>
+ </message>
+ <message>
+ <source>Could not rename
+%1
+to
+%2</source>
+ <translation>Nie można zmienić nazwy
+%1
+na
+%2</translation>
+ </message>
+ <message>
+ <source>Could not open
+%1</source>
+ <translation>Nie można otworzyć
+%1</translation>
+ </message>
+ <message>
+ <source>Could not write
+%1</source>
+ <translation>Nie można zapisać
+%1</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3MainWindow</name>
+ <message>
+ <source>Line up</source>
+ <translation>Wyrównaj położenie</translation>
+ </message>
+ <message>
+ <source>Customize...</source>
+ <translation>Ustawienia uĹĽytkownika...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3NetworkProtocol</name>
+ <message>
+ <source>Operation stopped by the user</source>
+ <translation>Operacja zatrzymana przez uĹĽytkownika</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TabDialog</name>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>ZatwierdĹş</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Pomoc</translation>
+ </message>
+ <message>
+ <source>Defaults</source>
+ <translation>Domyślne</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TextEdit</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Cofnij</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;Przywróć</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>W&amp;ytnij</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>S&amp;kopiuj</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>&amp;Wklej</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Wyczyść</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>Zaznacz wszystko</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TitleBar</name>
+ <message>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <source>Restore up</source>
+ <translation>Przywróć na wierzch</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>Zminimalizuj</translation>
+ </message>
+ <message>
+ <source>Restore down</source>
+ <translation>Przywróć pod spód</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>Zmaksymalizuj</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij okno</translation>
+ </message>
+ <message>
+ <source>Contains commands to manipulate the window</source>
+ <translation>Zawiera polecenia zarzÄ…dzajÄ…ce oknem</translation>
+ </message>
+ <message>
+ <source>Puts a minimized window back to normal</source>
+ <translation>Przywraca normalny rozmiar uprzednio zminimalizowanego okna</translation>
+ </message>
+ <message>
+ <source>Moves the window out of the way</source>
+ <translation>Przenosi okno w inne położenie</translation>
+ </message>
+ <message>
+ <source>Puts a maximized window back to normal</source>
+ <translation>Przywraca normalny rozmiar uprzednio zmaksymalizowanego okna</translation>
+ </message>
+ <message>
+ <source>Makes the window full screen</source>
+ <translation>Powiększa maksymalnie okno</translation>
+ </message>
+ <message>
+ <source>Closes the window</source>
+ <translation>Zamyka okno</translation>
+ </message>
+ <message>
+ <source>Displays the name of the window and contains controls to manipulate it</source>
+ <translation>Wyświetla nazwę okna i zawiera elementy do zarządzania nim</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ToolBar</name>
+ <message>
+ <source>More...</source>
+ <translation>Więcej...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3UrlOperator</name>
+ <message>
+ <source>The protocol `%1&apos; is not supported</source>
+ <translation>Protokół &apos;%1&apos; nie jest obsługiwany</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support listing directories</source>
+ <translation>Protokół &apos;%1&apos; nie obsługuje pokazywania katalogów</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support creating new directories</source>
+ <translation>Protokół &apos;%1&apos; nie obsługuje tworzenia nowych katalogów</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support removing files or directories</source>
+ <translation>Protokół &apos;%1&apos; nie obsługuje usuwania plików lub katalogów</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support renaming files or directories</source>
+ <translation>Protokół &apos;%1&apos; nie obsługuje zmiany nazwy plików lub katalogów</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support getting files</source>
+ <translation>Protokół &apos;%1&apos; nie obsługuje pobierania plików</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support putting files</source>
+ <translation>Protokół &apos;%1&apos; nie obsługuje wysyłania plików</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+ <translation>Protokół &apos;%1&apos; nie obsługuje kopiowania lub przenoszenia plików lub katalogów</translation>
+ </message>
+ <message>
+ <source>(unknown)</source>
+ <translation>(nieznany)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Wizard</name>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Anuluj</translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation>&lt; &amp;Wstecz</translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation>&amp;Dalej &gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation>&amp;Zakończ</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>&amp;Pomoc</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSocket</name>
+ <message>
+ <source>Host not found</source>
+ <translation>Host nie znaleziony</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>Połączenie odrzucone</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Przekroczony czas połączenia</translation>
+ </message>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>Operacja na gnieździe nieobsługiwana</translation>
+ </message>
+ <message>
+ <source>Socket operation timed out</source>
+ <translation>Przekroczony czas operacji gniazda</translation>
+ </message>
+ <message>
+ <source>Socket is not connected</source>
+ <translation>Gniazdo nie jest podłączone</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>Sieć niedostępna</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSpinBox</name>
+ <message>
+ <source>&amp;Step up</source>
+ <translation>Krok do &amp;gĂłry</translation>
+ </message>
+ <message>
+ <source>Step &amp;down</source>
+ <translation>Krok w &amp;dół</translation>
+ </message>
+ <message>
+ <source>&amp;Select All</source>
+ <translation>&amp;Zaznacz wszystko</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAccessibleButton</name>
+ <message>
+ <source>Press</source>
+ <translation>Wciśnij</translation>
+ </message>
+ </context>
+ <context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>LTR</translation>
+ </message>
+ <message>
+ <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+ <translation>Program &apos;%1&apos; wymaga do uruchomienia Qt %2, znaleziono Qt %3.</translation>
+ </message>
+ <message>
+ <source>Incompatible Qt Library Error</source>
+ <translation>Niekompatybilność biblioteki Qt</translation>
+ </message>
+ <message>
+ <source>Activate</source>
+ <translation>Uaktywnij</translation>
+ </message>
+ <message>
+ <source>Activates the program&apos;s main window</source>
+ <translation>Uaktywnia główne okno programu</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAxSelect</name>
+ <message>
+ <source>Select ActiveX Control</source>
+ <translation>Wybierz kontrolkÄ™ ActiveX</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Anuluj</translation>
+ </message>
+ <message>
+ <source>COM &amp;Object:</source>
+ <translation>&amp;Obiekt COM:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCheckBox</name>
+ <message>
+ <source>Uncheck</source>
+ <translation>Odznacz</translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation>Zaznacz</translation>
+ </message>
+ <message>
+ <source>Toggle</source>
+ <translation>Przełącz</translation>
+ </message>
+ </context>
+ <context>
+ <name>QColorDialog</name>
+ <message>
+ <source>Hu&amp;e:</source>
+ <translation>&amp;Barwa:</translation>
+ </message>
+ <message>
+ <source>&amp;Sat:</source>
+ <translation>&amp;Nasycenie:</translation>
+ </message>
+ <message>
+ <source>&amp;Val:</source>
+ <translation>&amp;Wartość:</translation>
+ </message>
+ <message>
+ <source>&amp;Red:</source>
+ <translation>&amp;Czerwień:</translation>
+ </message>
+ <message>
+ <source>&amp;Green:</source>
+ <translation>&amp;Zieleń:</translation>
+ </message>
+ <message>
+ <source>Bl&amp;ue:</source>
+ <translation>Błęki&amp;t:</translation>
+ </message>
+ <message>
+ <source>A&amp;lpha channel:</source>
+ <translation>Kanał &amp;alfa:</translation>
+ </message>
+ <message>
+ <source>Select Color</source>
+ <translation>Wybierz kolor</translation>
+ </message>
+ <message>
+ <source>&amp;Basic colors</source>
+ <translation>&amp;Kolory podstawowe</translation>
+ </message>
+ <message>
+ <source>&amp;Custom colors</source>
+ <translation>WĹ‚a&amp;sne kolory</translation>
+ </message>
+ <message>
+ <source>&amp;Add to Custom Colors</source>
+ <translation>&amp;Dodaj do własnych kolorów</translation>
+ </message>
+ </context>
+ <context>
+ <name>QComboBox</name>
+ <message>
+ <source>Open</source>
+ <translation>OtwĂłrz</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>Fałsz</translation>
+ </message>
+ <message>
+ <source>True</source>
+ <translation>Prawda</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCoreApplication</name>
+ <message>
+ <source>%1: key is empty</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: klucz jest pusty</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: nie można utworzyć klucza</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: wystąpił błąd w funkcji ftok()</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: juĹĽ istnieje</translation>
+ </message>
+ <message>
+ <source>%1: does not exist</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: nie istnieje</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: zasoby wyczerpane</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: nieznany błąd %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Driver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Nie można nawiązać połączenia</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można dokonać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to set autocommit</source>
+ <translation>Nie można ustawić trybu automatycznego dokonywania transakcji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Result</name>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Nie można wykonać polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Nie można przygotować polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>Nie można powiązać zmiennej</translation>
+ </message>
+ <message>
+ <source>Unable to fetch record %1</source>
+ <translation>Nie można pobrać rekordu %1</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>Nie można pobrać kolejnego wiersza danych</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>Nie można pobrać pierwszego wiersza danych</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDateTimeEdit</name>
+ <message>
+ <source>AM</source>
+ <translation>AM</translation>
+ </message>
+ <message>
+ <source>am</source>
+ <translation>am</translation>
+ </message>
+ <message>
+ <source>PM</source>
+ <translation>PM</translation>
+ </message>
+ <message>
+ <source>pm</source>
+ <translation>pm</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDial</name>
+ <message>
+ <source>QDial</source>
+ <translation>QDial</translation>
+ </message>
+ <message>
+ <source>SpeedoMeter</source>
+ <translation>Miernik prędkości</translation>
+ </message>
+ <message>
+ <source>SliderHandle</source>
+ <translation>Uchwyt suwaka</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialog</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation>Co to jest?</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Wykonano</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialogButtonBox</name>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Zachowaj</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Zachowaj</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>OtwĂłrz</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Anuluj</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>&amp;Zamknij</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>Zastosuj</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation>Resetuj</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Pomoc</translation>
+ </message>
+ <message>
+ <source>Don&apos;t Save</source>
+ <translation>Nie zachowuj</translation>
+ </message>
+ <message>
+ <source>Discard</source>
+ <translation>Odrzuć</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>&amp;Tak</translation>
+ </message>
+ <message>
+ <source>Yes to &amp;All</source>
+ <translation>Ta&amp;k dla wszystkich</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>&amp;Nie</translation>
+ </message>
+ <message>
+ <source>N&amp;o to All</source>
+ <translation>Ni&amp;e dla wszystkich</translation>
+ </message>
+ <message>
+ <source>Save All</source>
+ <translation>Zachowaj wszystko</translation>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>Przerwij</translation>
+ </message>
+ <message>
+ <source>Retry</source>
+ <translation>PonĂłw</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <translation>Zignoruj</translation>
+ </message>
+ <message>
+ <source>Restore Defaults</source>
+ <translation>Przywróć ustawienia</translation>
+ </message>
+ <message>
+ <source>Close without Saving</source>
+ <translation>Zamknij bez zapisywania</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDirModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nazwa</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Rozmiar</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>Typ</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>Rodzaj</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>Data modyfikacji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDockWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ <message>
+ <source>Dock</source>
+ <translation>Zadokuj</translation>
+ </message>
+ <message>
+ <source>Float</source>
+ <translation>Uwolnij</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDoubleSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>Więcej</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>Mniej</translation>
+ </message>
+ </context>
+ <context>
+ <name>QErrorMessage</name>
+ <message>
+ <source>&amp;Show this message again</source>
+ <translation>&amp;PokaĹĽ ten komunikat ponownie</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <source>Debug Message:</source>
+ <translation>Komunikat dla programisty:</translation>
+ </message>
+ <message>
+ <source>Warning:</source>
+ <translation>OstrzeĹĽenie:</translation>
+ </message>
+ <message>
+ <source>Fatal Error:</source>
+ <translation>BĹ‚Ä…d krytyczny:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFile</name>
+ <message>
+ <source>Destination file exists</source>
+ <translation>Plik wyjściowy już istnieje</translation>
+ </message>
+ <message>
+ <source>Will not rename sequential file using block copy</source>
+ <translation>Nie można zmienić nazwy pliku sekwencyjnego używając kopiowania blokowego</translation>
+ </message>
+ <message>
+ <source>Cannot remove source file</source>
+ <translation>Nie można usunąć oryginalnego pliku</translation>
+ </message>
+ <message>
+ <source>Cannot open %1 for input</source>
+ <translation>Nie można otworzyć pliku wejściowego %1</translation>
+ </message>
+ <message>
+ <source>Cannot open for output</source>
+ <translation>Nie można otworzyć pliku wyjściowego</translation>
+ </message>
+ <message>
+ <source>Failure to write block</source>
+ <translation>Nie można zapisać bloku</translation>
+ </message>
+ <message>
+ <source>Cannot create %1 for output</source>
+ <translation>Nie można utworzyć pliku wyjściowego %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileDialog</name>
+ <message>
+ <source>All Files (*)</source>
+ <translation>Wszystkie pliki (*)</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>PowrĂłt</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>Lista</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>Szczegóły</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>Plik</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>OtwĂłrz</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>Zachowaj jako</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>&amp;OtwĂłrz</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Zachowaj</translation>
+ </message>
+ <message>
+ <source>Recent Places</source>
+ <translation>Ostatnie miejsca</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Zmień nazwę</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>&amp;Skasuj</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>PokaĹĽ &amp;ukryte pliki</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>Nowy katalog</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>ZnajdĹş katalog</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>Katalogi</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>Wszystkie pliki (*.*)</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>Katalog:</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1 juĹĽ istnieje.
+Czy chcesz zamienić?</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+ <translation>%1
+Plik nie znaleziony.
+ProszÄ™ o sprawdzenie podanej nazwy pliku.</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>MĂłj komputer</translation>
+ </message>
+ <message>
+ <source>Parent Directory</source>
+ <translation>Katalog wyĹĽej</translation>
+ </message>
+ <message>
+ <source>Files of type:</source>
+ <translation>Pliki rodzaju:</translation>
+ </message>
+ <message>
+ <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+ <translation>%1
+Katalog nie znaleziony.
+SprawdĹş podanÄ… nazwÄ™ katalogu.</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is write protected.
+Do you want to delete it anyway?</source>
+ <translation>&apos;%1&apos; jest zabezpieczony przed zapisem.
+Czy na pewno chcesz go skasować?</translation>
+ </message>
+ <message>
+ <source>Are sure you want to delete &apos;%1&apos;?</source>
+ <translation>Czy na pewno chcesz skasować &apos;%1&apos;?</translation>
+ </message>
+ <message>
+ <source>Could not delete directory.</source>
+ <translation>Nie można skasować katalogu.</translation>
+ </message>
+ <message>
+ <source>Drive</source>
+ <translation>UrzÄ…dzenie</translation>
+ </message>
+ <message>
+ <source>File Folder</source>
+ <comment>Match Windows Explorer</comment>
+ <translation>Katalog</translation>
+ </message>
+ <message>
+ <source>Folder</source>
+ <comment>All other platforms</comment>
+ <translation>Katalog</translation>
+ </message>
+ <message>
+ <source>Alias</source>
+ <comment>Mac OS X Finder</comment>
+ <translation>Alias</translation>
+ </message>
+ <message>
+ <source>Shortcut</source>
+ <comment>All other platforms</comment>
+ <translation>SkrĂłt</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>Nieznany</translation>
+ </message>
+ <message>
+ <source>Show </source>
+ <translation>PokaĹĽ </translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>Do przodu</translation>
+ </message>
+ <message>
+ <source>&amp;New Folder</source>
+ <translation>&amp;Nowy katalog</translation>
+ </message>
+ <message>
+ <source>&amp;Choose</source>
+ <translation>&amp;Wybierz</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Usuń</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>Nazwa &amp;pliku:</translation>
+ </message>
+ <message>
+ <source>Look in:</source>
+ <translation>Szukaj w:</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>UtwĂłrz nowy katalog</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileSystemModel</name>
+ <message>
+ <source>%1 TB</source>
+ <translation>%1 TB</translation>
+ </message>
+ <message>
+ <source>%1 GB</source>
+ <translation>%1 GB</translation>
+ </message>
+ <message>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+ <source>%1 KB</source>
+ <translation>%1 KB</translation>
+ </message>
+ <message>
+ <source>%1 bytes</source>
+ <translation>%1 bajtĂłw</translation>
+ </message>
+ <message>
+ <source>Invalid filename</source>
+ <translation>Niepoprawna nazwa pliku</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
+ <translation>&lt;b&gt;Nazwa &quot;%1&quot; nie może zostać użyta.&lt;/b&gt;&lt;p&gt;Spróbuj użyć nowej nazwy z mniejszą liczbą znaków lub bez znaków przystankowych.</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nazwa</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Rozmiar</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>Typ</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>Rodzaj</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>Data modyfikacji</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>MĂłj komputer</translation>
+ </message>
+ <message>
+ <source>Computer</source>
+ <translation>Komputer</translation>
+ </message>
+ <message>
+ <source>%1 byte(s)</source>
+ <translation>%1 bajt(Ăłw)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDatabase</name>
+ <message>
+ <source>Normal</source>
+ <translation>Normalny</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <translation>Pogrubiony</translation>
+ </message>
+ <message>
+ <source>Demi Bold</source>
+ <translation>Na wpół pogrubiony</translation>
+ </message>
+ <message>
+ <source>Black</source>
+ <translation>Bardzo gruby</translation>
+ </message>
+ <message>
+ <source>Demi</source>
+ <translation>Na wpół</translation>
+ </message>
+ <message>
+ <source>Light</source>
+ <translation>Cienki</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <translation>Kursywa</translation>
+ </message>
+ <message>
+ <source>Oblique</source>
+ <translation>Pochyły</translation>
+ </message>
+ <message>
+ <source>Any</source>
+ <translation>KaĹĽdy</translation>
+ </message>
+ <message>
+ <source>Latin</source>
+ <translation>ĹaciĹ„ski</translation>
+ </message>
+ <message>
+ <source>Greek</source>
+ <translation>Grecki</translation>
+ </message>
+ <message>
+ <source>Cyrillic</source>
+ <translation>Cyrylica</translation>
+ </message>
+ <message>
+ <source>Armenian</source>
+ <translation>Ormiański</translation>
+ </message>
+ <message>
+ <source>Hebrew</source>
+ <translation>Hebrajski</translation>
+ </message>
+ <message>
+ <source>Arabic</source>
+ <translation>Arabski</translation>
+ </message>
+ <message>
+ <source>Syriac</source>
+ <translation>Syryjski</translation>
+ </message>
+ <message>
+ <source>Thaana</source>
+ <translation>Thaana</translation>
+ </message>
+ <message>
+ <source>Devanagari</source>
+ <translation>Devanagari</translation>
+ </message>
+ <message>
+ <source>Bengali</source>
+ <translation>Bengalski</translation>
+ </message>
+ <message>
+ <source>Gurmukhi</source>
+ <translation>Gurmukhi</translation>
+ </message>
+ <message>
+ <source>Gujarati</source>
+ <translation>GudĹĽaracki</translation>
+ </message>
+ <message>
+ <source>Oriya</source>
+ <translation>Orija</translation>
+ </message>
+ <message>
+ <source>Tamil</source>
+ <translation>Tamilski</translation>
+ </message>
+ <message>
+ <source>Telugu</source>
+ <translation>Telugu</translation>
+ </message>
+ <message>
+ <source>Kannada</source>
+ <translation>Kannada</translation>
+ </message>
+ <message>
+ <source>Malayalam</source>
+ <translation>Malajalam</translation>
+ </message>
+ <message>
+ <source>Sinhala</source>
+ <translation>Syngaleski</translation>
+ </message>
+ <message>
+ <source>Thai</source>
+ <translation>Tajski</translation>
+ </message>
+ <message>
+ <source>Lao</source>
+ <translation>Laotański</translation>
+ </message>
+ <message>
+ <source>Tibetan</source>
+ <translation>Tybetański</translation>
+ </message>
+ <message>
+ <source>Myanmar</source>
+ <translation>Birmański</translation>
+ </message>
+ <message>
+ <source>Georgian</source>
+ <translation>Gruziński</translation>
+ </message>
+ <message>
+ <source>Khmer</source>
+ <translation>Khmerski</translation>
+ </message>
+ <message>
+ <source>Simplified Chinese</source>
+ <translation>Uproszczony chiński</translation>
+ </message>
+ <message>
+ <source>Traditional Chinese</source>
+ <translation>Tradycyjny chiński</translation>
+ </message>
+ <message>
+ <source>Japanese</source>
+ <translation>Japoński</translation>
+ </message>
+ <message>
+ <source>Korean</source>
+ <translation>Koreański</translation>
+ </message>
+ <message>
+ <source>Vietnamese</source>
+ <translation>Wietnamski</translation>
+ </message>
+ <message>
+ <source>Symbol</source>
+ <translation>Symboliczny</translation>
+ </message>
+ <message>
+ <source>Ogham</source>
+ <translation>Ogamiczny</translation>
+ </message>
+ <message>
+ <source>Runic</source>
+ <translation>Runiczny</translation>
+ </message>
+ <message>
+ <source>N&apos;Ko</source>
+ <translation>N&apos;Ko</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDialog</name>
+ <message>
+ <source>&amp;Font</source>
+ <translation>&amp;Czcionka</translation>
+ </message>
+ <message>
+ <source>Font st&amp;yle</source>
+ <translation>St&amp;yl czcionki</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>&amp;Rozmiar</translation>
+ </message>
+ <message>
+ <source>Effects</source>
+ <translation>Efekty</translation>
+ </message>
+ <message>
+ <source>Stri&amp;keout</source>
+ <translation>Pr&amp;zekreślenie</translation>
+ </message>
+ <message>
+ <source>&amp;Underline</source>
+ <translation>&amp;Podkreślenie</translation>
+ </message>
+ <message>
+ <source>Sample</source>
+ <translation>Przykład</translation>
+ </message>
+ <message>
+ <source>Select Font</source>
+ <translation>Wybierz czcionkÄ™</translation>
+ </message>
+ <message>
+ <source>Wr&amp;iting System</source>
+ <translation>Sys&amp;tem pisania</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFtp</name>
+ <message>
+ <source>Host %1 found</source>
+ <translation>Host %1 znaleziony</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>Host znaleziony</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>Podłączony do hosta %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>Podłączony do hosta</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>Połączenie do %1 zakończone</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>Połączenie zamknięte</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>Host %1 nie znaleziony</translation>
+ </message>
+ <message>
+ <source>Connection refused to host %1</source>
+ <translation>Połączenie do hosta %1 odrzucone</translation>
+ </message>
+ <message>
+ <source>Connection timed out to host %1</source>
+ <translation>Przekroczony czas połączenia do hosta %1</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ <message>
+ <source>Connecting to host failed:
+%1</source>
+ <translation>Podłączanie do hosta zakończone błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Login failed:
+%1</source>
+ <translation>Logowanie nie powiodło się:
+%1</translation>
+ </message>
+ <message>
+ <source>Listing directory failed:
+%1</source>
+ <translation>Listowanie katalogu zakończone błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Changing directory failed:
+%1</source>
+ <translation>Zmiana katalogu zakończona błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Downloading file failed:
+%1</source>
+ <translation>Pobieranie pliku zakończone błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Uploading file failed:
+%1</source>
+ <translation>Wysyłanie pliku zakończone błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Removing file failed:
+%1</source>
+ <translation>Usuwanie pliku zakończone błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Creating directory failed:
+%1</source>
+ <translation>Tworzenie katalogu zakończone błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Removing directory failed:
+%1</source>
+ <translation>Usuwanie katalogu zakończone błędem:
+%1</translation>
+ </message>
+ <message>
+ <source>Not connected</source>
+ <translation>Nie podłączony</translation>
+ </message>
+ <message>
+ <source>Connection refused for data connection</source>
+ <translation>Połączenie do przesyłu danych odrzucone</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfo</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfoAgent</name>
+ <message>
+ <source>Host not found</source>
+ <translation>Host nie znaleziony</translation>
+ </message>
+ <message>
+ <source>Unknown address type</source>
+ <translation>Nieznany typ adresu</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>Nie podano nazwy hosta</translation>
+ </message>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Niepoprawna nazwa hosta</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttp</name>
+ <message>
+ <source>Connection refused</source>
+ <translation>Połączenie odrzucone</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>Host %1 nie znaleziony</translation>
+ </message>
+ <message>
+ <source>Wrong content length</source>
+ <translation>Błędna długość zawartości</translation>
+ </message>
+ <message>
+ <source>HTTP request failed</source>
+ <translation>Komenda HTTP zakończona błędem</translation>
+ </message>
+ <message>
+ <source>Host %1 found</source>
+ <translation>Host %1 znaleziony</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>Host znaleziony</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>Podłączony do hosta %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>Podłączony do hosta</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>Połączenie do %1 zamknięte</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>Połączenie zakończone</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ <message>
+ <source>Request aborted</source>
+ <translation>Komenda przerwana</translation>
+ </message>
+ <message>
+ <source>No server set to connect to</source>
+ <translation>Brak serwera do podłączenia</translation>
+ </message>
+ <message>
+ <source>Server closed connection unexpectedly</source>
+ <translation>Serwer niespodziewanie zakończył połączenie</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP response header</source>
+ <translation>Niepoprawny nagłówek odpowiedzi HTTP</translation>
+ </message>
+ <message>
+ <source>Unknown authentication method</source>
+ <translation>Nieznana metoda autoryzacji</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP chunked body</source>
+ <translation>Niepoprawne ciało HTTP</translation>
+ </message>
+ <message>
+ <source>Error writing response to device</source>
+ <translation>BĹ‚Ä…d zapisywania odpowiedzi do urzÄ…dzenia</translation>
+ </message>
+ <message>
+ <source>Proxy authentication required</source>
+ <translation>Wymagana autoryzacja pośrednika</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>Wymagana autoryzacja</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication</source>
+ <translation>Pośrednik wymaga autoryzacji</translation>
+ </message>
+ <message>
+ <source>Host requires authentication</source>
+ <translation>Host wymaga autoryzacji</translation>
+ </message>
+ <message>
+ <source>Data corrupted</source>
+ <translation>Dane uszkodzone</translation>
+ </message>
+ <message>
+ <source>SSL handshake failed</source>
+ <translation>Nawiązanie sesji SSL nie powiodło się</translation>
+ </message>
+ <message>
+ <source>Unknown protocol specified</source>
+ <translation>Podano nieznany protokół</translation>
+ </message>
+ <message>
+ <source>Connection refused (or timed out)</source>
+ <translation>Połączenie odrzucone (przekroczony czas połączenia)</translation>
+ </message>
+ <message>
+ <source>HTTPS connection requested but SSL support not compiled in</source>
+ <translation>Zażądano połączenia HTTPS lecz obsługa SSL nie jest wkompilowana</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttpSocketEngine</name>
+ <message>
+ <source>Did not receive HTTP response from proxy</source>
+ <translation>Nie odebrano odpowiedzi HTTP od pośrednika</translation>
+ </message>
+ <message>
+ <source>Error parsing authentication request from proxy</source>
+ <translation>Błąd parsowania żądania autoryzacji od pośrednika</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>Wymagana autoryzacja</translation>
+ </message>
+ <message>
+ <source>Proxy denied connection</source>
+ <translation>Pośrednik odmówił połączenia</translation>
+ </message>
+ <message>
+ <source>Error communicating with HTTP proxy</source>
+ <translation>Błąd podczas komunikacji z pośrednikiem HTTP</translation>
+ </message>
+ <message>
+ <source>Proxy server not found</source>
+ <translation>Nie znaleziono serwera pośredniczącego</translation>
+ </message>
+ <message>
+ <source>Proxy connection refused</source>
+ <translation>Odmowa połączenia z pośrednikiem</translation>
+ </message>
+ <message>
+ <source>Proxy server connection timed out</source>
+ <translation>Przekroczony czas połączenia do serwera pośredniczącego</translation>
+ </message>
+ <message>
+ <source>Proxy connection closed prematurely</source>
+ <translation>Przedwczesne zakończenie połączenia z pośrednikiem</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>BĹ‚Ä…d otwierania bazy danych</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można dokonać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseResult</name>
+ <message>
+ <source>Unable to create BLOB</source>
+ <translation>Nie można utworzyć obiektu typu BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to write BLOB</source>
+ <translation>Nie można zapisać obiektu typu BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to open BLOB</source>
+ <translation>Nie można otworzyć obiektu typu BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to read BLOB</source>
+ <translation>Nie można odczytać obiektu typu BLOB</translation>
+ </message>
+ <message>
+ <source>Could not find array</source>
+ <translation>Nie można odnaleźć tablicy</translation>
+ </message>
+ <message>
+ <source>Could not get array data</source>
+ <translation>Nie można pobrać danych z tablicy</translation>
+ </message>
+ <message>
+ <source>Could not get query info</source>
+ <translation>Nie można pobrać informacji o zapytaniu</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można dokonać transakcji</translation>
+ </message>
+ <message>
+ <source>Could not allocate statement</source>
+ <translation>Nie można zaallokować polecenia</translation>
+ </message>
+ <message>
+ <source>Could not prepare statement</source>
+ <translation>Nie można przygotować polecenia</translation>
+ </message>
+ <message>
+ <source>Could not describe input statement</source>
+ <translation>Nie można opisać polecenia wejściowego</translation>
+ </message>
+ <message>
+ <source>Could not describe statement</source>
+ <translation>Nie można opisać polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to close statement</source>
+ <translation>Nie można zamknąć polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>Nie można wykonać zapytania</translation>
+ </message>
+ <message>
+ <source>Could not fetch next item</source>
+ <translation>Nie można pobrać kolejnego elementu</translation>
+ </message>
+ <message>
+ <source>Could not get statement info</source>
+ <translation>Nie można pobrać informacji o poleceniu</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIODevice</name>
+ <message>
+ <source>Permission denied</source>
+ <translation>Brak dostępu</translation>
+ </message>
+ <message>
+ <source>Too many open files</source>
+ <translation>Zbyt wiele otwartych plikĂłw</translation>
+ </message>
+ <message>
+ <source>No such file or directory</source>
+ <translation>Brak pliku lub katalogu</translation>
+ </message>
+ <message>
+ <source>No space left on device</source>
+ <translation>Brak wolnego miejsca na urzÄ…dzeniu</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputContext</name>
+ <message>
+ <source>XIM</source>
+ <translation>XIM</translation>
+ </message>
+ <message>
+ <source>FEP</source>
+ <translation>FEP</translation>
+ </message>
+ <message>
+ <source>XIM input method</source>
+ <translation>Metoda wprowadzania XIM</translation>
+ </message>
+ <message>
+ <source>Windows input method</source>
+ <translation>Metoda wprowadzania Windows</translation>
+ </message>
+ <message>
+ <source>Mac OS X input method</source>
+ <translation>Metoda wprowadzania Mac OS X</translation>
+ </message>
+ <message>
+ <source>S60 FEP input method</source>
+ <translation>Metoda wprowadzania S60 FEP</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputDialog</name>
+ <message>
+ <source>Enter a value:</source>
+ <translation>Podaj wartość:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLibrary</name>
+ <message>
+ <source>Could not mmap &apos;%1&apos;: %2</source>
+ <translation>Nie można wykonać przypisania &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <source>Plugin verification data mismatch in &apos;%1&apos;</source>
+ <translation>BĹ‚Ä…d podczas weryfikacji danych we wtyczce &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Could not unmap &apos;%1&apos;: %2</source>
+ <translation>Nie można usunąć przypisania &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
+ <translation>Wtyczka &apos;%1&apos; uĹĽywa niepoprawnej wersji biblioteki QT. (%2.%3.%4) [%5]</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
+ <translation>Wtyczka &apos;%1&apos; uĹĽywa niepoprawnej wersji biblioteki QT. Oczekiwano klucza &quot;%2&quot;, uzyskano &quot;%3&quot;</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ <message>
+ <source>The shared library was not found.</source>
+ <translation>Biblioteka współdzielona niedostępna.</translation>
+ </message>
+ <message>
+ <source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
+ <translation>Plik &quot;%1&quot; nie jest poprawnÄ… wtyczkÄ… Qt.</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
+ <translation>Wtyczka &quot;%1&quot; używa innej wersji biblioteki Qt. (Nie można łączyć bibliotek zwykłych i debugowych.)</translation>
+ </message>
+ <message>
+ <source>Cannot load library %1: %2</source>
+ <translation>Nie można załadować biblioteki %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot unload library %1: %2</source>
+ <translation>Nie można zwolnić biblioteki %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
+ <translation>Nie można zidentyfikować symbolu &quot;%1&quot; w %2: %3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLineEdit</name>
+ <message>
+ <source>Select All</source>
+ <translation>Zaznacz wszystko</translation>
+ </message>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Cofnij</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;Przywróć</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>W&amp;ytnij</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>S&amp;kopiuj</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>&amp;Wklej</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Skasuj</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalServer</name>
+ <message>
+ <source>%1: Name error</source>
+ <translation>%1: BĹ‚Ä…d nazwy</translation>
+ </message>
+ <message>
+ <source>%1: Permission denied</source>
+ <translation>%1: Brak dostępu</translation>
+ </message>
+ <message>
+ <source>%1: Address in use</source>
+ <translation>%1: Adres uĹĽyty</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1: Nieznany błąd %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalSocket</name>
+ <message>
+ <source>%1: Connection refused</source>
+ <translation>%1: Odmowa połączenia</translation>
+ </message>
+ <message>
+ <source>%1: Remote closed</source>
+ <translation>%1: Drugi koniec odłączony</translation>
+ </message>
+ <message>
+ <source>%1: Invalid name</source>
+ <translation>%1: Niepoprawna nazwa</translation>
+ </message>
+ <message>
+ <source>%1: Socket access error</source>
+ <translation>%1: Błąd dostępu do gniazda</translation>
+ </message>
+ <message>
+ <source>%1: Socket resource error</source>
+ <translation>%1: BĹ‚Ä…d zasobĂłw gniazda</translation>
+ </message>
+ <message>
+ <source>%1: Socket operation timed out</source>
+ <translation>%1: Przekroczony czas operacji gniazda</translation>
+ </message>
+ <message>
+ <source>%1: Datagram too large</source>
+ <translation>%1: Za duĹĽy datagram</translation>
+ </message>
+ <message>
+ <source>%1: Connection error</source>
+ <translation>%1: Błąd połączenia</translation>
+ </message>
+ <message>
+ <source>%1: The socket operation is not supported</source>
+ <translation>%1: Operacja nie jest obsługiwana przez gniazdo</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error</source>
+ <translation>%1: Nieznany błąd</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1: Nieznany błąd %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLDriver</name>
+ <message>
+ <source>Unable to open database &apos;</source>
+ <translation>Nie można otworzyć bazy danych &apos;</translation>
+ </message>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Nie można nawiązać połączenia</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można potwierdzić transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLResult</name>
+ <message>
+ <source>Unable to fetch data</source>
+ <translation>Nie można pobrać danych</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>Nie można wykonać zapytania</translation>
+ </message>
+ <message>
+ <source>Unable to store result</source>
+ <translation>Nie można zachować wyników</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Nie można przygotować polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Nie można skasować polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>Nie można powiązać wartości</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Nie można wykonać polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to bind outvalues</source>
+ <translation>Nie można powiązać wartości zewnętrznych</translation>
+ </message>
+ <message>
+ <source>Unable to store statement results</source>
+ <translation>Nie można zachować wyników polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to execute next query</source>
+ <translation>Nie można wykonać następnego zapytania</translation>
+ </message>
+ <message>
+ <source>Unable to store next result</source>
+ <translation>Nie można zachować następnego wyniku</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiArea</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>(Nienazwany)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiSubWindow</name>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>Zminimalizuj</translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation>Przywróć pod spód</translation>
+ </message>
+ <message>
+ <source>&amp;Restore</source>
+ <translation>&amp;Przywróć</translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation>Prze&amp;nieĹ›</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>&amp;Rozmiar</translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation>Zmi&amp;nimalizuj</translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation>Zma&amp;ksymalizuj</translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation>Pozostaw na &amp;wierzchu</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>&amp;Zamknij</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>Zmaksymalizuj</translation>
+ </message>
+ <message>
+ <source>Unshade</source>
+ <translation>Rozwiń</translation>
+ </message>
+ <message>
+ <source>Shade</source>
+ <translation>Zwiń</translation>
+ </message>
+ <message>
+ <source>Restore</source>
+ <translation>Przywróć</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Pomoc</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>Menu</translation>
+ </message>
+ <message>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenu</name>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>OtwĂłrz</translation>
+ </message>
+ <message>
+ <source>Execute</source>
+ <translation>Wykonaj</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenuBar</name>
+ <message>
+ <source>Actions</source>
+ <translation>Akcje</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMessageBox</name>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;Informacje o Qt&lt;/h3&gt;&lt;p&gt; Ten program uĹĽywa Qt w wersji %1.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Qt jest zestawem narzędzi programistycznych dedykowanym dla języka C++. Służy on do opracowywania aplikacji międzyplatformowych.&lt;/p&gt;&lt;p&gt;Qt umożliwia jednoźródłowe przenoszenie między systemami MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux i wszystkimi głównymi wersjami komercyjnymi systemu Unix. Środowisko Qt jest dostępne dla urządzeń wbudowanych opartych na systemie Linux ( Qt dla wbudowanego systemu Linux) oraz Windows CE.&lt;/p&gt;&lt;p&gt;Zestaw Qt jest dostępny w trzech różnych opcjach licencjonowania stworzonych w celu zadowolenia naszych różnych użytkowników.&lt;/p&gt;&lt;p&gt;Qt podlegający licencji zgodnie z naszą komercyjną umową licencyjną jest odpowiedni do opracowywania oprogramowań własnościowych/komercyjnych, dzięki czemu kod źródłowy nie jest udostępniany osobom trzecim. W przeciwnym razie zestaw Qt jest niezgodny z warunkami licencji GNU LGPL w wersji 2.1 lub GNU GPL w wersji 3.0.&lt;/p&gt;&lt;p&gt;Środowisko Qt objęte licencją GNU LGPL w wersji 2.1 nadaje się do tworzenia aplikacji Qt (własnościowych lub oprogramowań otwartych) tylko wtedy, gdy przestrzegane są warunki licencji GNU LGPL w wersji 2.1.&lt;/p&gt;&lt;p&gt;Qt objęty Powszechną Licencją Publiczną GNU w wersji 3.0 jest odpowiedni do opracowywania aplikacji QT, aby móc korzystać z aplikacji w połączeniu z oprogramowaniem podlegającym warunkom licencji GNU GPL w wersji 3.0 lub aby przestrzegać warunków licencji GNU GPL w wersji 3.0.&lt;/p&gt;&lt;p&gt;Więcej informacji na temat licencji Qt można znaleźć na stronie &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation i/lub oddziały firmy.&lt;/p&gt;&lt;p&gt;Qt jest produktem firmy Nokia. Dodatkowe informacje znajdują się na stronie &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; &lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation>Informacje o Qt</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Pomoc</translation>
+ </message>
+ <message>
+ <source>Show Details...</source>
+ <translation>Pokaż szczegóły...</translation>
+ </message>
+ <message>
+ <source>Hide Details...</source>
+ <translation>Ukryj szczegóły...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContext</name>
+ <message>
+ <source>Select IM</source>
+ <translation>Wybierz metodÄ™ wprowadzania</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContextPlugin</name>
+ <message>
+ <source>Multiple input method switcher</source>
+ <translation>Przełącznik metody wprowadzania</translation>
+ </message>
+ <message>
+ <source>Multiple input method switcher that uses the context menu of the text widgets</source>
+ <translation>Przełącznik metody wprowadzania, który w widżetach tekstowych używa podręcznego menu</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNativeSocketEngine</name>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>Zdalny host zakończył połączenie</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>Przekroczony czas operacji sieciowej</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>Zasoby wyczerpane</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>Nieobsługiwana operacja gniazda</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>Nieobsługiwany typ protokołu</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>Niepoprawny opis gniazda</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>Sieć niedostępna</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Brak dostępu</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Przekroczony czas połączenia</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>Połączenie odrzucone</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>Adres jest aktualnie w uĹĽyciu</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>Adres nie jest dostępny</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>Adres jest zabezpieczony</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>Nie można wysłać wiadomości</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>Nie można odebrać wiadomości</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>Nie można zapisać</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>BĹ‚Ä…d sieci</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>Inne gniazdo nasłuchuje już na tym porcie</translation>
+ </message>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>Nie można uruchomić gniazda w nieblokującym trybie</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>Nie można uruchomić gniazda rozsyłającego</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>Próba użycia IPv6 na platformie bez obsługi IPv6</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>Komputer niedostępny</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>Datagram za długi do wysłania</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>Nieprawidłowa operacja na gnieździe</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>Typ pośrednika nie jest poprawny dla tej operacji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessCacheBackend</name>
+ <message>
+ <source>Error opening %1</source>
+ <translation>BĹ‚Ä…d otwierania %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessDebugPipeBackend</name>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>BĹ‚Ä…d w trakcie zapisywania do %1: %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFileBackend</name>
+ <message>
+ <source>Request for opening non-local file %1</source>
+ <translation>Żądanie otwarcia zdalnego pliku %1</translation>
+ </message>
+ <message>
+ <source>Error opening %1: %2</source>
+ <translation>BĹ‚Ä…d otwierania %1: %2</translation>
+ </message>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>BĹ‚Ä…d w trakcie zapisywania do %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: Path is a directory</source>
+ <translation>Nie można otworzyć %1: Ścieżka jest katalogiem</translation>
+ </message>
+ <message>
+ <source>Read error reading from %1: %2</source>
+ <translation>BĹ‚Ä…d w trakcie czytania z %1: %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFtpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>Nie odnaleziono odpowiedniego pośrednika</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: is a directory</source>
+ <translation>Nie można otworzyć %1: jest to katalog</translation>
+ </message>
+ <message>
+ <source>Logging in to %1 failed: authentication required</source>
+ <translation>BĹ‚Ä…d podczas logowania do %1: wymagana autoryzacja</translation>
+ </message>
+ <message>
+ <source>Error while downloading %1: %2</source>
+ <translation>BĹ‚Ä…d podczas pobierania %1: %2</translation>
+ </message>
+ <message>
+ <source>Error while uploading %1: %2</source>
+ <translation>Błąd podczas wysyłania %1: %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessHttpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>Nie odnaleziono odpowiedniego pośrednika</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReply</name>
+ <message>
+ <source>Error downloading %1 - server replied: %2</source>
+ <translation>BĹ‚Ä…d podczas pobierania %1 - odpowiedĹş serwera: %2</translation>
+ </message>
+ <message>
+ <source>Protocol &quot;%1&quot; is unknown</source>
+ <translation>Protokół &quot;%1&quot; nie jest znany</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReplyImpl</name>
+ <message>
+ <source>Operation canceled</source>
+ <translation>Operacja anulowana</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIDriver</name>
+ <message>
+ <source>Unable to logon</source>
+ <translation>Nie można się zalogować</translation>
+ </message>
+ <message>
+ <source>Unable to initialize</source>
+ <comment>QOCIDriver</comment>
+ <translation>Nie można dokonać inicjalizacji</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można dokonać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIResult</name>
+ <message>
+ <source>Unable to bind column for batch execute</source>
+ <translation>Nie można powiązać kolumny dla wykonania zestawu poleceń</translation>
+ </message>
+ <message>
+ <source>Unable to execute batch statement</source>
+ <translation>Nie można wykonać polecenia wsadowego</translation>
+ </message>
+ <message>
+ <source>Unable to goto next</source>
+ <translation>Nie można przejść do kolejnego wiersza danych</translation>
+ </message>
+ <message>
+ <source>Unable to alloc statement</source>
+ <translation>Nie można przydzielić miejsca na polecenie</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Nie można przygotować polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to get statement type</source>
+ <translation>Nie można pobrać typu polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>Nie można powiązać wartości</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Nie można wykonać polecenia</translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Nie można nawiązać połączenia</translation>
+ </message>
+ <message>
+ <source>Unable to disable autocommit</source>
+ <translation>Nie można wyłączyć trybu automatycznego dokonywania transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można potwierdzić transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to enable autocommit</source>
+ <translation>Nie można włączyć trybu automatycznego dokonywania transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
+ <translation>Nie można nawiązać połączenia - sterownik nie obsługuje całej potrzebnej funkcjonalności</translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCResult</name>
+ <message>
+ <source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
+ <translation>QODBCResult::reset: Nie można ustawić &apos;SQL_CURSOR_STATIC&apos; jako atrybutu polecenia. Proszę sprawdzić konfiguracje sterownika ODBC</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Nie można wykonać polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>Nie można pobrać kolejnych danych</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Nie można przygotować polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>Nie można powiązać zmiennej</translation>
+ </message>
+ <message>
+ <source>Unable to fetch last</source>
+ <translation>Nie można pobrać ostatnich danych</translation>
+ </message>
+ <message>
+ <source>Unable to fetch</source>
+ <translation>Nie można pobrać</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>Nie można pobrać pierwszych danych</translation>
+ </message>
+ <message>
+ <source>Unable to fetch previous</source>
+ <translation>Nie można pobrać poprzednich danych</translation>
+ </message>
+ </context>
+ <context>
+ <name>QObject</name>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Niepoprawna nazwa hosta</translation>
+ </message>
+ <message>
+ <source>Operation not supported on %1</source>
+ <translation>Operacja nieobsługiwana na %1</translation>
+ </message>
+ <message>
+ <source>Invalid URI: %1</source>
+ <translation>Niepoprawny URI: %1</translation>
+ </message>
+ <message>
+ <source>Socket error on %1: %2</source>
+ <translation>BĹ‚Ä…d gniazda na %1: %2</translation>
+ </message>
+ <message>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>Zdalny host przedwcześnie zakończył połączenie na %1</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>Nie podano nazwy hosta</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPPDOptionsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nazwa</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Wartość</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Nie można nawiązać połączenia</translation>
+ </message>
+ <message>
+ <source>Could not begin transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Could not commit transaction</source>
+ <translation>Nie można potwierdzić transakcji</translation>
+ </message>
+ <message>
+ <source>Could not rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to subscribe</source>
+ <translation>Nie można wykonać subskrypcji</translation>
+ </message>
+ <message>
+ <source>Unable to unsubscribe</source>
+ <translation>Nie można zrezygnować z subskrypcji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLResult</name>
+ <message>
+ <source>Unable to create query</source>
+ <translation>Nie można utworzyć zapytania</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Nie można przygotować polecenia</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPageSetupWidget</name>
+ <message>
+ <source>Centimeters (cm)</source>
+ <translation>Centymetry (cm)</translation>
+ </message>
+ <message>
+ <source>Millimeters (mm)</source>
+ <translation>Milimetry (mm)</translation>
+ </message>
+ <message>
+ <source>Inches (in)</source>
+ <translation>Cale (in)</translation>
+ </message>
+ <message>
+ <source>Points (pt)</source>
+ <translation>Punkty (pt)</translation>
+ </message>
+ <message>
+ <source>Form</source>
+ <translation>Formularz</translation>
+ </message>
+ <message>
+ <source>Paper</source>
+ <translation>Papier</translation>
+ </message>
+ <message>
+ <source>Page size:</source>
+ <translation>Rozmiar strony:</translation>
+ </message>
+ <message>
+ <source>Width:</source>
+ <translation>Szerokość:</translation>
+ </message>
+ <message>
+ <source>Height:</source>
+ <translation>Wysokość:</translation>
+ </message>
+ <message>
+ <source>Paper source:</source>
+ <translation>Źródło papieru:</translation>
+ </message>
+ <message>
+ <source>Orientation</source>
+ <translation>Położenie</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>Portret</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>PejzaĹĽ</translation>
+ </message>
+ <message>
+ <source>Reverse landscape</source>
+ <translation>OdwrĂłcony pejzaĹĽ</translation>
+ </message>
+ <message>
+ <source>Reverse portrait</source>
+ <translation>OdwrĂłcony portret</translation>
+ </message>
+ <message>
+ <source>Margins</source>
+ <translation>Marginesy</translation>
+ </message>
+ <message>
+ <source>top margin</source>
+ <translation>GĂłrny margines</translation>
+ </message>
+ <message>
+ <source>left margin</source>
+ <translation>Lewy margines</translation>
+ </message>
+ <message>
+ <source>right margin</source>
+ <translation>Prawy margines</translation>
+ </message>
+ <message>
+ <source>bottom margin</source>
+ <translation>Dolny margines</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPluginLoader</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>Nieznany błąd</translation>
+ </message>
+ <message>
+ <source>The plugin was not loaded.</source>
+ <translation>Wtyczka nie została załadowana.</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintDialog</name>
+ <message>
+ <source>locally connected</source>
+ <translation>podłączony lokalnie</translation>
+ </message>
+ <message>
+ <source>Aliases: %1</source>
+ <translation>Aliasy: %1</translation>
+ </message>
+ <message>
+ <source>unknown</source>
+ <translation>nieznany</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>Drukuj wszystko</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>Drukuj zakres</translation>
+ </message>
+ <message>
+ <source>A0 (841 x 1189 mm)</source>
+ <translation>A0 (841 x 1189 mm)</translation>
+ </message>
+ <message>
+ <source>A1 (594 x 841 mm)</source>
+ <translation>A1 (594 x 841 mm)</translation>
+ </message>
+ <message>
+ <source>A2 (420 x 594 mm)</source>
+ <translation>A2 (420 x 594 mm)</translation>
+ </message>
+ <message>
+ <source>A3 (297 x 420 mm)</source>
+ <translation>A3 (297 x 420 mm)</translation>
+ </message>
+ <message>
+ <source>A5 (148 x 210 mm)</source>
+ <translation>A5 (148 x 210 mm)</translation>
+ </message>
+ <message>
+ <source>A6 (105 x 148 mm)</source>
+ <translation>A6 (105 x 148 mm)</translation>
+ </message>
+ <message>
+ <source>A7 (74 x 105 mm)</source>
+ <translation>A7 (74 x 105 mm)</translation>
+ </message>
+ <message>
+ <source>A8 (52 x 74 mm)</source>
+ <translation>A8 (52 x 74 mm)</translation>
+ </message>
+ <message>
+ <source>A9 (37 x 52 mm)</source>
+ <translation>A9 (37 x 52 mm)</translation>
+ </message>
+ <message>
+ <source>B0 (1000 x 1414 mm)</source>
+ <translation>B0 (1000 x 1414 mm)</translation>
+ </message>
+ <message>
+ <source>B1 (707 x 1000 mm)</source>
+ <translation>B1 (707 x 1000 mm)</translation>
+ </message>
+ <message>
+ <source>B2 (500 x 707 mm)</source>
+ <translation>B2 (500 x 707 mm)</translation>
+ </message>
+ <message>
+ <source>B3 (353 x 500 mm)</source>
+ <translation>B3 (353 x 500 mm)</translation>
+ </message>
+ <message>
+ <source>B4 (250 x 353 mm)</source>
+ <translation>B4 (250 x 353 mm)</translation>
+ </message>
+ <message>
+ <source>B6 (125 x 176 mm)</source>
+ <translation>B6 (125 x 176 mm)</translation>
+ </message>
+ <message>
+ <source>B7 (88 x 125 mm)</source>
+ <translation>B7 (88 x 125 mm)</translation>
+ </message>
+ <message>
+ <source>B8 (62 x 88 mm)</source>
+ <translation>B8 (62 x 88 mm)</translation>
+ </message>
+ <message>
+ <source>B9 (44 x 62 mm)</source>
+ <translation>B9 (44 x 62 mm)</translation>
+ </message>
+ <message>
+ <source>B10 (31 x 44 mm)</source>
+ <translation>B10 (31 x 44 mm)</translation>
+ </message>
+ <message>
+ <source>C5E (163 x 229 mm)</source>
+ <translation>C5E (163 x 229 mm)</translation>
+ </message>
+ <message>
+ <source>DLE (110 x 220 mm)</source>
+ <translation>DLE (110 x 220 mm)</translation>
+ </message>
+ <message>
+ <source>Folio (210 x 330 mm)</source>
+ <translation>Folio (210 x 330 mm)</translation>
+ </message>
+ <message>
+ <source>Ledger (432 x 279 mm)</source>
+ <translation>Ledger (432 x 279 mm)</translation>
+ </message>
+ <message>
+ <source>Tabloid (279 x 432 mm)</source>
+ <translation>Tabloid (279 x 432 mm)</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope (105 x 241 mm)</source>
+ <translation>US Common #10 Envelope (105 x 241 mm)</translation>
+ </message>
+ <message>
+ <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+ <translation>A4 (210 x 297 mm, 8.26 x 11.7 cali)</translation>
+ </message>
+ <message>
+ <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+ <translation>B5 (176 x 250 mm, 6.93 x 9.84 cali)</translation>
+ </message>
+ <message>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (7.5 x 10 cali, 191 x 254 mm)</translation>
+ </message>
+ <message>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (8.5 x 14 cali, 216 x 356 mm)</translation>
+ </message>
+ <message>
+ <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+ <translation>Letter (8.5 x 11 cali, 216 x 279 mm)</translation>
+ </message>
+ <message>
+ <source>Print selection</source>
+ <translation>Drukuj zaznaczone</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Drukowanie</translation>
+ </message>
+ <message>
+ <source>Print To File ...</source>
+ <translation>Drukuj do pliku ...</translation>
+ </message>
+ <message>
+ <source>File %1 is not writable.
+Please choose a different file name.</source>
+ <translation>Plik %1 jest plikiem tylko do odczytu.
+Proszę wybrać inną nazwę pliku.</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to overwrite it?</source>
+ <translation>%1 juĹĽ istnieje.
+Czy chcesz nadpisać?</translation>
+ </message>
+ <message>
+ <source>File exists</source>
+ <translation>Plik istnieje</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;Czy chcesz nadpisać?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>%1 is a directory.
+Please choose a different file name.</source>
+ <translation>%1 jest katalogiem.
+Proszę wybrać inną nazwę pliku.</translation>
+ </message>
+ <message>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>Wartość &quot;od&quot; nie może być większa od wartości &quot;do&quot;.</translation>
+ </message>
+ <message>
+ <source>A0</source>
+ <translation>A0</translation>
+ </message>
+ <message>
+ <source>A1</source>
+ <translation>A1</translation>
+ </message>
+ <message>
+ <source>A2</source>
+ <translation>A2</translation>
+ </message>
+ <message>
+ <source>A3</source>
+ <translation>A3</translation>
+ </message>
+ <message>
+ <source>A4</source>
+ <translation>A4</translation>
+ </message>
+ <message>
+ <source>A5</source>
+ <translation>A5</translation>
+ </message>
+ <message>
+ <source>A6</source>
+ <translation>A6</translation>
+ </message>
+ <message>
+ <source>A7</source>
+ <translation>A7</translation>
+ </message>
+ <message>
+ <source>A8</source>
+ <translation>A8</translation>
+ </message>
+ <message>
+ <source>A9</source>
+ <translation>A9</translation>
+ </message>
+ <message>
+ <source>B0</source>
+ <translation>B0</translation>
+ </message>
+ <message>
+ <source>B1</source>
+ <translation>B1</translation>
+ </message>
+ <message>
+ <source>B2</source>
+ <translation>B2</translation>
+ </message>
+ <message>
+ <source>B3</source>
+ <translation>B3</translation>
+ </message>
+ <message>
+ <source>B4</source>
+ <translation>B4</translation>
+ </message>
+ <message>
+ <source>B5</source>
+ <translation>B5</translation>
+ </message>
+ <message>
+ <source>B6</source>
+ <translation>B6</translation>
+ </message>
+ <message>
+ <source>B7</source>
+ <translation>B7</translation>
+ </message>
+ <message>
+ <source>B8</source>
+ <translation>B8</translation>
+ </message>
+ <message>
+ <source>B9</source>
+ <translation>B9</translation>
+ </message>
+ <message>
+ <source>B10</source>
+ <translation>B10</translation>
+ </message>
+ <message>
+ <source>C5E</source>
+ <translation>C5E</translation>
+ </message>
+ <message>
+ <source>DLE</source>
+ <translation>DLE</translation>
+ </message>
+ <message>
+ <source>Executive</source>
+ <translation>Executive</translation>
+ </message>
+ <message>
+ <source>Folio</source>
+ <translation>Folio</translation>
+ </message>
+ <message>
+ <source>Ledger</source>
+ <translation>Ledger</translation>
+ </message>
+ <message>
+ <source>Legal</source>
+ <translation>Legal</translation>
+ </message>
+ <message>
+ <source>Letter</source>
+ <translation>Letter</translation>
+ </message>
+ <message>
+ <source>Tabloid</source>
+ <translation>Tabloid</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope</source>
+ <translation>US Common #10 Envelope</translation>
+ </message>
+ <message>
+ <source>Custom</source>
+ <translation>Niestandardowy</translation>
+ </message>
+ <message>
+ <source>&amp;Options &gt;&gt;</source>
+ <translation>&amp;Opcje &gt;&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Options &lt;&lt;</source>
+ <translation>&amp;Opcje &lt;&lt;</translation>
+ </message>
+ <message>
+ <source>Print to File (PDF)</source>
+ <translation>Drukuj do pliku (PDF)</translation>
+ </message>
+ <message>
+ <source>Print to File (Postscript)</source>
+ <translation>Drukuj do pliku (Postscript)</translation>
+ </message>
+ <message>
+ <source>Local file</source>
+ <translation>Plik lokalny</translation>
+ </message>
+ <message>
+ <source>Write %1 file</source>
+ <translation>Zapisz %1 plik</translation>
+ </message>
+ <message>
+ <source>&amp;Print</source>
+ <translation>Wy&amp;drukuj</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPreviewDialog</name>
+ <message>
+ <source>%1%</source>
+ <translation>%1%</translation>
+ </message>
+ <message>
+ <source>Print Preview</source>
+ <translation>PodglÄ…d wydruku</translation>
+ </message>
+ <message>
+ <source>Next page</source>
+ <translation>Następna strona</translation>
+ </message>
+ <message>
+ <source>Previous page</source>
+ <translation>Poprzednia strona</translation>
+ </message>
+ <message>
+ <source>First page</source>
+ <translation>Pierwsza strona</translation>
+ </message>
+ <message>
+ <source>Last page</source>
+ <translation>Ostatnia strona</translation>
+ </message>
+ <message>
+ <source>Fit width</source>
+ <translation>Dopasuj szerokość</translation>
+ </message>
+ <message>
+ <source>Fit page</source>
+ <translation>Dopasuj stronÄ™</translation>
+ </message>
+ <message>
+ <source>Zoom in</source>
+ <translation>Powiększ</translation>
+ </message>
+ <message>
+ <source>Zoom out</source>
+ <translation>Pomniejsz</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>Portret</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>PejzaĹĽ</translation>
+ </message>
+ <message>
+ <source>Show single page</source>
+ <translation>PokaĹĽ pojedynczÄ… stronÄ™</translation>
+ </message>
+ <message>
+ <source>Show facing pages</source>
+ <translation>PokaĹĽ sÄ…siednie strony</translation>
+ </message>
+ <message>
+ <source>Show overview of all pages</source>
+ <translation>PokaĹĽ wszystkie strony</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Wydrukuj</translation>
+ </message>
+ <message>
+ <source>Page setup</source>
+ <translation>Ustawienia strony</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Export to PDF</source>
+ <translation>Wyeksportuj do PDF</translation>
+ </message>
+ <message>
+ <source>Export to PostScript</source>
+ <translation>Wyeksportuj do PostScript</translation>
+ </message>
+ <message>
+ <source>Page Setup</source>
+ <translation>Ustawienia strony</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPropertiesWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Forma</translation>
+ </message>
+ <message>
+ <source>Page</source>
+ <translation>Strona</translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Zaawansowane</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintSettingsOutput</name>
+ <message>
+ <source>Form</source>
+ <translation>Forma</translation>
+ </message>
+ <message>
+ <source>Copies</source>
+ <translation>Liczba kopii</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>Zakres wydruku</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>Drukuj wszystko</translation>
+ </message>
+ <message>
+ <source>Pages from</source>
+ <translation>Strony od</translation>
+ </message>
+ <message>
+ <source>to</source>
+ <translation>do</translation>
+ </message>
+ <message>
+ <source>Selection</source>
+ <translation>Wybrane strony</translation>
+ </message>
+ <message>
+ <source>Output Settings</source>
+ <translation>Ustawienia wyjściowe</translation>
+ </message>
+ <message>
+ <source>Copies:</source>
+ <translation>Kopie:</translation>
+ </message>
+ <message>
+ <source>Collate</source>
+ <translation>Parami</translation>
+ </message>
+ <message>
+ <source>Reverse</source>
+ <translation>Odwróć</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>Opcje</translation>
+ </message>
+ <message>
+ <source>Color Mode</source>
+ <translation>Tryb koloru</translation>
+ </message>
+ <message>
+ <source>Color</source>
+ <translation>Kolor</translation>
+ </message>
+ <message>
+ <source>Grayscale</source>
+ <translation>Skala szarości</translation>
+ </message>
+ <message>
+ <source>Duplex Printing</source>
+ <translation>Drukowanie dupleksowe</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation>Brak</translation>
+ </message>
+ <message>
+ <source>Long side</source>
+ <translation>DĹ‚uga strona</translation>
+ </message>
+ <message>
+ <source>Short side</source>
+ <translation>KrĂłtka strona</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Forma</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation>Drukarka</translation>
+ </message>
+ <message>
+ <source>&amp;Name:</source>
+ <translation>&amp;Nazwa:</translation>
+ </message>
+ <message>
+ <source>P&amp;roperties</source>
+ <translation>&amp;Właściwości</translation>
+ </message>
+ <message>
+ <source>Location:</source>
+ <translation>Położenie:</translation>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation>PodglÄ…d</translation>
+ </message>
+ <message>
+ <source>Type:</source>
+ <translation>Typ:</translation>
+ </message>
+ <message>
+ <source>Output &amp;file:</source>
+ <translation>&amp;Plik wyjściowy:</translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProcess</name>
+ <message>
+ <source>Could not open input redirection for reading</source>
+ <translation>Nie można otworzyć wejściowego przekierowania do odczytu</translation>
+ </message>
+ <message>
+ <source>Could not open output redirection for writing</source>
+ <translation>Nie można otworzyć wyjściowego przekierowania do zapisu</translation>
+ </message>
+ <message>
+ <source>Resource error (fork failure): %1</source>
+ <translation>Błąd zasobów (błąd forkowania): %1</translation>
+ </message>
+ <message>
+ <source>Process operation timed out</source>
+ <translation>Przekroczony czas operacji procesu</translation>
+ </message>
+ <message>
+ <source>Error reading from process</source>
+ <translation>BĹ‚Ä…d odczytywania z procesu</translation>
+ </message>
+ <message>
+ <source>Error writing to process</source>
+ <translation>BĹ‚Ä…d zapisywania do procesu</translation>
+ </message>
+ <message>
+ <source>Process crashed</source>
+ <translation>Wystąpił błąd w procesie - proces zakończony</translation>
+ </message>
+ <message>
+ <source>No program defined</source>
+ <translation>Nie zdefiniowano programu</translation>
+ </message>
+ <message>
+ <source>Process failed to start: %1</source>
+ <translation>Nie można rozpocząć procesu: %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPushButton</name>
+ <message>
+ <source>Open</source>
+ <translation>OtwĂłrz</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRadioButton</name>
+ <message>
+ <source>Check</source>
+ <translation>Zaznacz</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRegExp</name>
+ <message>
+ <source>no error occurred</source>
+ <translation>nie pojawił się żaden błąd</translation>
+ </message>
+ <message>
+ <source>disabled feature used</source>
+ <translation>użyta funkcja została wyłączona</translation>
+ </message>
+ <message>
+ <source>bad char class syntax</source>
+ <translation>niepoprawna składnia klasy znakowej</translation>
+ </message>
+ <message>
+ <source>bad lookahead syntax</source>
+ <translation>niepoprawna składnia &quot;lookahead&quot;</translation>
+ </message>
+ <message>
+ <source>bad repetition syntax</source>
+ <translation>niepoprawna składnia powtórzenia</translation>
+ </message>
+ <message>
+ <source>invalid octal value</source>
+ <translation>niepoprawna wartość ósemkowa</translation>
+ </message>
+ <message>
+ <source>missing left delim</source>
+ <translation>brakujÄ…cy lewy separator</translation>
+ </message>
+ <message>
+ <source>unexpected end</source>
+ <translation>nieoczekiwany koniec</translation>
+ </message>
+ <message>
+ <source>met internal limit</source>
+ <translation>napotkano wewnętrzne ograniczenie</translation>
+ </message>
+ <message>
+ <source>invalid interval</source>
+ <translation>Niepoprawny interwał</translation>
+ </message>
+ <message>
+ <source>invalid category</source>
+ <translation>Niepoprawna kategoria</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Driver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>BĹ‚Ä…d otwierania bazy danych</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można dokonać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Result</name>
+ <message>
+ <source>Unable to fetch results</source>
+ <translation>Nie można pobrać wyników</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Nie można wykonać polecenia</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>BĹ‚Ä…d otwierania bazy danych</translation>
+ </message>
+ <message>
+ <source>Error closing database</source>
+ <translation>BĹ‚Ä…d zamykania bazy danych</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Nie można rozpocząć transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Nie można dokonać transakcji</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Nie można wycofać transakcji</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteResult</name>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>Nie można pobrać wiersza danych</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Nie można wykonać polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Nie można skasować polecenia</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>Nie można powiązać parametrów</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>Niezgodna liczba parametrĂłw</translation>
+ </message>
+ <message>
+ <source>No query</source>
+ <translation>Brak zapytania</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsModel</name>
+ <message>
+ <source>ID</source>
+ <translation>Identyfikator</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Położenie</translation>
+ </message>
+ <message>
+ <source>Condition</source>
+ <translation>Warunek</translation>
+ </message>
+ <message>
+ <source>Ignore-count</source>
+ <translation>Licznik pominięć</translation>
+ </message>
+ <message>
+ <source>Single-shot</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Hit-count</source>
+ <translation>Licznik trafień</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsWidget</name>
+ <message>
+ <source>New</source>
+ <translation>Nowy</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Skasuj</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebugger</name>
+ <message>
+ <source>Go to Line</source>
+ <translation>PrzejdĹş do linii</translation>
+ </message>
+ <message>
+ <source>Line:</source>
+ <translation>Linia:</translation>
+ </message>
+ <message>
+ <source>Interrupt</source>
+ <translation>Przerwij</translation>
+ </message>
+ <message>
+ <source>Shift+F5</source>
+ <translation>Shift+F5</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>Kontynuuj</translation>
+ </message>
+ <message>
+ <source>F5</source>
+ <translation>F5</translation>
+ </message>
+ <message>
+ <source>Step Into</source>
+ <translation>Wskocz do wnętrza</translation>
+ </message>
+ <message>
+ <source>F11</source>
+ <translation>F11</translation>
+ </message>
+ <message>
+ <source>Step Over</source>
+ <translation>Przeskocz</translation>
+ </message>
+ <message>
+ <source>F10</source>
+ <translation>F10</translation>
+ </message>
+ <message>
+ <source>Step Out</source>
+ <translation>Wyskocz na zewnÄ…trz</translation>
+ </message>
+ <message>
+ <source>Shift+F11</source>
+ <translation>Shift+F11</translation>
+ </message>
+ <message>
+ <source>Run to Cursor</source>
+ <translation>Uruchom do kursora</translation>
+ </message>
+ <message>
+ <source>Ctrl+F10</source>
+ <translation>Ctrl+F10</translation>
+ </message>
+ <message>
+ <source>Run to New Script</source>
+ <translation>Uruchom do nowego skryptu</translation>
+ </message>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>Przełącz ustawienie pułapki</translation>
+ </message>
+ <message>
+ <source>F9</source>
+ <translation>F9</translation>
+ </message>
+ <message>
+ <source>Clear Debug Output</source>
+ <translation>Wyczyść wyjście debuggera</translation>
+ </message>
+ <message>
+ <source>Clear Error Log</source>
+ <translation>Wyczyść log z błędami</translation>
+ </message>
+ <message>
+ <source>Clear Console</source>
+ <translation>Wyczyść konsolę</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Script...</source>
+ <translation>&amp;ZnajdĹş w skrypcie...</translation>
+ </message>
+ <message>
+ <source>Ctrl+F</source>
+ <translation>Ctrl+F</translation>
+ </message>
+ <message>
+ <source>Find &amp;Next</source>
+ <translation>Znajdź &amp;następne</translation>
+ </message>
+ <message>
+ <source>F3</source>
+ <translation>F3</translation>
+ </message>
+ <message>
+ <source>Find &amp;Previous</source>
+ <translation>ZnajdĹş &amp;poprzednie</translation>
+ </message>
+ <message>
+ <source>Shift+F3</source>
+ <translation>Shift+F3</translation>
+ </message>
+ <message>
+ <source>Ctrl+G</source>
+ <translation>Ctrl+G</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <translation>Debuguj</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerCodeFinderWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation>Poprzednie</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation>Następne</translation>
+ </message>
+ <message>
+ <source>Case Sensitive</source>
+ <translation>Uwzględniaj wielkość liter</translation>
+ </message>
+ <message>
+ <source>Whole words</source>
+ <translation>Całe słowa</translation>
+ </message>
+ <message>
+ <source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Przeszukano od poczÄ…tku</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerLocalsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nazwa</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Wartość</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerStackModel</name>
+ <message>
+ <source>Level</source>
+ <translation>Poziom</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nazwa</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Położenie</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEdit</name>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>Przełącz ustawienie pułapki</translation>
+ </message>
+ <message>
+ <source>Disable Breakpoint</source>
+ <translation>Wyłącz pułapkę</translation>
+ </message>
+ <message>
+ <source>Enable Breakpoint</source>
+ <translation>Włącz pułapkę</translation>
+ </message>
+ <message>
+ <source>Breakpoint Condition:</source>
+ <translation>Warunek dla pułapki:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEngineDebugger</name>
+ <message>
+ <source>Loaded Scripts</source>
+ <translation>Załadowane skrypty</translation>
+ </message>
+ <message>
+ <source>Breakpoints</source>
+ <translation>Pułapki</translation>
+ </message>
+ <message>
+ <source>Stack</source>
+ <translation>Stos</translation>
+ </message>
+ <message>
+ <source>Locals</source>
+ <translation>Zmienne lokalne</translation>
+ </message>
+ <message>
+ <source>Console</source>
+ <translation>Konsola</translation>
+ </message>
+ <message>
+ <source>Debug Output</source>
+ <translation>Wyjście debuggera</translation>
+ </message>
+ <message>
+ <source>Error Log</source>
+ <translation>Log z błędami</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>Szukaj</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Widok</translation>
+ </message>
+ <message>
+ <source>Qt Script Debugger</source>
+ <translation>Debugger Qt Script</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptNewBreakpointWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScrollBar</name>
+ <message>
+ <source>Scroll here</source>
+ <translation>Przewiń tutaj</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>Lewa krawędź</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>Do gĂłry</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>Prawa krawędź</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>W dół</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>Strona w lewo</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>Strona do gĂłry</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>Strona w prawo</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>Strona w dół</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>Przewiń w lewo</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>Przewiń do góry</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>Przewiń w prawo</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>Przewiń w dół</translation>
+ </message>
+ <message>
+ <source>Line up</source>
+ <translation>Linia w gĂłrÄ™</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>Pozycja</translation>
+ </message>
+ <message>
+ <source>Line down</source>
+ <translation>Linia w dół</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSharedMemory</name>
+ <message>
+ <source>%1: create size is less then 0</source>
+ <translation>%1: rozmiar przy tworzeniu mniejszy od 0</translation>
+ </message>
+ <message>
+ <source>%1: unable to lock</source>
+ <translation>%1: nie można zablokować</translation>
+ </message>
+ <message>
+ <source>%1: unable to unlock</source>
+ <translation>%1: nie można odblokować</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1: brak dostępu</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1: juĹĽ istnieje</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exists</source>
+ <translation>%1: nie istnieje</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1: zasoby wyczerpane</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1: nieznany błąd %2</translation>
+ </message>
+ <message>
+ <source>%1: key is empty</source>
+ <translation>%1: klucz jest pusty</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <translation>%1: wystąpił błąd w funkcji ftok()</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <translation>%1: nie można utworzyć klucza</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exist</source>
+ <translation>%1: nie istnieje</translation>
+ </message>
+ <message>
+ <source>%1: UNIX key file doesn&apos;t exist</source>
+ <translation>%1: unixowy plik z kluczem nie istnieje</translation>
+ </message>
+ <message>
+ <source>%1: system-imposed size restrictions</source>
+ <translation>%1: ograniczenia rozmiarĂłw narzucone przez system</translation>
+ </message>
+ <message>
+ <source>%1: not attached</source>
+ <translation>%1: niedołączony</translation>
+ </message>
+ <message>
+ <source>%1: invalid size</source>
+ <translation>%1: niepoprawny rozmiar</translation>
+ </message>
+ <message>
+ <source>%1: key error</source>
+ <translation>%1: błąd klucza</translation>
+ </message>
+ <message>
+ <source>%1: size query failed</source>
+ <translation>%1: zapytanie o rozmiar nie powiodło się</translation>
+ </message>
+ <message>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1: nie można ustawić klucza na zablokowanym segmencie pamięci współdzielonej</translation>
+ </message>
+ </context>
+ <context>
+ <name>QShortcut</name>
+ <message>
+ <source>Space</source>
+ <translation>Spacja</translation>
+ </message>
+ <message>
+ <source>Esc</source>
+ <translation>Esc</translation>
+ </message>
+ <message>
+ <source>Tab</source>
+ <translation>Tabulator</translation>
+ </message>
+ <message>
+ <source>Backtab</source>
+ <translation>Backtab</translation>
+ </message>
+ <message>
+ <source>Backspace</source>
+ <translation>Backspace</translation>
+ </message>
+ <message>
+ <source>Return</source>
+ <translation>PowrĂłt</translation>
+ </message>
+ <message>
+ <source>Enter</source>
+ <translation>Enter</translation>
+ </message>
+ <message>
+ <source>Ins</source>
+ <translation>Ins</translation>
+ </message>
+ <message>
+ <source>Del</source>
+ <translation>Del</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <translation>Pauza</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Wydrukuj</translation>
+ </message>
+ <message>
+ <source>SysReq</source>
+ <translation>SysReq</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Home</translation>
+ </message>
+ <message>
+ <source>End</source>
+ <translation>End</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>Lewo</translation>
+ </message>
+ <message>
+ <source>Up</source>
+ <translation>GĂłra</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>Prawo</translation>
+ </message>
+ <message>
+ <source>Down</source>
+ <translation>Dół</translation>
+ </message>
+ <message>
+ <source>PgUp</source>
+ <translation>PgUp</translation>
+ </message>
+ <message>
+ <source>PgDown</source>
+ <translation>PgDown</translation>
+ </message>
+ <message>
+ <source>CapsLock</source>
+ <translation>CapsLock</translation>
+ </message>
+ <message>
+ <source>NumLock</source>
+ <translation>NumLock</translation>
+ </message>
+ <message>
+ <source>ScrollLock</source>
+ <translation>ScrollLock</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>Menu</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Pomoc</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>Back</translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>Do przodu</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation>Zatrzymaj</translation>
+ </message>
+ <message>
+ <source>Refresh</source>
+ <translation>Odśwież</translation>
+ </message>
+ <message>
+ <source>Volume Down</source>
+ <translation>Przycisz</translation>
+ </message>
+ <message>
+ <source>Volume Mute</source>
+ <translation>Wycisz</translation>
+ </message>
+ <message>
+ <source>Volume Up</source>
+ <translation>Zrób głośniej</translation>
+ </message>
+ <message>
+ <source>Bass Boost</source>
+ <translation>Wzmocnienie basĂłw</translation>
+ </message>
+ <message>
+ <source>Bass Up</source>
+ <translation>Basy w gĂłrÄ™</translation>
+ </message>
+ <message>
+ <source>Bass Down</source>
+ <translation>Basy w dół</translation>
+ </message>
+ <message>
+ <source>Treble Up</source>
+ <translation>Soprany w gĂłrÄ™</translation>
+ </message>
+ <message>
+ <source>Treble Down</source>
+ <translation>Soprany w dół</translation>
+ </message>
+ <message>
+ <source>Media Play</source>
+ <translation>Odtwarzaj</translation>
+ </message>
+ <message>
+ <source>Media Stop</source>
+ <translation>Zatrzymaj</translation>
+ </message>
+ <message>
+ <source>Media Previous</source>
+ <translation>Poprzednia ścieżka</translation>
+ </message>
+ <message>
+ <source>Media Next</source>
+ <translation>Następna ścieżka</translation>
+ </message>
+ <message>
+ <source>Media Record</source>
+ <translation>Nagrywaj</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>Ulubione</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>Szukaj</translation>
+ </message>
+ <message>
+ <source>Standby</source>
+ <translation>Tryb oczekiwania</translation>
+ </message>
+ <message>
+ <source>Open URL</source>
+ <translation>OtwĂłrz adres</translation>
+ </message>
+ <message>
+ <source>Launch Mail</source>
+ <translation>Uruchom program pocztowy</translation>
+ </message>
+ <message>
+ <source>Launch Media</source>
+ <translation>Uruchom przeglÄ…darkÄ™ mediĂłw</translation>
+ </message>
+ <message>
+ <source>Launch (0)</source>
+ <translation>Uruchom (0)</translation>
+ </message>
+ <message>
+ <source>Launch (1)</source>
+ <translation>Uruchom (1)</translation>
+ </message>
+ <message>
+ <source>Launch (2)</source>
+ <translation>Uruchom (2)</translation>
+ </message>
+ <message>
+ <source>Launch (3)</source>
+ <translation>Uruchom (3)</translation>
+ </message>
+ <message>
+ <source>Launch (4)</source>
+ <translation>Uruchom (4)</translation>
+ </message>
+ <message>
+ <source>Launch (5)</source>
+ <translation>Uruchom (5)</translation>
+ </message>
+ <message>
+ <source>Launch (6)</source>
+ <translation>Uruchom (6)</translation>
+ </message>
+ <message>
+ <source>Launch (7)</source>
+ <translation>Uruchom (7)</translation>
+ </message>
+ <message>
+ <source>Launch (8)</source>
+ <translation>Uruchom (8)</translation>
+ </message>
+ <message>
+ <source>Launch (9)</source>
+ <translation>Uruchom (9)</translation>
+ </message>
+ <message>
+ <source>Launch (A)</source>
+ <translation>Uruchom (A)</translation>
+ </message>
+ <message>
+ <source>Launch (B)</source>
+ <translation>Uruchom (B)</translation>
+ </message>
+ <message>
+ <source>Launch (C)</source>
+ <translation>Uruchom (C)</translation>
+ </message>
+ <message>
+ <source>Launch (D)</source>
+ <translation>Uruchom (D)</translation>
+ </message>
+ <message>
+ <source>Launch (E)</source>
+ <translation>Uruchom (E)</translation>
+ </message>
+ <message>
+ <source>Launch (F)</source>
+ <translation>Uruchom (F)</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Up</source>
+ <translation>Zwiększ jasność monitora</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Down</source>
+ <translation>Zmniejsz jasność monitora</translation>
+ </message>
+ <message>
+ <source>Keyboard Light On/Off</source>
+ <translation>Włącz/wyłącz podświetlenie klawiatury</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Up</source>
+ <translation>Zwiększ jasność klawiatury</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Down</source>
+ <translation>Zmniejsz jasność klawiatury</translation>
+ </message>
+ <message>
+ <source>Power Off</source>
+ <translation>Wyłączenie zasilania</translation>
+ </message>
+ <message>
+ <source>Wake Up</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Eject</source>
+ <translation>Wysuń</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Wygaszacz ekranu</translation>
+ </message>
+ <message>
+ <source>WWW</source>
+ <translation>WWW</translation>
+ </message>
+ <message>
+ <source>Sleep</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>LightBulb</source>
+ <translation>Żarówka</translation>
+ </message>
+ <message>
+ <source>Shop</source>
+ <translation>Sklep</translation>
+ </message>
+ <message>
+ <source>History</source>
+ <translation>Historia</translation>
+ </message>
+ <message>
+ <source>Add Favorite</source>
+ <translation>Dodaj do ulubionych</translation>
+ </message>
+ <message>
+ <source>Hot Links</source>
+ <translation>Popularne Ĺ‚Ä…cza</translation>
+ </message>
+ <message>
+ <source>Adjust Brightness</source>
+ <translation>Ustaw jasność</translation>
+ </message>
+ <message>
+ <source>Finance</source>
+ <translation>Finanse</translation>
+ </message>
+ <message>
+ <source>Community</source>
+ <translation>Społeczność</translation>
+ </message>
+ <message>
+ <source>Audio Rewind</source>
+ <translation>Przewijanie do tyłu</translation>
+ </message>
+ <message>
+ <source>Back Forward</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Application Left</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Application Right</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Book</source>
+ <translation>KsiÄ…ĹĽka</translation>
+ </message>
+ <message>
+ <source>CD</source>
+ <translation>CD</translation>
+ </message>
+ <message>
+ <source>Calculator</source>
+ <translation>Kalkulator</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Wyczyść</translation>
+ </message>
+ <message>
+ <source>Clear Grab</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>Skopiuj</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <translation>Wytnij</translation>
+ </message>
+ <message>
+ <source>Display</source>
+ <translation>Wyświetlacz</translation>
+ </message>
+ <message>
+ <source>DOS</source>
+ <translation>DOS</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Dokumenty</translation>
+ </message>
+ <message>
+ <source>Spreadsheet</source>
+ <translation>Arkusz kalkulacyjny</translation>
+ </message>
+ <message>
+ <source>Browser</source>
+ <translation>PrzeglÄ…darka</translation>
+ </message>
+ <message>
+ <source>Game</source>
+ <translation>Gra</translation>
+ </message>
+ <message>
+ <source>Go</source>
+ <translation>PrzejdĹş</translation>
+ </message>
+ <message>
+ <source>iTouch</source>
+ <translation>iTouch</translation>
+ </message>
+ <message>
+ <source>Logoff</source>
+ <translation>Wyloguj</translation>
+ </message>
+ <message>
+ <source>Market</source>
+ <translation>Rynek</translation>
+ </message>
+ <message>
+ <source>Meeting</source>
+ <translation>Spotkanie</translation>
+ </message>
+ <message>
+ <source>Keyboard Menu</source>
+ <translation>Menu klawiatury</translation>
+ </message>
+ <message>
+ <source>Menu PB</source>
+ <translation>Menu PG</translation>
+ </message>
+ <message>
+ <source>My Sites</source>
+ <translation>Moje strony</translation>
+ </message>
+ <message>
+ <source>News</source>
+ <translation>Wiadomości</translation>
+ </message>
+ <message>
+ <source>Home Office</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Option</source>
+ <translation>Opcje</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <translation>Wklej</translation>
+ </message>
+ <message>
+ <source>Phone</source>
+ <translation>Telefon</translation>
+ </message>
+ <message>
+ <source>Reply</source>
+ <translation>Odpowiedz</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>Przeładuj</translation>
+ </message>
+ <message>
+ <source>Rotate Windows</source>
+ <translation>Obróć okna</translation>
+ </message>
+ <message>
+ <source>Rotation PB</source>
+ <translation>ObrĂłt PB</translation>
+ </message>
+ <message>
+ <source>Rotation KB</source>
+ <translation>ObrĂłt KB</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Zachowaj</translation>
+ </message>
+ <message>
+ <source>Send</source>
+ <translation>Wyślij</translation>
+ </message>
+ <message>
+ <source>Spellchecker</source>
+ <translation>Funkcja sprawdzania pisowni</translation>
+ </message>
+ <message>
+ <source>Split Screen</source>
+ <translation>Podziel ekran</translation>
+ </message>
+ <message>
+ <source>Support</source>
+ <translation>Pomoc techniczna</translation>
+ </message>
+ <message>
+ <source>Task Panel</source>
+ <translation>Panel zadań</translation>
+ </message>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>Narzędzia</translation>
+ </message>
+ <message>
+ <source>Travel</source>
+ <translation>Podróże</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Wideo</translation>
+ </message>
+ <message>
+ <source>Word Processor</source>
+ <translation>Edytor tekstĂłw</translation>
+ </message>
+ <message>
+ <source>XFer</source>
+ <translation>XFer</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>Powiększ</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>Pomniejsz</translation>
+ </message>
+ <message>
+ <source>Away</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Messenger</source>
+ <translation>Messenger</translation>
+ </message>
+ <message>
+ <source>WebCam</source>
+ <translation>WebCam</translation>
+ </message>
+ <message>
+ <source>Mail Forward</source>
+ <translation>Przesyłanie wiadomości</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Zdjęcia</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>Muzyka</translation>
+ </message>
+ <message>
+ <source>Battery</source>
+ <translation>Bateria</translation>
+ </message>
+ <message>
+ <source>Bluetooth</source>
+ <translation>Bluetooth</translation>
+ </message>
+ <message>
+ <source>Wireless</source>
+ <translation>Bezprzewodowy</translation>
+ </message>
+ <message>
+ <source>Ultra Wide Band</source>
+ <translation>Ultraszerokie pasmo</translation>
+ </message>
+ <message>
+ <source>Audio Forward</source>
+ <translation>Przewijanie do przodu</translation>
+ </message>
+ <message>
+ <source>Audio Repeat</source>
+ <translation>Powtarzanie</translation>
+ </message>
+ <message>
+ <source>Audio Random Play</source>
+ <translation>Odtwarzanie losowe</translation>
+ </message>
+ <message>
+ <source>Subtitle</source>
+ <translation>Napisy</translation>
+ </message>
+ <message>
+ <source>Audio Cycle Track</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Time</source>
+ <translation>Czas</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Widok</translation>
+ </message>
+ <message>
+ <source>Top Menu</source>
+ <translation>Menu główne</translation>
+ </message>
+ <message>
+ <source>Suspend</source>
+ <translation>Wstrzymaj</translation>
+ </message>
+ <message>
+ <source>Hibernate</source>
+ <translation>Hibernuj</translation>
+ </message>
+ <message>
+ <source>Print Screen</source>
+ <translation>Wydrukuj zawartość ekranu</translation>
+ </message>
+ <message>
+ <source>Page Up</source>
+ <translation>Strona w dół</translation>
+ </message>
+ <message>
+ <source>Page Down</source>
+ <translation>Strona do gĂłry</translation>
+ </message>
+ <message>
+ <source>Caps Lock</source>
+ <translation>Caps Lock</translation>
+ </message>
+ <message>
+ <source>Num Lock</source>
+ <translation>Num Lock</translation>
+ </message>
+ <message>
+ <source>Number Lock</source>
+ <translation>Number Lock</translation>
+ </message>
+ <message>
+ <source>Scroll Lock</source>
+ <translation>Scroll Lock</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Insert</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+ <source>Escape</source>
+ <translation>Escape</translation>
+ </message>
+ <message>
+ <source>System Request</source>
+ <translation>Żądanie systemu</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>Wybierz</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>Tak</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>Nie</translation>
+ </message>
+ <message>
+ <source>Context1</source>
+ <translation>Kontekst1</translation>
+ </message>
+ <message>
+ <source>Context2</source>
+ <translation>Kontekst2</translation>
+ </message>
+ <message>
+ <source>Context3</source>
+ <translation>Kontekst3</translation>
+ </message>
+ <message>
+ <source>Context4</source>
+ <translation>Kontekst4</translation>
+ </message>
+ <message>
+ <source>Call</source>
+ <translation>Wywołaj</translation>
+ </message>
+ <message>
+ <source>Hangup</source>
+ <translation>ZawieĹ›</translation>
+ </message>
+ <message>
+ <source>Flip</source>
+ <translation>Odwróć</translation>
+ </message>
+ <message>
+ <source>Ctrl</source>
+ <translation>Ctrl</translation>
+ </message>
+ <message>
+ <source>Shift</source>
+ <translation>Shift</translation>
+ </message>
+ <message>
+ <source>Alt</source>
+ <translation>Alt</translation>
+ </message>
+ <message>
+ <source>Meta</source>
+ <translation>Meta</translation>
+ </message>
+ <message>
+ <source>+</source>
+ <translation>+</translation>
+ </message>
+ <message>
+ <source>F%1</source>
+ <translation>F%1</translation>
+ </message>
+ <message>
+ <source>Home Page</source>
+ <translation>Strona startowa</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSlider</name>
+ <message>
+ <source>Page left</source>
+ <translation>Strona w lewo</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>Strona do gĂłry</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>Położenie</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>Strona w prawo</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>Strona w dół</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSocks5SocketEngine</name>
+ <message>
+ <source>Connection to proxy refused</source>
+ <translation>Odmowa połączenia z pośrednikiem</translation>
+ </message>
+ <message>
+ <source>Connection to proxy closed prematurely</source>
+ <translation>Przedwczesne zakończenie połączenia z pośrednikiem</translation>
+ </message>
+ <message>
+ <source>Proxy host not found</source>
+ <translation>Nie odnaleziono hosta pośredniczącego</translation>
+ </message>
+ <message>
+ <source>Connection to proxy timed out</source>
+ <translation>Przekroczony czas połączenia do pośrednika</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed</source>
+ <translation>Autoryzacja pośrednika zakończona błędem</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed: %1</source>
+ <translation>Autoryzacja pośrednika zakończona błędem: %1</translation>
+ </message>
+ <message>
+ <source>SOCKS version 5 protocol error</source>
+ <translation>Błąd protokołu SOCKS wersji 5</translation>
+ </message>
+ <message>
+ <source>General SOCKSv5 server failure</source>
+ <translation>Generalny błąd serwera SOCKS wersji 5</translation>
+ </message>
+ <message>
+ <source>Connection not allowed by SOCKSv5 server</source>
+ <translation>Połączenie niedozwolone przez serwer SOCKS wersji 5</translation>
+ </message>
+ <message>
+ <source>TTL expired</source>
+ <translation>TTL stracił ważność</translation>
+ </message>
+ <message>
+ <source>SOCKSv5 command not supported</source>
+ <translation>Nieobsługiwana komenda SOCKS wersji 5</translation>
+ </message>
+ <message>
+ <source>Address type not supported</source>
+ <translation>Nieobsługiwany typ adresu</translation>
+ </message>
+ <message>
+ <source>Unknown SOCKSv5 proxy error code 0x%1</source>
+ <translation>Nieznany kod błędu (0x%1) pośrednika SOCKS wersji 5</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>Przekroczony czas operacji sieciowej</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSoftKeyManager</name>
+ <message>
+ <source>Ok</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>Wybierz</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Zrobione</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>Opcje</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>Wyjście</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>Więcej</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>Mniej</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSql</name>
+ <message>
+ <source>Delete</source>
+ <translation>Skasuj</translation>
+ </message>
+ <message>
+ <source>Delete this record?</source>
+ <translation>Skasować ten rekord?</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>Tak</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>Nie</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Wstaw</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>Uaktualnij</translation>
+ </message>
+ <message>
+ <source>Save edits?</source>
+ <translation>Zachować zmiany?</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ <message>
+ <source>Confirm</source>
+ <translation>PotwierdĹş</translation>
+ </message>
+ <message>
+ <source>Cancel your edits?</source>
+ <translation>Anulować zmiany?</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSslSocket</name>
+ <message>
+ <source>Unable to write data: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to decrypt data: %1</source>
+ <translation>Nie można odszyfrować danych: %1</translation>
+ </message>
+ <message>
+ <source>Error while reading: %1</source>
+ <translation>BĹ‚Ä…d podczas czytania: %1</translation>
+ </message>
+ <message>
+ <source>Error during SSL handshake: %1</source>
+ <translation>BĹ‚Ä…d podczas nawiÄ…zania sesji SSL: %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL context (%1)</source>
+ <translation>BĹ‚Ä…d tworzenia kontekstu (%1)</translation>
+ </message>
+ <message>
+ <source>Invalid or empty cipher list (%1)</source>
+ <translation>Niepoprawna lub pusta lista szyfrĂłw (%1)</translation>
+ </message>
+ <message>
+ <source>Private key does not certify public key, %1</source>
+ <translation>Prywatny klucz nie uwiarygodnia publicznego, %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session, %1</source>
+ <translation>BĹ‚Ä…d tworzenia sesji SSL, %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session: %1</source>
+ <translation>BĹ‚Ä…d tworzenia sesji SSL: %1</translation>
+ </message>
+ <message>
+ <source>Cannot provide a certificate with no key, %1</source>
+ <translation>Nie można dostarczyć certyfikatu bez klucza, %1</translation>
+ </message>
+ <message>
+ <source>Error loading local certificate, %1</source>
+ <translation>BĹ‚Ä…d Ĺ‚adowania lokalnego certyfikatu, %1</translation>
+ </message>
+ <message>
+ <source>Error loading private key, %1</source>
+ <translation>BĹ‚Ä…d Ĺ‚adowania prywatnego klucza, %1</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Brak błędu</translation>
+ </message>
+ <message>
+ <source>The issuer certificate could not be found</source>
+ <translation>Nie można odnaleźć wydawcy certyfikatu</translation>
+ </message>
+ <message>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>Nie można odszyfrować podpisu certyfikatu</translation>
+ </message>
+ <message>
+ <source>The public key in the certificate could not be read</source>
+ <translation>Nie można odczytać publicznego klucza w certyfikacie</translation>
+ </message>
+ <message>
+ <source>The signature of the certificate is invalid</source>
+ <translation>Niepoprawny podpis certyfikatu</translation>
+ </message>
+ <message>
+ <source>The certificate is not yet valid</source>
+ <translation>Certyfikat nie jest jeszcze waĹĽny</translation>
+ </message>
+ <message>
+ <source>The certificate has expired</source>
+ <translation>Certyfikat utracił ważność</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>Pole &quot;notBefore&quot; certyfikatu zawiera niepoprawnÄ… datÄ™</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>Pole &quot;notAfter&quot; certyfikatu zawiera niepoprawnÄ… datÄ™</translation>
+ </message>
+ <message>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation>Certyfikat z podpisem własnym, niezaufany</translation>
+ </message>
+ <message>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation>Główny certyfikat łańcucha certyfikatów ma własny podpis i jest niezaufany</translation>
+ </message>
+ <message>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation>Nie można znaleźć certyfikatu wydawcy wyszukanego lokalnie</translation>
+ </message>
+ <message>
+ <source>No certificates could be verified</source>
+ <translation>Nie można zweryfikować certyfikatów</translation>
+ </message>
+ <message>
+ <source>One of the CA certificates is invalid</source>
+ <translation>Jeden z certyfikatów urzędu certyfikacji jest nieprawidłowy</translation>
+ </message>
+ <message>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation>Długość ścieżki określona w podstawowych warunkach ograniczających została przekroczona</translation>
+ </message>
+ <message>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation>Dostarczony certyfikat jest nieodpowiedni do tego celu</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation>Główny certyfikat urzędu certyfikacji nie jest zaufany do tego celu</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation>Główny certyfikat urzędu certyfikacji jest wyznaczony do odrzucania określonego celu</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
+ <translation>Certyfikat wydawcy obecnego kandydata został odrzucony, ponieważ nazwa podmiotu nie odpowiadała nazwie wydawcy obecnego certyfikatu</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
+ <translation>Certyfikat wydawcy obecnego kandydata został odrzucony, ponieważ nazwa wydawcy i przedstawiony numer seryjny nie odpowiadały identyfikatorowi klucza urzędu certyfikacji obecnego certyfikatu</translation>
+ </message>
+ <message>
+ <source>The peer did not present any certificate</source>
+ <translation>Element równorzędny nie przedstawił żadnego certyfikatu</translation>
+ </message>
+ <message>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>Nazwa hosta nie odpowiadała żadnemu z prawidłowych hostów tego certyfikatu</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QStateMachine</name>
+ <message>
+ <source>Missing initial state in compound state &apos;%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Missing default state in history state &apos;%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QSystemSemaphore</name>
+ <message>
+ <source>%1: does not exist</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QTDSDriver</name>
+ <message>
+ <source>Unable to open connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to use database</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QTabBar</name>
+ <message>
+ <source>Scroll Left</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll Right</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QTcpServer</name>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QTextControl</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Copy &amp;Link Location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QToolButton</name>
+ <message>
+ <source>Press</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QUdpSocket</name>
+ <message>
+ <source>This platform does not support IPv6</source>
+ <translation>Ta platforma nie obsługuje IPv6</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoGroup</name>
+ <message>
+ <source>Undo</source>
+ <translation>Cofnij</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>Przywróć</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoModel</name>
+ <message>
+ <source>&lt;empty&gt;</source>
+ <translation>&lt;pusty&gt;</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoStack</name>
+ <message>
+ <source>Undo</source>
+ <translation>Cofnij</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>Przywróć</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUnicodeControlCharacterMenu</name>
+ <message>
+ <source>LRM Left-to-right mark</source>
+ <translation>LRM znacznik od prawej do lewej </translation>
+ </message>
+ <message>
+ <source>RLM Right-to-left mark</source>
+ <translation>RLM Znacznik od prawej do lewej</translation>
+ </message>
+ <message>
+ <source>ZWJ Zero width joiner</source>
+ <translation>ZWJ ĹÄ…cznik zerowej dĹ‚ugoĹ›ci</translation>
+ </message>
+ <message>
+ <source>ZWNJ Zero width non-joiner</source>
+ <translation>ZWNJ Rozdzielnik zerowej długości</translation>
+ </message>
+ <message>
+ <source>ZWSP Zero width space</source>
+ <translation>ZWSP Przerwa zerowej długości</translation>
+ </message>
+ <message>
+ <source>LRE Start of left-to-right embedding</source>
+ <translation>LRE PoczÄ…tek osadzania od lewej do prawej</translation>
+ </message>
+ <message>
+ <source>RLE Start of right-to-left embedding</source>
+ <translation>RLE PoczÄ…tek osadzania od prawej do lewej</translation>
+ </message>
+ <message>
+ <source>LRO Start of left-to-right override</source>
+ <translation>LRO PoczÄ…tek nadpisania od lewej do prawej</translation>
+ </message>
+ <message>
+ <source>RLO Start of right-to-left override</source>
+ <translation>RLO PoczÄ…tek nadpisania od prawej do lewej</translation>
+ </message>
+ <message>
+ <source>PDF Pop directional formatting</source>
+ <translation>PDF Formatowanie kierunkowe pop</translation>
+ </message>
+ <message>
+ <source>Insert Unicode control character</source>
+ <translation>Wstaw znak kontroli Unicode</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebFrame</name>
+ <message>
+ <source>Request cancelled</source>
+ <translation>Prośba anulowana</translation>
+ </message>
+ <message>
+ <source>Request blocked</source>
+ <translation>Prośba zablokowana</translation>
+ </message>
+ <message>
+ <source>Cannot show URL</source>
+ <translation>Nie można pokazać URL</translation>
+ </message>
+ <message>
+ <source>Frame load interrupted by policy change</source>
+ <translation>Ĺadowanie ramki przerwane przez zmianÄ™ strategii</translation>
+ </message>
+ <message>
+ <source>Cannot show mimetype</source>
+ <translation>Nie można pokazać typu MIME</translation>
+ </message>
+ <message>
+ <source>File does not exist</source>
+ <translation>Plik nie istnieje</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebPage</name>
+ <message>
+ <source>Submit</source>
+ <comment>default label for Submit buttons in forms on web pages</comment>
+ <translation>Wyślij</translation>
+ </message>
+ <message>
+ <source>Submit</source>
+ <comment>Submit (input element) alt text for &lt;input&gt; elements with no alt, title, or value</comment>
+ <translation>Wyślij</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <comment>default label for Reset buttons in forms on web pages</comment>
+ <translation>Wyczyść</translation>
+ </message>
+ <message>
+ <source>Choose File</source>
+ <comment>title for file button used in HTML forms</comment>
+ <translation>Wybierz plik</translation>
+ </message>
+ <message>
+ <source>No file selected</source>
+ <comment>text to display in file button used in HTML forms when no file is selected</comment>
+ <translation>Nie zaznaczono pliku</translation>
+ </message>
+ <message>
+ <source>Open in New Window</source>
+ <comment>Open in New Window context menu item</comment>
+ <translation>OtwĂłrz w nowym oknie</translation>
+ </message>
+ <message>
+ <source>Save Link...</source>
+ <comment>Download Linked File context menu item</comment>
+ <translation>Zachowaj odsyłacz...</translation>
+ </message>
+ <message>
+ <source>Copy Link</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>Skopiuj odsyłacz</translation>
+ </message>
+ <message>
+ <source>Open Image</source>
+ <comment>Open Image in New Window context menu item</comment>
+ <translation>OtwĂłrz obrazek</translation>
+ </message>
+ <message>
+ <source>Save Image</source>
+ <comment>Download Image context menu item</comment>
+ <translation>Zachowaj obrazek</translation>
+ </message>
+ <message>
+ <source>Copy Image</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>Skopiuj obrazek</translation>
+ </message>
+ <message>
+ <source>Open Frame</source>
+ <comment>Open Frame in New Window context menu item</comment>
+ <translation>OtwĂłrz ramkÄ™</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <comment>Copy context menu item</comment>
+ <translation>Skopiuj</translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <comment>Back context menu item</comment>
+ <translation>Wróć</translation>
+ </message>
+ <message>
+ <source>Go Forward</source>
+ <comment>Forward context menu item</comment>
+ <translation>IdĹş dalej</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <comment>Stop context menu item</comment>
+ <translation>Zatrzymaj</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <comment>Reload context menu item</comment>
+ <translation>Przeładuj</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <comment>Cut context menu item</comment>
+ <translation>Wytnij</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <comment>Paste context menu item</comment>
+ <translation>Wklej</translation>
+ </message>
+ <message>
+ <source>No Guesses Found</source>
+ <comment>No Guesses Found context menu item</comment>
+ <translation>Nie odnaleziono podpowiedzi</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Spelling context menu item</comment>
+ <translation>Zignoruj</translation>
+ </message>
+ <message>
+ <source>Add To Dictionary</source>
+ <comment>Learn Spelling context menu item</comment>
+ <translation>Dodaj do słownika</translation>
+ </message>
+ <message>
+ <source>Search The Web</source>
+ <comment>Search The Web context menu item</comment>
+ <translation>Wyszukaj w sieci</translation>
+ </message>
+ <message>
+ <source>Look Up In Dictionary</source>
+ <comment>Look Up in Dictionary context menu item</comment>
+ <translation>Poszukaj w słowniku</translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <comment>Open Link context menu item</comment>
+ <translation>Otwórz odsyłacz</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Grammar context menu item</comment>
+ <translation>Zignoruj</translation>
+ </message>
+ <message>
+ <source>Spelling</source>
+ <comment>Spelling and Grammar context sub-menu item</comment>
+ <translation>Pisownia</translation>
+ </message>
+ <message>
+ <source>Show Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation>PokaĹĽ pisowniÄ™ i gramatykÄ™</translation>
+ </message>
+ <message>
+ <source>Hide Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation>Schowaj pisowniÄ™ i gramatykÄ™</translation>
+ </message>
+ <message>
+ <source>Check Spelling</source>
+ <comment>Check spelling context menu item</comment>
+ <translation>SprawdĹş pisowniÄ™</translation>
+ </message>
+ <message>
+ <source>Check Spelling While Typing</source>
+ <comment>Check spelling while typing context menu item</comment>
+ <translation>Sprawdzaj pisowniÄ™ podczas pisania</translation>
+ </message>
+ <message>
+ <source>Check Grammar With Spelling</source>
+ <comment>Check grammar with spelling context menu item</comment>
+ <translation>Sprawdzaj gramatykÄ™ wraz z pisowniÄ…</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <comment>Font context sub-menu item</comment>
+ <translation>Czcionki</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <comment>Bold context menu item</comment>
+ <translation>Pogrubiony</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <comment>Italic context menu item</comment>
+ <translation>Kursywa</translation>
+ </message>
+ <message>
+ <source>Underline</source>
+ <comment>Underline context menu item</comment>
+ <translation>Podkreślenie</translation>
+ </message>
+ <message>
+ <source>Outline</source>
+ <comment>Outline context menu item</comment>
+ <translation>Kontur</translation>
+ </message>
+ <message>
+ <source>Direction</source>
+ <comment>Writing direction context sub-menu item</comment>
+ <translation>Kierunek</translation>
+ </message>
+ <message>
+ <source>Text Direction</source>
+ <comment>Text direction context sub-menu item</comment>
+ <translation>Kierunek tekstu</translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <comment>Default writing direction context menu item</comment>
+ <translation>Domyślny</translation>
+ </message>
+ <message>
+ <source>Left to Right</source>
+ <comment>Left to Right context menu item</comment>
+ <translation>Z lewej na prawÄ…</translation>
+ </message>
+ <message>
+ <source>Right to Left</source>
+ <comment>Right to Left context menu item</comment>
+ <translation>Z prawej na lewÄ…</translation>
+ </message>
+ <message>
+ <source>Loading...</source>
+ <comment>Media controller status message when the media is loading</comment>
+ <translation>Ĺadowanie...</translation>
+ </message>
+ <message>
+ <source>Live Broadcast</source>
+ <comment>Media controller status message when watching a live broadcast</comment>
+ <translation>Transmisja na ĹĽywo</translation>
+ </message>
+ <message>
+ <source>Audio Element</source>
+ <comment>Media controller element</comment>
+ <translation>Element dźwiękowy</translation>
+ </message>
+ <message>
+ <source>Video Element</source>
+ <comment>Media controller element</comment>
+ <translation>Element wideo</translation>
+ </message>
+ <message>
+ <source>Mute Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk wyłączania głosu</translation>
+ </message>
+ <message>
+ <source>Unmute Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk włączania głosu</translation>
+ </message>
+ <message>
+ <source>Play Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk odtwarzania</translation>
+ </message>
+ <message>
+ <source>Pause Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk pauzy</translation>
+ </message>
+ <message>
+ <source>Slider</source>
+ <comment>Media controller element</comment>
+ <translation>Suwak</translation>
+ </message>
+ <message>
+ <source>Slider Thumb</source>
+ <comment>Media controller element</comment>
+ <translation>Uchwyt suwaka</translation>
+ </message>
+ <message>
+ <source>Rewind Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk przewijania</translation>
+ </message>
+ <message>
+ <source>Return to Real-time Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk powrotu do czasu rzeczywistego</translation>
+ </message>
+ <message>
+ <source>Elapsed Time</source>
+ <comment>Media controller element</comment>
+ <translation>Czas który upłynął</translation>
+ </message>
+ <message>
+ <source>Remaining Time</source>
+ <comment>Media controller element</comment>
+ <translation>Czas który pozostał</translation>
+ </message>
+ <message>
+ <source>Status Display</source>
+ <comment>Media controller element</comment>
+ <translation>Wyświetlacz stanu</translation>
+ </message>
+ <message>
+ <source>Fullscreen Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk trybu pełnoekranowego</translation>
+ </message>
+ <message>
+ <source>Seek Forward Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk przeszukiwania do przodu</translation>
+ </message>
+ <message>
+ <source>Seek Back Button</source>
+ <comment>Media controller element</comment>
+ <translation>Przycisk przeszukiwania do tyłu</translation>
+ </message>
+ <message>
+ <source>Audio element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>Kontrolki odtwarzania dźwięku i wyświetlacz stanu</translation>
+ </message>
+ <message>
+ <source>Video element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>Kontrolki odtwarzania wideo i wyświetlacz stanu</translation>
+ </message>
+ <message>
+ <source>Mute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>Wyłącz ścieżkę dźwiękową</translation>
+ </message>
+ <message>
+ <source>Unmute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>Włącz ścieżkę dźwiękową</translation>
+ </message>
+ <message>
+ <source>Begin playback</source>
+ <comment>Media controller element</comment>
+ <translation>Rozpocznij odtwarzanie</translation>
+ </message>
+ <message>
+ <source>Pause playback</source>
+ <comment>Media controller element</comment>
+ <translation>Wstrzymaj odtwarzanie</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber</source>
+ <comment>Media controller element</comment>
+ <translation>Suwak czasu</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber thumb</source>
+ <comment>Media controller element</comment>
+ <translation>Uchwyt suwaka czasu</translation>
+ </message>
+ <message>
+ <source>Rewind movie</source>
+ <comment>Media controller element</comment>
+ <translation>Przewiń film</translation>
+ </message>
+ <message>
+ <source>Return streaming movie to real-time</source>
+ <comment>Media controller element</comment>
+ <translation>Przywróć przesyłanie filmu do czasu rzeczywistego</translation>
+ </message>
+ <message>
+ <source>Current movie time</source>
+ <comment>Media controller element</comment>
+ <translation>Czas bieĹĽÄ…cego filmu</translation>
+ </message>
+ <message>
+ <source>Remaining movie time</source>
+ <comment>Media controller element</comment>
+ <translation>Czas do końca filmu</translation>
+ </message>
+ <message>
+ <source>Current movie status</source>
+ <comment>Media controller element</comment>
+ <translation>Stan bieĹĽÄ…cego filmu</translation>
+ </message>
+ <message>
+ <source>Play movie in full-screen mode</source>
+ <comment>Media controller element</comment>
+ <translation>Odtwarzaj film w trybie pełnoekranowym</translation>
+ </message>
+ <message>
+ <source>Seek quickly back</source>
+ <comment>Media controller element</comment>
+ <translation>Przeszukaj szybko do tyłu</translation>
+ </message>
+ <message>
+ <source>Seek quickly forward</source>
+ <comment>Media controller element</comment>
+ <translation>Przeszukaj szybko do przodu</translation>
+ </message>
+ <message>
+ <source>Indefinite time</source>
+ <comment>Media time description</comment>
+ <translation>Nieokreślony czas</translation>
+ </message>
+ <message>
+ <source>%1 days %2 hours %3 minutes %4 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 dni %2 godzin %3 minut %4 sekund</translation>
+ </message>
+ <message>
+ <source>%1 hours %2 minutes %3 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 godzin %2 minut %3 sekund</translation>
+ </message>
+ <message>
+ <source>%1 minutes %2 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 minut %2 sekund</translation>
+ </message>
+ <message>
+ <source>%1 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 sekund</translation>
+ </message>
+ <message>
+ <source>Inspect</source>
+ <comment>Inspect Element context menu item</comment>
+ <translation>Zwiedzaj</translation>
+ </message>
+ <message>
+ <source>No recent searches</source>
+ <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
+ <translation>Brak ostatnich wyszukiwań</translation>
+ </message>
+ <message>
+ <source>Recent searches</source>
+ <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
+ <translation>Ostatnie wyszukiwania</translation>
+ </message>
+ <message>
+ <source>Clear recent searches</source>
+ <comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
+ <translation>Wyczyść ostatnie wyszukiwania</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <comment>Unknown filesize FTP directory listing item</comment>
+ <translation>Nieznany</translation>
+ </message>
+ <message>
+ <source>Web Inspector - %2</source>
+ <translation>Wizytator sieciowy - %2</translation>
+ </message>
+ <message>
+ <source>%1 (%2x%3 pixels)</source>
+ <comment>Title string for images</comment>
+ <translation>%1 (%2x%3 piksli)</translation>
+ </message>
+ <message>
+ <source>Bad HTTP request</source>
+ <translation>Niepoprawna komenda HTTP</translation>
+ </message>
+ <message>
+ <source>This is a searchable index. Enter search keywords: </source>
+ <comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
+ <translation>To jest indeks wyszukiwawczy. Podaj słowa do wyszukania:</translation>
+ </message>
+ <message>
+ <source>Scroll here</source>
+ <translation>Przewiń tutaj</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>Lewa krawędź</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>Do gĂłry</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>Prawa krawędź</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>W dół</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>Strona w lewo</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>Strona do gĂłry</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>Strona w prawo</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>Strona w dół</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>Przewiń w lewo</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>Przewiń do góry</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>Przewiń w prawo</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>Przewiń w dół</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n file(s)</source>
+ <comment>number of chosen file</comment>
+ <translation>
+ <numerusform>%n plik</numerusform>
+ <numerusform>%n pliki</numerusform>
+ <numerusform>%n plikĂłw</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>JavaScript Alert - %1</source>
+ <translation>OstrzeĹĽenie JavaScript - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Confirm - %1</source>
+ <translation>Potwierdzenie JavaScript - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Prompt - %1</source>
+ <translation>Zachęta JavaScript - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Problem - %1</source>
+ <translation>Problem JavaScript - %1</translation>
+ </message>
+ <message>
+ <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
+ <translation>Skrypt na tej stronie nie działa poprawnie. Czy chcesz przerwać ten skrypt?</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next character</source>
+ <translation>Przesuń kursor do następnego znaku</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous character</source>
+ <translation>Przesuń kursor do poprzedniego znaku</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next word</source>
+ <translation>Przesuń kursor do następnego słowa</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous word</source>
+ <translation>Przesuń kursor do poprzedniego słowa</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next line</source>
+ <translation>Przesuń kursor do następnej linii</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous line</source>
+ <translation>Przesuń kursor do poprzedniej linii</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the line</source>
+ <translation>Przesuń kursor do początku linii</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the line</source>
+ <translation>Przesuń kursor do końca linii</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the block</source>
+ <translation>Przesuń kursor do początku bloku</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the block</source>
+ <translation>Przesuń kursor do końca bloku</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the document</source>
+ <translation>Przesuń kursor do początku dokumentu</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the document</source>
+ <translation>Przesuń kursor do końca dokumentu</translation>
+ </message>
+ <message>
+ <source>Select all</source>
+ <translation>Zaznacz wszystko</translation>
+ </message>
+ <message>
+ <source>Select to the next character</source>
+ <translation>Zaznacz do następnego znaku</translation>
+ </message>
+ <message>
+ <source>Select to the previous character</source>
+ <translation>Zaznacz do poprzedniego znaku</translation>
+ </message>
+ <message>
+ <source>Select to the next word</source>
+ <translation>Zaznacz do następnego słowa</translation>
+ </message>
+ <message>
+ <source>Select to the previous word</source>
+ <translation>Zaznacz do poprzedniego słowa</translation>
+ </message>
+ <message>
+ <source>Select to the next line</source>
+ <translation>Zaznacz do następnej linii</translation>
+ </message>
+ <message>
+ <source>Select to the previous line</source>
+ <translation>Zaznacz do poprzedniej linii</translation>
+ </message>
+ <message>
+ <source>Select to the start of the line</source>
+ <translation>Zaznacz do poczÄ…tku linii</translation>
+ </message>
+ <message>
+ <source>Select to the end of the line</source>
+ <translation>Zaznacz do końca linii</translation>
+ </message>
+ <message>
+ <source>Select to the start of the block</source>
+ <translation>Zaznacz do poczÄ…tku bloku</translation>
+ </message>
+ <message>
+ <source>Select to the end of the block</source>
+ <translation>Zaznacz do końca bloku</translation>
+ </message>
+ <message>
+ <source>Select to the start of the document</source>
+ <translation>Zaznacz do poczÄ…tku dokumentu</translation>
+ </message>
+ <message>
+ <source>Select to the end of the document</source>
+ <translation>Zaznacz do końca dokumentu</translation>
+ </message>
+ <message>
+ <source>Delete to the start of the word</source>
+ <translation>Skasuj do początku słowa</translation>
+ </message>
+ <message>
+ <source>Delete to the end of the word</source>
+ <translation>Skasuj do końca słowa</translation>
+ </message>
+ <message>
+ <source>Insert a new paragraph</source>
+ <translation>Wstaw nowy paragraf</translation>
+ </message>
+ <message>
+ <source>Insert a new line</source>
+ <translation>Wstaw nowÄ… liniÄ™</translation>
+ </message>
+ <message>
+ <source>Paste and Match Style</source>
+ <translation>Wklej i dopasuj styl</translation>
+ </message>
+ <message>
+ <source>Remove formatting</source>
+ <translation>Usuń formatowanie</translation>
+ </message>
+ <message>
+ <source>Strikethrough</source>
+ <translation>Przekreślenie</translation>
+ </message>
+ <message>
+ <source>Subscript</source>
+ <translation>Indeks dolny</translation>
+ </message>
+ <message>
+ <source>Superscript</source>
+ <translation>Indeks gĂłrny</translation>
+ </message>
+ <message>
+ <source>Insert Bulleted List</source>
+ <translation>Wstaw listÄ™ wypunktowanÄ…</translation>
+ </message>
+ <message>
+ <source>Insert Numbered List</source>
+ <translation>Wstaw listÄ™ ponumerowanÄ…</translation>
+ </message>
+ <message>
+ <source>Indent</source>
+ <translation>Zwiększ wcięcie</translation>
+ </message>
+ <message>
+ <source>Outdent</source>
+ <translation>Zmniejsz wcięcie</translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation>Wyśrodkuj</translation>
+ </message>
+ <message>
+ <source>Justify</source>
+ <translation>Wyjustuj</translation>
+ </message>
+ <message>
+ <source>Align Left</source>
+ <translation>WyrĂłwnaj do lewej</translation>
+ </message>
+ <message>
+ <source>Align Right</source>
+ <translation>WyrĂłwnaj do prawej</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWhatsThisAction</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation>Co to jest?</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWidget</name>
+ <message>
+ <source>*</source>
+ <translation>*</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWizard</name>
+ <message>
+ <source>Cancel</source>
+ <translation>Anuluj</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Pomoc</translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation>&lt; &amp;Wstecz</translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation>&amp;Zakończ</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>&amp;Pomoc</translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <translation>Wróć</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>Kontynuuj</translation>
+ </message>
+ <message>
+ <source>Commit</source>
+ <translation>Dokonaj</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Wykonano</translation>
+ </message>
+ <message>
+ <source>&amp;Next</source>
+ <translation>&amp;Dalej</translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation>&amp;Dalej &gt;</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWorkspace</name>
+ <message>
+ <source>&amp;Restore</source>
+ <translation>&amp;Przywróć</translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation>&amp;PrzenieĹ›</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>&amp;Rozmiar</translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation>Zmi&amp;nimalizuj</translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation>Zma&amp;ksymalizuj</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>&amp;Zamknij</translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation>Pozostaw na &amp;wierzchu</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>Zminimalizuj</translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation>Przywróć pod spód</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Zamknij</translation>
+ </message>
+ <message>
+ <source>Sh&amp;ade</source>
+ <translation>&amp;Zwiń</translation>
+ </message>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <source>&amp;Unshade</source>
+ <translation>R&amp;ozwiń</translation>
+ </message>
+ </context>
+ <context>
+ <name>QXml</name>
+ <message>
+ <source>no error occurred</source>
+ <translation>nie pojawił się żaden błąd</translation>
+ </message>
+ <message>
+ <source>error triggered by consumer</source>
+ <translation>błąd wywołany przez konsumenta</translation>
+ </message>
+ <message>
+ <source>unexpected end of file</source>
+ <translation>nieoczekiwany koniec pliku</translation>
+ </message>
+ <message>
+ <source>more than one document type definition</source>
+ <translation>więcej niż jedna definicja typu dokumentu</translation>
+ </message>
+ <message>
+ <source>error occurred while parsing element</source>
+ <translation>wystąpił błąd podczas parsowania elementu</translation>
+ </message>
+ <message>
+ <source>tag mismatch</source>
+ <translation>niepoprawny tag</translation>
+ </message>
+ <message>
+ <source>error occurred while parsing content</source>
+ <translation>wystąpił błąd podczas parsowania zawartości</translation>
+ </message>
+ <message>
+ <source>unexpected character</source>
+ <translation>nieoczekiwany znak</translation>
+ </message>
+ <message>
+ <source>invalid name for processing instruction</source>
+ <translation>niepoprawna nazwa dla instrukcji przetwarzajÄ…cej</translation>
+ </message>
+ <message>
+ <source>version expected while reading the XML declaration</source>
+ <translation>oczekiwana wersja podczas czytania deklaracji XML</translation>
+ </message>
+ <message>
+ <source>wrong value for standalone declaration</source>
+ <translation>błędna wartość dla deklaracji &quot;standalone&quot;</translation>
+ </message>
+ <message>
+ <source>error occurred while parsing document type definition</source>
+ <translation>wystąpił błąd podczas parsowania typu definicji dokumentu</translation>
+ </message>
+ <message>
+ <source>letter is expected</source>
+ <translation>oczekiwana jest litera</translation>
+ </message>
+ <message>
+ <source>error occurred while parsing comment</source>
+ <translation>wystąpił błąd podczas parsowania komentarza</translation>
+ </message>
+ <message>
+ <source>error occurred while parsing reference</source>
+ <translation>wystąpił błąd podczas parsowania odwołania</translation>
+ </message>
+ <message>
+ <source>internal general entity reference not allowed in DTD</source>
+ <translation>odwołanie do jednostki ogólnej wewnętrznej nie dozwolone w DTD</translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in attribute value</source>
+ <translation>odwołanie do jednostki ogólnej zewnętrznie przetworzonej nie dozwolone dla wartości atrybutu </translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in DTD</source>
+ <translation>odwołanie do jednostki ogólnej zewnętrznie przetworzonej nie dozwolone w DTD</translation>
+ </message>
+ <message>
+ <source>unparsed entity reference in wrong context</source>
+ <translation>odwołanie do jednostki nieprzetworzonej w złym kontekście</translation>
+ </message>
+ <message>
+ <source>recursive entities</source>
+ <translation>jednostki rekurencyjne</translation>
+ </message>
+ <message>
+ <source>error in the text declaration of an external entity</source>
+ <translation>błąd w deklaracji &quot;text&quot; zewnętrznej jednostki</translation>
+ </message>
+ <message>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation>oczekiwano deklaracji &quot;encoding&quot; lub &quot;standalone&quot; podczas odczytywania deklaracji XML</translation>
+ </message>
+ <message>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation>deklaracja &quot;standalone&quot; oczekiwana podczas czytania deklaracji XML</translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlPatternistCLI</name>
+ <message>
+ <source>Warning in %1, at line %2, column %3: %4</source>
+ <translation>OstrzeĹĽenie w %1, wiersz %2, kolumna %3: %4</translation>
+ </message>
+ <message>
+ <source>Warning in %1: %2</source>
+ <translation>OstrzeĹĽenie w %1: %2</translation>
+ </message>
+ <message>
+ <source>Unknown location</source>
+ <translation>Nieznana lokalizacja</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2, at line %3, column %4: %5</source>
+ <translation>BĹ‚Ä…d %1 w %2, wiersz %3, kolumna %4: %5</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2: %3</source>
+ <translation>BĹ‚Ä…d %1 w %2: %3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlStream</name>
+ <message>
+ <source>Extra content at end of document.</source>
+ <translation>Dodatkowa treść na końcu dokumentu.</translation>
+ </message>
+ <message>
+ <source>Invalid entity value.</source>
+ <translation>Niepoprawna wartość jednostki.</translation>
+ </message>
+ <message>
+ <source>Invalid XML character.</source>
+ <translation>Niepoprawny znak XML.</translation>
+ </message>
+ <message>
+ <source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
+ <translation>Ciąg &apos;]]&gt;&apos; niedozwolony w treści.</translation>
+ </message>
+ <message>
+ <source>Namespace prefix &apos;%1&apos; not declared</source>
+ <translation>Przedrostek przestrzeni nazw &apos;%1&apos; nie został zadeklarowany</translation>
+ </message>
+ <message>
+ <source>Attribute redefined.</source>
+ <translation>Atrybut zdefiniowany wielokrotnie.</translation>
+ </message>
+ <message>
+ <source>Unexpected character &apos;%1&apos; in public id literal.</source>
+ <translation>Nieoczekiwany znak &apos;%1&apos; w publicznej stałej znakowej.</translation>
+ </message>
+ <message>
+ <source>Invalid XML version string.</source>
+ <translation>Niepoprawna wersja XML.</translation>
+ </message>
+ <message>
+ <source>Unsupported XML version.</source>
+ <translation>Nieobsługiwana wersja XML.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid encoding name.</source>
+ <translation>%1 jest niepoprawnÄ… nazwÄ… kodowania.</translation>
+ </message>
+ <message>
+ <source>Encoding %1 is unsupported</source>
+ <translation>Kodowanie %1 jest nieobsługiwane</translation>
+ </message>
+ <message>
+ <source>Standalone accepts only yes or no.</source>
+ <translation>Tylko wartości &quot;tak&quot; lub &quot;nie&quot; są akceptowane przez &quot;standalone&quot;.</translation>
+ </message>
+ <message>
+ <source>Invalid attribute in XML declaration.</source>
+ <translation>Niepoprawny atrybut w deklaracji XML.</translation>
+ </message>
+ <message>
+ <source>Premature end of document.</source>
+ <translation>Przedwczesne zakończenie dokumentu.</translation>
+ </message>
+ <message>
+ <source>Invalid document.</source>
+ <translation>Niepoprawny dokument.</translation>
+ </message>
+ <message>
+ <source>Expected </source>
+ <translation>Oczekiwano </translation>
+ </message>
+ <message>
+ <source>, but got &apos;</source>
+ <translation>, ale otrzymano &apos;</translation>
+ </message>
+ <message>
+ <source>Unexpected &apos;</source>
+ <translation>Nieoczekiwany &apos;</translation>
+ </message>
+ <message>
+ <source>Expected character data.</source>
+ <translation>Oczekiwana dana znakowa.</translation>
+ </message>
+ <message>
+ <source>Recursive entity detected.</source>
+ <translation>Wykryto jednostkÄ™ rekurencyjnÄ….</translation>
+ </message>
+ <message>
+ <source>Start tag expected.</source>
+ <translation>Oczekiwano tagu start.</translation>
+ </message>
+ <message>
+ <source>XML declaration not at start of document.</source>
+ <translation>Deklaracja XML nie jest na poczÄ…tku dokumentu.</translation>
+ </message>
+ <message>
+ <source>NDATA in parameter entity declaration.</source>
+ <translation>NDATA w deklaracji parametru obiektu.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid processing instruction name.</source>
+ <translation>%1 jest niepoprawnÄ… nazwÄ… instrukcji przetwarzajÄ…cej.</translation>
+ </message>
+ <message>
+ <source>Invalid processing instruction name.</source>
+ <translation>Niepoprawna nazwa instrukcji przetwarzajÄ…cej.</translation>
+ </message>
+ <message>
+ <source>Illegal namespace declaration.</source>
+ <translation>Niepoprawna deklaracja przestrzeni nazw.</translation>
+ </message>
+ <message>
+ <source>Invalid XML name.</source>
+ <translation>Niepoprawna nazwa XML.</translation>
+ </message>
+ <message>
+ <source>Opening and ending tag mismatch.</source>
+ <translation>Niezgodne tagi początku i końca.</translation>
+ </message>
+ <message>
+ <source>Reference to unparsed entity &apos;%1&apos;.</source>
+ <translation>Odwołanie do nieprzetworzonej jednostki &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <source>Entity &apos;%1&apos; not declared.</source>
+ <translation>Jednostka &apos;%1&apos; nie zadeklarowana.</translation>
+ </message>
+ <message>
+ <source>Reference to external entity &apos;%1&apos; in attribute value.</source>
+ <translation>Odwołanie do zewnętrznej jednostki &apos;%1&apos; jako wartość atrybutu.</translation>
+ </message>
+ <message>
+ <source>Invalid character reference.</source>
+ <translation>Niepoprawny znak odwołania.</translation>
+ </message>
+ <message>
+ <source>Encountered incorrectly encoded content.</source>
+ <translation>Natrafiono na niepoprawnie zakodowaną treść.</translation>
+ </message>
+ <message>
+ <source>The standalone pseudo attribute must appear after the encoding.</source>
+ <translation>Pseudo atrybut &quot;standalone&quot; musi pojawić się po &quot;encoding&quot;.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid PUBLIC identifier.</source>
+ <translation>%1 jest niepoprawnym publicznym identyfikatorem.</translation>
+ </message>
+ </context>
+ <context>
+ <name>QtXmlPatterns</name>
+ <message>
+ <source>At least one component must be present.</source>
+ <translation>Przynajmniej jeden komponent musi być obecny.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 nie jest poprawną wartością dla typu %2.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation>W rzutowaniu %1 na %2 wartość źródłowa nie może być %3.</translation>
+ </message>
+ <message>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation>Efektywna wartość boolowska (EBV) nie może być obliczona dla sekwencji zawierającej dwie lub więcej wartości atomowe.</translation>
+ </message>
+ <message>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>Dane instrukcji przetwarzania nie mogą zawierać ciągu %1</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 jest niepoprawnym %2</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>%1 nie jest poprawnym znakiem XML 1.0.</translation>
+ </message>
+ <message>
+ <source>%1 was called.</source>
+ <translation>Wywołano %1.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>W ciągu zastępczym, po %1 musi następować przynajmniej jedna cyfra</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation>W ciągu zastępczym, %1 może być użyte tylko do zabezpieczenia samej siebie lub %2, nigdy %3</translation>
+ </message>
+ <message>
+ <source>%1 matches newline characters</source>
+ <translation>%1 dopasowało znak nowej linii</translation>
+ </message>
+ <message>
+ <source>Matches are case insensitive</source>
+ <translation>Dopasowania uwzględniają wielkość liter</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 jest niepoprawnym wzorcem wyraĹĽenia regularnego: %2</translation>
+ </message>
+ <message>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>Nie będzie można odzyskać %1.</translation>
+ </message>
+ <message>
+ <source>The default collection is undefined</source>
+ <translation>Domyślna kolekcja jest niezdefiniowana</translation>
+ </message>
+ <message>
+ <source>%1 cannot be retrieved</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>Element %1 nie został dopasowany do wymaganego typu %2.</translation>
+ </message>
+ <message>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 jest nieznanym typem schematu.</translation>
+ </message>
+ <message>
+ <source>A template with name %1 has already been declared.</source>
+ <translation>Szablon o nazwie %1 został już zadeklarowany.</translation>
+ </message>
+ <message>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>Tylko jedna deklaracja %1 może się pojawić w prologu zapytania.</translation>
+ </message>
+ <message>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>Inicjalizacja zmiennej %1 zaleĹĽy od niej samej</translation>
+ </message>
+ <message>
+ <source>The variable %1 is unused</source>
+ <translation>Zmienna %1 jest nieuĹĽywana</translation>
+ </message>
+ <message>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>Wersja %1 nie jest obsługiwana. Obsługiwaną wersją XQuery jest wersja 1.0.</translation>
+ </message>
+ <message>
+ <source>No function with signature %1 is available</source>
+ <translation>Żadna funkcja w postaci %1 nie jest dostępna</translation>
+ </message>
+ <message>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>Nie jest moĹĽliwe ponowne zadeklarowanie przedrostka %1.</translation>
+ </message>
+ <message>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>Przedrostek %1 jest juĹĽ zadeklarowany w prologu.</translation>
+ </message>
+ <message>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>Nazwa opcji musi posiadać przedrostek. Nie istnieje domyślna przestrzeń nazw dla opcji.</translation>
+ </message>
+ <message>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>Cecha &quot;Import schematu&quot; nie jest obsługiwana, dlatego deklaracje %1 nie mogą pojawić.</translation>
+ </message>
+ <message>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>Docelowa przestrzeń nazw dla %1 nie może być pusta.</translation>
+ </message>
+ <message>
+ <source>The module import feature is not supported</source>
+ <translation>Cecha &quot;Import modułu&quot; nie jest obsługiwana</translation>
+ </message>
+ <message>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation>Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika w module bibliotecznym musi odpowiadać przestrzeni nazw modułu. Powinna to być %1 zamiast %2</translation>
+ </message>
+ <message>
+ <source>A function already exists with the signature %1.</source>
+ <translation>Funkcja w postaci %1 juĹĽ istnieje.</translation>
+ </message>
+ <message>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>Zewnętrzne funkcje nie są obsługiwane. Wszystkie obsługiwane funkcje mogą być używane bezpośrednio, bez ich uprzedniego deklarowania jako zewnętrzne</translation>
+ </message>
+ <message>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>Oś %1 nie jest obsługiwana w XQuery</translation>
+ </message>
+ <message>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>Przestrzeń nazw URI nie może być pustym ciągiem w powiązaniu z przedrostkiem, %1.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 jest niepoprawnÄ… przestrzeniÄ… nazw URI.</translation>
+ </message>
+ <message>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>Nie jest moĹĽliwe powiÄ…zanie z przedrostkiem %1</translation>
+ </message>
+ <message>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>Atrybuty deklaracji przestrzeni nazw majÄ… tÄ… samÄ… nazwÄ™: %1.</translation>
+ </message>
+ <message>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>Przestrzeń nazw URI nie może być stałą i nie może używać zawartych w niej wyrażeń.</translation>
+ </message>
+ <message>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translation>%1 nie jest wewnątrz zakresu deklaracji atrybutów. Zwróć uwagę że importowanie schematów nie jest obsługiwane.</translation>
+ </message>
+ <message>
+ <source>empty</source>
+ <translation>pusty</translation>
+ </message>
+ <message>
+ <source>zero or one</source>
+ <translation>zero lub jeden</translation>
+ </message>
+ <message>
+ <source>exactly one</source>
+ <translation>dokładnie jeden</translation>
+ </message>
+ <message>
+ <source>one or more</source>
+ <translation>jeden lub więcej</translation>
+ </message>
+ <message>
+ <source>zero or more</source>
+ <translation>zero lub więcej</translation>
+ </message>
+ <message>
+ <source>The focus is undefined.</source>
+ <translation>Focus jest niezdefiniowany.</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>Atrybut o nazwie %1 został już utworzony.</translation>
+ </message>
+ <message>
+ <source>Network timeout.</source>
+ <translation>Przekroczony czas połączenia.</translation>
+ </message>
+ <message>
+ <source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
+ <translation>Element %1 nie może być zserializowany ponieważ pojawił się poza elementem &quot;document&quot;.</translation>
+ </message>
+ <message>
+ <source>Year %1 is invalid because it begins with %2.</source>
+ <translation>Rok %1 jest niepoprawny poniewaĹĽ rozpoczyna siÄ™: %2.</translation>
+ </message>
+ <message>
+ <source>Day %1 is outside the range %2..%3.</source>
+ <translation>Dzień %1 jest poza zakresem %2..%3.</translation>
+ </message>
+ <message>
+ <source>Month %1 is outside the range %2..%3.</source>
+ <translation>MiesiÄ…c %1 jest poza zakresem %2..%3.</translation>
+ </message>
+ <message>
+ <source>Overflow: Can&apos;t represent date %1.</source>
+ <translation>Przepełnienie: Nie można wyrazić daty %1.</translation>
+ </message>
+ <message>
+ <source>Day %1 is invalid for month %2.</source>
+ <translation>Dzień %1 jest niepoprawny dla miesiąca %2.</translation>
+ </message>
+ <message>
+ <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
+ <translation>Czas 24:%1:%2:%3 jest niepoprawny. Godzina jest 24, ale minuty, sekundy i milisekundy nie są równocześnie zerami;</translation>
+ </message>
+ <message>
+ <source>Time %1:%2:%3.%4 is invalid.</source>
+ <translation>Czas %1:%2:%3.%4 jest niepoprawny.</translation>
+ </message>
+ <message>
+ <source>Overflow: Date can&apos;t be represented.</source>
+ <translation>Przepełnienie: Data nie może być wyrażona.</translation>
+ </message>
+ <message>
+ <source>At least one time component must appear after the %1-delimiter.</source>
+ <translation>Przynajmniej jeden komponent musi wystąpić po nawiasie %1.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
+ <translation>Dzielenie wartości typu %1 przez %2 (typ nienumeryczny) jest niedozwolone.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
+ <translation>Dzielenie wartości typu %1 przez %2 lub %3 (plus lub minus zero) jest niedozwolone.</translation>
+ </message>
+ <message>
+ <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
+ <translation>Mnożenie wartości typu %1 przez %2 lub %3 (plus lub minus nieskończoność) jest niedozwolone.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot have an Effective Boolean Value.</source>
+ <translation>Wartość typu %1 nie może posiadać efektywnej wartości boolowskiej (EBV).</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 exceeds maximum (%3).</source>
+ <translation>Wartość %1 typu %2 przekracza maksimum (%3).</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 is below minimum (%3).</source>
+ <translation>Wartość %1 typu %2 jest poniżej minimum (%3).</translation>
+ </message>
+ <message>
+ <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
+ <translation>Wartość typu %1 musi zawierać parzystą liczbę cyfr. Wartość %2 nie zawiera.</translation>
+ </message>
+ <message>
+ <source>%1 is not valid as a value of type %2.</source>
+ <translation>Wartość %1 nie jest poprawna jako wartość typu %2.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on type %2.</source>
+ <translation>Operator %1 nie może być użyty dla typu %2.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
+ <translation>Operator %1 nie może być użyty dla atomowych wartości typu %2 i %3.</translation>
+ </message>
+ <message>
+ <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
+ <translation>Przestrzeń nazw URI nie może być %1 w nazwie dla obliczonego atrybutu.</translation>
+ </message>
+ <message>
+ <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
+ <translation>Nazwa dla wyliczonego atrybutu nie może zawierać przestrzeni nazw URI %1 z lokalną nazwą %2.</translation>
+ </message>
+ <message>
+ <source>Type error in cast, expected %1, received %2.</source>
+ <translation>BĹ‚Ä…d typĂłw w rzutowaniu: spodziewano siÄ™ %1, otrzymano %2.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
+ <translation>Podczas rzutowania na %1 lub na typ pochodny, wartość źródłowa musi być tego samego typu lub musi być zapisem tekstowym. Typ %2 nie jest dozwolony.</translation>
+ </message>
+ <message>
+ <source>A comment cannot contain %1</source>
+ <translation>Komentarz nie może zawierać %1</translation>
+ </message>
+ <message>
+ <source>A comment cannot end with a %1.</source>
+ <translation>Komentarz nie może kończyć się: %1.</translation>
+ </message>
+ <message>
+ <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
+ <translation>Węzeł &quot;attribute&quot; nie może być podelementem węzła &quot;document&quot;. Dlatego atrybut %1 jest w złym miejscu.</translation>
+ </message>
+ <message>
+ <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
+ <translation>Moduł biblioteki nie może być bezpośrednio oceniony. On musi być zaimportowany z głównego modułu.</translation>
+ </message>
+ <message>
+ <source>No template by name %1 exists.</source>
+ <translation>Szablon o nazwie %1 nie istnieje.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
+ <translation>Wartość typu %1 nie może być predykatem. Predykat musi być typu liczbowego lub Efektywną Wartość Logiczną.</translation>
+ </message>
+ <message>
+ <source>A positional predicate must evaluate to a single numeric value.</source>
+ <translation>Wynikiem predykatu pozycyjnego musi być pojedyncza wartość liczbowa.</translation>
+ </message>
+ <message>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
+ <translation>Docelowa nazwa w instrukcji przetwarzania nie może być %1 w żadnej kombinacji wielkich i małych liter. Dlatego nazwa %2 jest niepoprawna.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
+ <translation>%1 nie jest poprawną nazwą docelową w instrukcji przetwarzania. Nazwa musi być wartością %2, np. %3.</translation>
+ </message>
+ <message>
+ <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
+ <translation>Ostatni krok w ścieżce musi zawierać albo węzły albo wartości atomowe. Nie może zawierać obu jednocześnie.</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1</source>
+ <translation>Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1 in %2</source>
+ <translation>Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1 w %2</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
+ <translation>Pierwszy argument w %1 nie może być typu %2. Musi on być typu liczbowego: xs:yearMonthDuration lub xs:dayTimeDuration.</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>Pierwszy argument w %1 nie może być typu %2. Musi on być typu: %3, %4 lub %5.</translation>
+ </message>
+ <message>
+ <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>Drugi argument w %1 nie może być typu %2. Musi on być typu: %3, %4 lub %5.</translation>
+ </message>
+ <message>
+ <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
+ <translation>Jeśli oba argumenty mają przesunięcia strefowe, muszą one być takie same. %1 i %2 nie są takie same.</translation>
+ </message>
+ <message>
+ <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
+ <translation>Po %1 musi następować %2 lub %3, lecz nie na końcu zastępczego ciągu.</translation>
+ </message>
+ <message>
+ <source>%1 and %2 match the start and end of a line.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Whitespace characters are removed, except when they appear in character classes</source>
+ <translation>Spacje sÄ… usuwane z wyjÄ…tkiem kiedy pojawiÄ… siÄ™ w klasach znakowych</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
+ <translation>%1 jest niepoprawną flagą dla wyrażeń regularnych. Poprawnymi flagami są:</translation>
+ </message>
+ <message>
+ <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
+ <translation>Jeśli pierwszy argument jest pustą sekwencją lub zerowej długości ciągiem (przy braku przestrzeni nazw), przedrostek nie może wystąpić. Podano przedrostek %1.</translation>
+ </message>
+ <message>
+ <source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
+ <translation>Znormalizowana forma %1 nie jest obsługiwana. Obsługiwanymi formami są: %2, %3, %4 i %5 oraz pusta forma (brak normalizacji).</translation>
+ </message>
+ <message>
+ <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
+ <translation>Przesunięcie strefowe musi być w zakresie %1..%2 włącznie. %3 jest poza tym zakresem.</translation>
+ </message>
+ <message>
+ <source>Required cardinality is %1; got cardinality %2.</source>
+ <translation>Wymagana liczność wynosi %1; otrzymano %2.</translation>
+ </message>
+ <message>
+ <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
+ <translation>Enkodowanie %1 jest niepoprawne. Może ono zawierać jedynie znaki alfabetu łacińskiego, nie może zawierać spacji i musi być dopasowane do wyrażenia regularnego %2.</translation>
+ </message>
+ <message>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation>Słowo kluczowe %1 nie może wystąpić z inną nazwą trybu.</translation>
+ </message>
+ <message>
+ <source>No variable with name %1 exists</source>
+ <translation>Zmienna o nazwie %1 nie istnieje</translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation>Wartość atrybutu %1 musi być typu %2, którym nie jest %3.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation>Przedrostek %1 nie może być powiązany. Jest on domyślnie powiązany z przestrzenią nazw %2.</translation>
+ </message>
+ <message>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation>Zmienna o nazwie %1 została już zadeklarowana.</translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation>Brak wartości dla zewnętrznej zmiennej o nazwie %1.</translation>
+ </message>
+ <message>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>Funkcja arkusza stylu musi zawierać nazwę z przedrostkiem.</translation>
+ </message>
+ <message>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation>Przestrzeń nazw %1 jest zarezerwowana, dlatego funkcje zdefiniowane przez użytkownika nie mogą jej użyć. Spróbuj predefiniowany przedrostek %2, który istnieje w takich przypadkach.</translation>
+ </message>
+ <message>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation>Argument o nazwie %1 został już zadeklarowany. Każda nazwa argumentu musi być unikatowa.</translation>
+ </message>
+ <message>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation>Gdy funkcja %1 jest wykorzystana do dopasowania wewnątrz wzorca, jej argument musi być referencją do zmiennej lub napisem.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation>We wzorze XSL-T pierwszy argument w funkcji %1 musi być stałą znakową podczas dopasowywania.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
+ <translation>We wzorze XSL-T pierwszy argument w funkcji %1 musi być stałą znakową lub nazwą zmiennej podczas dopasowywania.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation>We wzorze XSL-T funkcja %1 nie może zawierać trzeciego argumentu.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation>We wzorze XSL-T tylko funkcje %1 i %2 mogą być użyte do dopasowania, zaś funkcja %3 nie.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation>We wzorze XSL-T tylko osie %2 i %3 mogą być użyte, zaś oś %1 nie.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid template mode name.</source>
+ <translation>%1 nie jest poprawnÄ… nazwa trybu szablonu.</translation>
+ </message>
+ <message>
+ <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
+ <translation>Nazwa zmiennej powiązanej w wyrażeniu &quot;for&quot; musi być inna od zmiennej pozycjonującej. W związku z tym dwie zmienne o nazwie %1 kolidują ze sobą.</translation>
+ </message>
+ <message>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation>Cecha &quot;Walidacja schematu&quot; nie jest obsługiwana. Dlatego też wyrażenia %1 nie mogą być użyte.</translation>
+ </message>
+ <message>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation>Wyrażenia &quot;pragma&quot; nie są obsługiwane. Dlatego musi wystąpić wyrażenie zastępcze</translation>
+ </message>
+ <message>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation>Każda nazwa parametru szablonu musi być unikatowa; %1 się powtarza.</translation>
+ </message>
+ <message>
+ <source>No function with name %1 is available.</source>
+ <translation>Żadna funkcja o nazwie %1 nie jest dostępna.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation>%1 nie jest poprawnym zapisem liczbowym.</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation>Selektor narzucenia niepowtarzalności W3C XML Schema</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation>Pole narzucenia niepowtarzalności W3C XML Schema</translation>
+ </message>
+ <message>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation>Wystąpiła konstrukcja która jest niedozwolona w bieżącym języku (%1).</translation>
+ </message>
+ <message>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>Przestrzeń nazw %1 może być jedynie powiązana z %2 (w przeciwnym wypadku jest ona domyślnie zadeklarowana).</translation>
+ </message>
+ <message>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>Przedrostek %1 może być jedynie powiązany z %2 (w przeciwnym wypadku jest on domyślnie zadeklarowany).</translation>
+ </message>
+ <message>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation>Atrybut o nazwie %1 już się pojawił w tym elemencie.</translation>
+ </message>
+ <message>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation>Konstruktor elementu bezpośredniego nie jest dobrze sformatowany. %1 jest zakończony %2.</translation>
+ </message>
+ <message>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation>Nazwa %1 nie odpowiada ĹĽadnemu typowi schematu.</translation>
+ </message>
+ <message>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation>%1 jest typem złożonym. Rzutowanie na typy złożone nie jest możliwe. Jednakże rzutowanie na typy atomowe np.: %2 jest dozwolone.</translation>
+ </message>
+ <message>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation>%1 nie jest typem atomowym. MoĹĽliwe jest rzutowanie tylko na typy atomowe.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1 nie jest poprawnÄ… nazwÄ… dla instrukcji przetwarzajÄ…cej.</translation>
+ </message>
+ <message>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation>Nazwa dodatkowego wyrażenia musi znajdować sie w przestrzeni nazw.</translation>
+ </message>
+ <message>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>Odnaleziono typ %2, lecz wymaganym typem jest %1.</translation>
+ </message>
+ <message>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>Przekształcenie %1 do %2 może spowodować utratę precyzji.</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation>Dodanie atrybutu poza węzłami nie jest możliwe.</translation>
+ </message>
+ <message>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>Obsługiwane jest jedynie &quot;Unicode Codepoint Collation&quot; (%1), %2 nie jest obsługiwane.</translation>
+ </message>
+ <message>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>Dzielenie w dziedzinie liczb całkowitych (%1) przez zero (%2) jest niezdefiniowane.</translation>
+ </message>
+ <message>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>Dzielenie (%1) przez zero (%2) jest niezdefiniowane.</translation>
+ </message>
+ <message>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>Dzielenie modulo (%1) przez zero (%2) jest niezdefiniowane.</translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 przyjmuje co najwyĹĽej %n argument. %2 jest dlatego niepoprawne.</numerusform>
+ <numerusform>%1 przyjmuje co najwyĹĽej %n argumenty. %2 jest dlatego niepoprawne.</numerusform>
+ <numerusform>%1 przyjmuje co najwyĹĽej %n argumentĂłw. %2 jest dlatego niepoprawne.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 wymaga przynajmniej %n argumentu. %2 jest dlatego niepoprawne.</numerusform>
+ <numerusform>%1 wymaga przynajmniej %n argumentĂłw. %2 jest dlatego niepoprawne.</numerusform>
+ <numerusform>%1 wymaga przynajmniej %n argumentĂłw. %2 jest dlatego niepoprawne.</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation>Głównym węzłem drugiego argumentu w funkcji %1 musi być węzeł &quot;document&quot;. %2 nie jest węzłem &quot;document&quot;.</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation>Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika nie może być pusta (spróbuj predefiniowany przedrostek %1, który stworzono specjalnie do takich sytuacji)</translation>
+ </message>
+ <message>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>Domyślna deklaracja przestrzeni nazw musi pojawić się przed deklaracjami funkcji, zmiennych i opcji.</translation>
+ </message>
+ <message>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>Deklaracje przestrzeni nazw muszą pojawić się przed deklaracjami funkcji, zmiennych i opcji.</translation>
+ </message>
+ <message>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>Importy modułów muszą pojawić się przed deklaracjami funkcji, zmiennych i opcji.</translation>
+ </message>
+ <message>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 nie jest całkowitą liczbą minut.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation>Atrybut %1 nie może być zserializowany ponieważ pojawił się na najwyższym poziomie.</translation>
+ </message>
+ <message>
+ <source>%1 is an unsupported encoding.</source>
+ <translation>Nieobsługiwane kodowanie %1.</translation>
+ </message>
+ <message>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation>Kod %1 który pojawił się w %2 i który używa kodowania %3 jest niepoprawnym znakiem XML.</translation>
+ </message>
+ <message>
+ <source>Ambiguous rule match.</source>
+ <translation>Dopasowano niejednoznaczną regułę.</translation>
+ </message>
+ <message>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation>W konstruktorze przestrzeni nazw wartość przestrzeni nazw nie może być pustym ciągiem.</translation>
+ </message>
+ <message>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation>Przedrostek musi być poprawnym %1, którym %2 nie jest.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation>Przedrostek %1 nie może być powiązany.</translation>
+ </message>
+ <message>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation>Tylko przedrostek %1 może być powiązany z %2 i vice versa.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation>Wymagany jest parametr %1 lecz żaden odpowiadający mu %2 nie został dostarczony.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation>Przekazany jest parametr %1 lecz ĹĽaden odpowiadajÄ…cy mu %2 nie istnieje.</translation>
+ </message>
+ <message>
+ <source>The URI cannot have a fragment</source>
+ <translation>URI nie może posiadać fragmentu</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed at this location.</source>
+ <translation>Element %1 jest niedozwolony w tym miejscu.</translation>
+ </message>
+ <message>
+ <source>Text nodes are not allowed at this location.</source>
+ <translation>Węzły tekstowe są niedozwolone w tym miejscu.</translation>
+ </message>
+ <message>
+ <source>Parse error: %1</source>
+ <translation>BĹ‚Ä…d parsowania: %1</translation>
+ </message>
+ <message>
+ <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
+ <translation>Wartość atrybutu wersji XSL-T musi być typu %1, którym %2 nie jest.</translation>
+ </message>
+ <message>
+ <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
+ <translation>Przetwarzanie arkusza XSL-T w wersji 1.0 przez procesor w wersji 2.0.</translation>
+ </message>
+ <message>
+ <source>Unknown XSL-T attribute %1.</source>
+ <translation>Nieznany atrybut %1 XSL-T.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 and %2 are mutually exclusive.</source>
+ <translation>Atrybuty %1 i %2 wzajemnie siÄ™ wykluczajÄ…cÄ….</translation>
+ </message>
+ <message>
+ <source>In a simplified stylesheet module, attribute %1 must be present.</source>
+ <translation>W uproszczonym module arkuszu stylu musi wystąpić atrybut %1.</translation>
+ </message>
+ <message>
+ <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
+ <translation>Jeśli element %1 nie posiada atrybutu %2, nie może on również posiadać atrybutu %3 ani %4.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have at least one of the attributes %2 or %3.</source>
+ <translation>Element %1 musi posiadać przynajmniej jeden z atrybutów: %2 lub %3.</translation>
+ </message>
+ <message>
+ <source>At least one mode must be specified in the %1-attribute on element %2.</source>
+ <translation>Przynajmniej jeden tryb musi być podany w atrybucie %1 elementu %2.</translation>
+ </message>
+ <message>
+ <source>Element %1 must come last.</source>
+ <translation>Element %1 musi wystąpić jako ostatni.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur before %2.</source>
+ <translation>Przynajmniej jeden element %1 musi wystąpić przed %2.</translation>
+ </message>
+ <message>
+ <source>Only one %1-element can appear.</source>
+ <translation>Może wystąpić tylko jeden element %1.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur inside %2.</source>
+ <translation>Przynajmniej jeden element %1 musi wystąpić wewnątrz %2.</translation>
+ </message>
+ <message>
+ <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
+ <translation>Kiedy atrybut %1 występuje w %2 konstruktor sekwencyjny nie może być użyty.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
+ <translation>Element %1 musi posiadać albo atrybut %2 albo sekwencyjny konstruktor.</translation>
+ </message>
+ <message>
+ <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
+ <translation>Kiedy wymagany jest parametr, domyślna wartość nie może być dostarczona przez atrybut %1 ani przez sekwencyjny konstruktor.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have children.</source>
+ <translation>Element %1 nie może posiadać potomków.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have a sequence constructor.</source>
+ <translation>Element %1 nie może posiadać sekwencyjnego konstruktora.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
+ <translation>Atrybut %1 nie może wystąpić w %2 kiedy jest on potomkiem %3.</translation>
+ </message>
+ <message>
+ <source>A parameter in a function cannot be declared to be a tunnel.</source>
+ <translation>Parametr funkcji nie może być zadeklarowany jako tunelowy.</translation>
+ </message>
+ <message>
+ <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
+ <translation>Procesor nie obsługuje schematów, więc %1 nie może zostać użyte.</translation>
+ </message>
+ <message>
+ <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
+ <translation>Elementy arkusza stylu najwyższego poziomu muszą być w niezerowej przestrzeni nazw, którą %1 nie jest.</translation>
+ </message>
+ <message>
+ <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
+ <translation>Wartością atrybutu %1 w elemencie %2 musi być %3 albo %4, lecz nie %5.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot have the value %2.</source>
+ <translation>Atrybut %1 nie może posiadać wartości %2.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 can only appear on the first %2 element.</source>
+ <translation>Atrybut %1 może wystąpić jedynie w pierwszym elemencie %2.</translation>
+ </message>
+ <message>
+ <source>At least one %1 element must appear as child of %2.</source>
+ <translation>Przynajmniej jeden element %1 musi wystąpić jako potomek %2.</translation>
+ </message>
+ <message>
+ <source>%1 has inheritance loop in its base type %2.</source>
+ <translation>%1 ma pętlę w dziedziczeniu w jego podstawowym typie %2.</translation>
+ </message>
+ <message>
+ <source>Circular inheritance of base type %1.</source>
+ <translation>Cykliczne dziedziczenie podstawowego typu %1.</translation>
+ </message>
+ <message>
+ <source>Circular inheritance of union %1.</source>
+ <translation>Cykliczne dziedziczenie unii %1.</translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
+ <translation>Nie można wywieść %1 z %2 ograniczając go ponieważ jest on zdefiniowany jako końcowy.</translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
+ <translation>Nie można wywieść %1 z %2 rozszerzając go ponieważ jest on zdefiniowany jako końcowy.</translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 cannot be complex type %2.</source>
+ <translation>Typ podstawowy dla typu prostego %1 nie może być typem złożonym %2.</translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot have direct base type %2.</source>
+ <translation>Typ prosty %1 nie może mieć bezpośredniego typu podstawowego %2.</translation>
+ </message>
+ <message>
+ <source>Simple type %1 is not allowed to have base type %2.</source>
+ <translation>Typ prosty %1 nie może mieć typu podstawowego %2.</translation>
+ </message>
+ <message>
+ <source>Simple type %1 can only have simple atomic type as base type.</source>
+ <translation>Typem podstawowym typu prostego %1 może być tylko typ atomowy.</translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
+ <translation>Typ prosty %1 nie może wywodzić się z %2 ponieważ ten ostatni jest zdefiniowany jako końcowy.</translation>
+ </message>
+ <message>
+ <source>Variety of item type of %1 must be either atomic or union.</source>
+ <translation>Typem elementów listy %1 musi być albo typ atomowy albo unia.</translation>
+ </message>
+ <message>
+ <source>Variety of member types of %1 must be atomic.</source>
+ <translation>Typy składników %1 muszą być atomowe.</translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
+ <translation>Nie można wywieść %1 z %2 poprzez listę ponieważ jest to zdefiniowane ostatecznie w typie podstawowym.</translation>
+ </message>
+ <message>
+ <source>Simple type %1 is only allowed to have %2 facet.</source>
+ <translation>Typ prosty %1 może jedynie posiadać aspekt %2.</translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 must have variety of type list.</source>
+ <translation>Typ podstawowy dla typu prostego %1 musi być listą typów.</translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 has defined derivation by restriction as final.</source>
+ <translation>Typ podstawowy dla typu prostego %1 ma zdefiniowane wywodzenie poprzez ograniczenie jako końcowe.</translation>
+ </message>
+ <message>
+ <source>Item type of base type does not match item type of %1.</source>
+ <translation>Typ elementĂłw listy typu podstawowego nie pasuje do typu elementĂłw listy %1.</translation>
+ </message>
+ <message>
+ <source>Simple type %1 contains not allowed facet type %2.</source>
+ <translation>Typ prosty %1 posiada niedozwolony aspekt %2.</translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
+ <translation>Nie można wywieść %1 z %2 poprzez unię ponieważ jest to zdefiniowane ostatecznie w typie podstawowym.</translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have any facets.</source>
+ <translation>%1 nie może posiadać żadnych aspektów.</translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 must have variety of union.</source>
+ <translation>Typ podstawowy %1 dla typu prostego %2 musi być unią.</translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
+ <translation>Typ podstawowy %1 dla typu prostego %2 nie może posiadać ograniczenia dla atrybutu %3.</translation>
+ </message>
+ <message>
+ <source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
+ <translation>Typ %1 składnika nie może być wywiedziony z typu %2 który jest typem składnika %3 typu podstawowego %4.</translation>
+ </message>
+ <message>
+ <source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
+ <translation>Metodą wywodzenia z %1 musi być rozszerzenie ponieważ typ podstawowy %2 jest typem prostym.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 has duplicated element %2 in its content model.</source>
+ <translation>Typ złożony %1 posiada powielony element %2 w jego modelu zawartości.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 has non-deterministic content.</source>
+ <translation>Typ złożony %1 posiada nieokreśloną zawartość.</translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
+ <translation>Atrybuty typu złożonego %1 nie są poprawnym rozszerzeniem atrybutów typu podstawowego %2: %3.</translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
+ <translation>Model zawartości typu złożonego %1 nie jest poprawnym rozszerzeniem modelu zawartości %2.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have simple content.</source>
+ <translation>Typ złożony %1 musi mieć prostą zawartość.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have the same simple type as its base class %2.</source>
+ <translation>Typ złożony %1 musi posiadać ten sam prosty typ jaki posiada jego klasa podstawowa %2.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived from base type %2%3.</source>
+ <translation>Typ złożony %1 nie może być wywiedziony z typu %2%3.</translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
+ <translation>Atrybuty typu złożonego %1 nie są poprawnym ograniczeniem atrybutów typu podstawowego %2: %3.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
+ <translation>Typ złożony %1 z prostą zawartością nie może być wywiedziony z podstawowego typu złożonego %2.</translation>
+ </message>
+ <message>
+ <source>Item type of simple type %1 cannot be a complex type.</source>
+ <translation>Typ elementów listy w prostym typie %1 nie może być typem złożonym.</translation>
+ </message>
+ <message>
+ <source>Member type of simple type %1 cannot be a complex type.</source>
+ <translation>Typ składnika typu prostego %1 nie może być typem złożonym.</translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have a member type with the same name as itself.</source>
+ <translation>%1 nie może posiadać typu składnika o tej samej nazwie jaką on sam posiada.</translation>
+ </message>
+ <message>
+ <source>%1 facet collides with %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must have the same value as %2 facet of base type.</source>
+ <translation>Aspekt %1 musi mieć tą samą wartość jaką ma aspekt %2 typu podstawowego.</translation>
+ </message>
+ <message>
+ <source>%1 facet must be equal or greater than %2 facet of base type.</source>
+ <translation>Wartość aspektu %1 musi większa od lub równa wartości aspektu %2 typu podstawowego.</translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet of base type.</source>
+ <translation>Wartość aspektu %1 musi być mniejsza od lub równa wartości aspektu %2 typu podstawowego.</translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid regular expression</source>
+ <translation>Aspekt %1 zawiera niepoprawne wyraĹĽenie regularne</translation>
+ </message>
+ <message>
+ <source>Unknown notation %1 used in %2 facet.</source>
+ <translation>Nieznany zapis %1 uĹĽyty w aspekcie %2.</translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid value %2: %3.</source>
+ <translation>Aspekt %1 zawiera niepoprawną wartość %2: %3.</translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet.</source>
+ <translation>Wartość aspektu %1 musi być mniejsza od lub równa wartości aspektu %2.</translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet of base type.</source>
+ <translation>Wartość aspektu %1 musi być mniejsza od wartości aspektu %2 typu podstawowego.</translation>
+ </message>
+ <message>
+ <source>%1 facet and %2 facet cannot appear together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than %2 facet of base type.</source>
+ <translation>Wartość aspektu %1 musi być większa od wartości aspektu %2 typu podstawowego.</translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet.</source>
+ <translation>Wartość aspektu %1 musi być mniejsza od wartości aspektu %2.</translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than or equal to %2 facet of base type.</source>
+ <translation>Wartość aspektu %1 musi być większa od lub równa wartości aspektu %2 typu podstawowego.</translation>
+ </message>
+ <message>
+ <source>Simple type contains not allowed facet %1.</source>
+ <translation>Typ prosty zawiera niedozwolony aspekt %1.</translation>
+ </message>
+ <message>
+ <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only %1 and %2 facets are allowed when derived by union.</source>
+ <translation>Dozwolone sÄ… jedynie aspekty %1 i %2 podczas wywodzenia z unii.</translation>
+ </message>
+ <message>
+ <source>%1 contains %2 facet with invalid data: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 twice.</source>
+ <translation>Grupa atrybutĂłw %1 zawiera dwukrotnie atrybut %2.</translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
+ <translation>Grupa atrybutów %1 zawiera dwa różne atrybuty których typy są wywiedzione z %2.</translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation>Grupa atrybutów %1 zawiera atrybut %2 który ma ograniczenie wartości ale typ wywodzi się z %3.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 twice.</source>
+ <translation>Typ złożony %1 zawiera atrybut %2 dwukrotnie.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
+ <translation>Typ złożony %1 zawiera dwa różne atrybuty których typy są wywiedzione z %2.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation>Typ złożony %1 zawiera atrybut %2 który ma ograniczenie wartości ale typ wywodzi się z %3.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
+ <translation>Element %1 nie może zawierać ograniczenia wartości gdy jego typ podstawowy jest złożony.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
+ <translation>Element %1 nie może zawierać ograniczenia wartości gdy jego typ jest wywiedziony z %2.</translation>
+ </message>
+ <message>
+ <source>Value constraint of element %1 is not of elements type: %2.</source>
+ <translation>Ograniczenie wartości elementu %1 nie jest typu: %2.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
+ <translation>Element %1 nie może przynależeć do grupy zastępującej ponieważ nie jest on elementem globalnym.</translation>
+ </message>
+ <message>
+ <source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
+ <translation>Typ elementu %1 nie może być wywiedziony z typu przynależnego do grupy zastępującej.</translation>
+ </message>
+ <message>
+ <source>Value constraint of attribute %1 is not of attributes type: %2.</source>
+ <translation>Ograniczenie wartości atrybutu %1 nie jest typu: %2.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 has value constraint but has type derived from %2.</source>
+ <translation>Atrybut %1 posiada ograniczenie wartości lecz jego typ wywodzi się z %2.</translation>
+ </message>
+ <message>
+ <source>%1 attribute in derived complex type must be %2 like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
+ <translation>Atrybut %1 w wywiedzionym typie złożonym musi zawierać ograniczenie wartości %2 jak w typie podstawowym.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
+ <translation>Atrybut %1 w wywiedzionym typie złożonym musi zawierać te same ograniczenie wartości %2 jak w typie podstawowym.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint.</source>
+ <translation>Atrybut %1 w wywiedzionym typie złożonym musi zawierać ograniczenie wartości %2.</translation>
+ </message>
+ <message>
+ <source>processContent of base wildcard must be weaker than derived wildcard.</source>
+ <translation>&quot;processContent&quot; podstawowego dżokera musi być słabszy od wywiedzionego dżokera.</translation>
+ </message>
+ <message>
+ <source>Element %1 exists twice with different types.</source>
+ <translation>Istnieją dwa elementy %1 o różnych typach.</translation>
+ </message>
+ <message>
+ <source>Particle contains non-deterministic wildcards.</source>
+ <translation>Element zawiera nieokreślone dżokery.</translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but derived attribute is not.</source>
+ <translation>Wymagany jest bazowy atrybut %1, wywiedziony zaĹ› nie.</translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
+ <translation>Typ wywiedzionego atrybutu %1 nie może być poprawnie wywiedziony z typu podstawowego atrybutu.</translation>
+ </message>
+ <message>
+ <source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
+ <translation>Ograniczenie wartości wywiedzionego atrybutu %1 nie pasuje do ograniczenia wartości podstawowego atrybutu.</translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not exist in the base definition.</source>
+ <translation>Wywiedziony atrybut %1 nie istnieje w podstawowej definicji.</translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not match the wildcard in the base definition.</source>
+ <translation>Wywiedziony atrybut %1 nie pasuje do dĹĽokera w podstawowej definicji.</translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but missing in derived definition.</source>
+ <translation>Brak wymaganego bazowego atrybutu %1 w wywiedzionej definicji.</translation>
+ </message>
+ <message>
+ <source>Derived definition contains an %1 element that does not exists in the base definition</source>
+ <translation>Wywiedziona definicja zawiera element %1 ktĂłry nie istnieje w definicji podstawowej</translation>
+ </message>
+ <message>
+ <source>Derived wildcard is not a subset of the base wildcard.</source>
+ <translation>Wywiedziony dĹĽoker nie jest podzbiorem podstawowego dĹĽokera.</translation>
+ </message>
+ <message>
+ <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
+ <translation>%1 wywiedzionego dĹĽokera nie jest poprawnym ograniczeniem %2 podstawowego dĹĽokera</translation>
+ </message>
+ <message>
+ <source>Attribute %1 from base type is missing in derived type.</source>
+ <translation>Brak atrybutu %1 typu bazowego w wywiedzionej definicji.</translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 differs from type of base attribute.</source>
+ <translation>Typ wywiedzionego atrybutu %1 różni się od typu podstawowego atrybutu.</translation>
+ </message>
+ <message>
+ <source>Base definition contains an %1 element that is missing in the derived definition</source>
+ <translation>Podstawowa definicja zawiera element %1 ktĂłrego brakuje w wywiedzionej definicji</translation>
+ </message>
+ <message>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translation>%1 odwołuje się do nieznanego elementu %2 lub %3: %4.</translation>
+ </message>
+ <message>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation>%1 odwołuje się do narzucenia niepowtarzalności %2 które nie jest elementem %3 ani %4.</translation>
+ </message>
+ <message>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation>%1 posiada inna liczbę pól od narzucenia niepowtarzalności %2 które się do niego odwołuje.</translation>
+ </message>
+ <message>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation>Nie można rozwiązać typu podstawowego %1 elementu %2.</translation>
+ </message>
+ <message>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation>Nie można rozwiązać typu elementów listy %1 w elemencie %2.</translation>
+ </message>
+ <message>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation>Nie można rozwiązać typu %1 składnika elementu %2.</translation>
+ </message>
+ <message>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation>Nie można rozwiązać typu %1 elementu %2.</translation>
+ </message>
+ <message>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation>Nie można rozwiązać typu podstawowego %1 dla typu złożonego.</translation>
+ </message>
+ <message>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation>Model zawartości typu złożonego %1 posiada element %2 więc nie może być on wywiedziony poprzez rozszerzenie niepustego typu.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation>Typ złożony %1 nie może być wywiedziony z %2 poprzez rozszerzenie ponieważ ten ostatni zawiera element %3 w jego modelu zawartości.</translation>
+ </message>
+ <message>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation>Typem elementu %1 musi być typ prosty, %2 nim nie jest.</translation>
+ </message>
+ <message>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation>Nie można rozwiązać grupy zastępującej %1 elementu %2.</translation>
+ </message>
+ <message>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation>Grupa zastępująca %1 posiada cykliczną definicję.</translation>
+ </message>
+ <message>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation>Powielona nazwa elementu %1 w elemencie %2.</translation>
+ </message>
+ <message>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation>Nie można rozwiązać odwołania %1 do elementu %2.</translation>
+ </message>
+ <message>
+ <source>Circular group reference for %1.</source>
+ <translation>Cykliczne odwołanie do grupy dla %1.</translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this scope</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation>Atrybut %1 lub %2 odwołania %3 nie pasuje do deklaracji atrybutu %4.</translation>
+ </message>
+ <message>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation>Grupa atrybutów %1 posiada cykliczne odwołanie.</translation>
+ </message>
+ <message>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation>Atrybut dĹĽokera %1 nie jest poprawnym ograniczeniem atrybutu dĹĽokera typu podstawowego %2.</translation>
+ </message>
+ <message>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation>%1 posiada atrybut dĹĽokera lecz jego typ podstawowy %2 go nie posiada.</translation>
+ </message>
+ <message>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation>Nie można wyrazić unii atrybutu dżokera typu %1 i atrybutu dżokera jego typu podstawowego %2.</translation>
+ </message>
+ <message>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation>Aspekt &quot;enumeration&quot; posiada niepoprawną zawartość: {%1} nie jest wartością typu %2.</translation>
+ </message>
+ <message>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation>Przedrostek przestrzeni nazw występujący w pełnej nazwie %1 nie jest zdefiniowany.</translation>
+ </message>
+ <message>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation>Pusty element nie może być wywiedziony z niepustego elementu.</translation>
+ </message>
+ <message>
+ <source>Derived particle is missing element %1.</source>
+ <translation>Brak elementu %1 w wywiedzionym elemencie.</translation>
+ </message>
+ <message>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation>Brak ograniczenia wartości w wywiedzionym elemencie %1 takiego jak w podstawowym elemencie.</translation>
+ </message>
+ <message>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation>Wywiedziony element %1 posiada słabsze ograniczenie wartości niż element podstawowy.</translation>
+ </message>
+ <message>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation>Ograniczenie stałej wartości elementu %1 różni się od ograniczenia wartości w podstawowym elemencie.</translation>
+ </message>
+ <message>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation>Wywiedziony element %1 może być zerowalny ponieważ element podstawowy nie jest zerowalny.</translation>
+ </message>
+ <message>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation>Ograniczenia blokujące dla wywiedzionego elementu %1 nie mogą być słabsze od ograniczeń w elemencie podstawowym.</translation>
+ </message>
+ <message>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation>Typ prosty w elemencie wywiedzionym %1 nie może być poprawnie wywiedziony z elementu podstawowego.</translation>
+ </message>
+ <message>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation>Typ złożony w elemencie wywiedzionym %1 nie może być poprawnie wywiedziony z elementu podstawowego.</translation>
+ </message>
+ <message>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation>Brak elementu %1 w wywiedzionym elemencie.</translation>
+ </message>
+ <message>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation>Element %1 nie pasuje do ograniczenia przestrzeni nazw dĹĽokera w elemencie podstawowym.</translation>
+ </message>
+ <message>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation>DĹĽoker w wywiedzionym elemencie nie jest poprawnym podzbiorem dĹĽokera w elemencie podstawowym.</translation>
+ </message>
+ <message>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation>&quot;processContent&quot; dżokera w wywiedzionym elemencie jest słabszy od dżokera w podstawowym elemencie.</translation>
+ </message>
+ <message>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation>Wywiedziony element pozwala na zawartość która jest niedozwolona w podstawowym elemencie.</translation>
+ </message>
+ <message>
+ <source>Can not process unknown element %1, expected elements are: %2.</source>
+ <translation>Nie można przetworzyć nieznanego elementu %1, spodziewanymi elementami są: %2.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
+ <translation>Element %1 jest niedozwolony w tym zakresie, moĹĽliwymi elementami sÄ…: %2.</translation>
+ </message>
+ <message>
+ <source>Child element is missing in that scope, possible child elements are: %1.</source>
+ <translation>Brak podelementu w tym zakresie, moĹĽliwymi podelementami sÄ…: %1.</translation>
+ </message>
+ <message>
+ <source>Document is not a XML schema.</source>
+ <translation>Dokument nie jest schematem XML.</translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3}.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
+ <translation>Docelowa przestrzeń nazw %1 załączonego schematu jest różna od docelowej przestrzeni nazw %2 która jest zdefiniowana w schemacie załączającym.</translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
+ <translation>Docelowa przestrzeń nazw %1 zaimportowanego schematu jest różna od docelowej przestrzeni nazw %2 która jest zdefiniowana w schemacie importującym.</translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element has neither %2 attribute nor %3 child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element with %2 child element must not have a %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must be %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must not have %2 and %3 attribute together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
+ <translation>Zawartość atrybutu %1 elementu %2 nie może pochodzić z przestrzeni nazw %3.</translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must not be %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
+ <translation>Podawanie: use=&apos;prohibited&apos; wewnÄ…trz grupy atrybutĂłw nie przynosi ĹĽadnego efektu.</translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element requires either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Text or entity references not allowed inside %1 element</source>
+ <translation>Tekst ani odwołanie nie są dozwolone wewnątrz elementu %1</translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this context.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element has larger value than %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Prefix of qualified name %1 is not defined.</source>
+ <translation>Przedrostek w pełnej nazwie %1 nie jest zdefiniowany.</translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must either contain %3 or the other values.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Component with ID %1 has been defined previously.</source>
+ <translation>Komponent o identyfikatorze %1 został uprzednio zdefiniowany.</translation>
+ </message>
+ <message>
+ <source>Element %1 already defined.</source>
+ <translation>Element %1 jest juĹĽ zdefiniowany.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 already defined.</source>
+ <translation>Atrybut %1 jest juĹĽ zdefiniowany.</translation>
+ </message>
+ <message>
+ <source>Type %1 already defined.</source>
+ <translation>Typ %1 jest juĹĽ zdefiniowany.</translation>
+ </message>
+ <message>
+ <source>Attribute group %1 already defined.</source>
+ <translation>Grupa atrybutĂłw %1 jest juĹĽ zdefiniowana.</translation>
+ </message>
+ <message>
+ <source>Element group %1 already defined.</source>
+ <translation>Grupa elementĂłw %1 jest juĹĽ zdefiniowana.</translation>
+ </message>
+ <message>
+ <source>Notation %1 already defined.</source>
+ <translation>Zapis %1 jest juĹĽ zdefiniowany.</translation>
+ </message>
+ <message>
+ <source>Identity constraint %1 already defined.</source>
+ <translation>Narzucenie niepowtarzalności %1 jest już zdefiniowane.</translation>
+ </message>
+ <message>
+ <source>Duplicated facets in simple type %1.</source>
+ <translation>Powielone aspekty w prostym typie %1.</translation>
+ </message>
+ <message>
+ <source>%1 is not valid according to %2.</source>
+ <translation>%1 nie jest poprawne według %2.</translation>
+ </message>
+ <message>
+ <source>String content does not match the length facet.</source>
+ <translation>Wartość ciągu koliduje z aspektem &quot;length&quot;.</translation>
+ </message>
+ <message>
+ <source>String content does not match the minLength facet.</source>
+ <translation>Wartość ciągu koliduje z aspektem &quot;minLength&quot;.</translation>
+ </message>
+ <message>
+ <source>String content does not match the maxLength facet.</source>
+ <translation>Wartość ciągu koliduje z aspektem &quot;maxLength&quot;.</translation>
+ </message>
+ <message>
+ <source>String content does not match pattern facet.</source>
+ <translation>Wartość ciągu koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>String content is not listed in the enumeration facet.</source>
+ <translation>Wartość ciągu nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxInclusive facet.</source>
+ <translation>Wartość liczby całkowitej koliduje z aspektem &quot;maxInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxExclusive facet.</source>
+ <translation>Wartość liczby całkowitej koliduje z aspektem &quot;maxExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minInclusive facet.</source>
+ <translation>Wartość liczby całkowitej koliduje z aspektem &quot;minInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minExclusive facet.</source>
+ <translation>Wartość liczby całkowitej koliduje z aspektem &quot;minExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Signed integer content is not listed in the enumeration facet.</source>
+ <translation>Wartość liczby całkowitej nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match pattern facet.</source>
+ <translation>Wartość liczby całkowitej koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match in the totalDigits facet.</source>
+ <translation>Wartość liczby całkowitej koliduje z aspektem &quot;totalDigits&quot;.</translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxInclusive facet.</source>
+ <translation>Wartość liczby naturalnej koliduje z aspektem &quot;maxInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxExclusive facet.</source>
+ <translation>Wartość liczby naturalnej koliduje z aspektem &quot;maxExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minInclusive facet.</source>
+ <translation>Wartość liczby naturalnej koliduje z aspektem &quot;minInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minExclusive facet.</source>
+ <translation>Wartość liczby naturalnej koliduje z aspektem &quot;minExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Unsigned integer content is not listed in the enumeration facet.</source>
+ <translation>Wartość liczby naturalnej nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match pattern facet.</source>
+ <translation>Wartość liczby naturalnej koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match in the totalDigits facet.</source>
+ <translation>Wartość liczby naturalnej koliduje z aspektem &quot;totalDigits&quot;.</translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxInclusive facet.</source>
+ <translation>Wartość liczby rzeczywistej koliduje z aspektem &quot;maxInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxExclusive facet.</source>
+ <translation>Wartość liczby rzeczywistej koliduje z aspektem &quot;maxExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Double content does not match the minInclusive facet.</source>
+ <translation>Wartość liczby rzeczywistej koliduje z aspektem &quot;minInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Double content does not match the minExclusive facet.</source>
+ <translation>Wartość liczby rzeczywistej koliduje z aspektem &quot;minExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Double content is not listed in the enumeration facet.</source>
+ <translation>Wartość liczby rzeczywistej nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Double content does not match pattern facet.</source>
+ <translation>Wartość liczby rzeczywistej koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the fractionDigits facet.</source>
+ <translation>Wartość liczby rzeczywistej koliduje z aspektem &quot;fractionDigits&quot;.</translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the totalDigits facet.</source>
+ <translation>Wartość liczby rzeczywistej koliduje z aspektem &quot;totalDigits&quot;.</translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxInclusive facet.</source>
+ <translation>Zawartość daty i czasu koliduje z aspektem &quot;maxInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxExclusive facet.</source>
+ <translation>Zawartość daty i czasu koliduje z aspektem &quot;maxExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minInclusive facet.</source>
+ <translation>Zawartość daty i czasu koliduje z aspektem &quot;minInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minExclusive facet.</source>
+ <translation>Zawartość daty i czasu koliduje z aspektem &quot;minExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Date time content is not listed in the enumeration facet.</source>
+ <translation>Zawartość daty i czasu nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Date time content does not match pattern facet.</source>
+ <translation>Zawartość daty i czasu koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxInclusive facet.</source>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;maxInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxExclusive facet.</source>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;maxExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minInclusive facet.</source>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;minInclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minExclusive facet.</source>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;minExclusive&quot;.</translation>
+ </message>
+ <message>
+ <source>Duration content is not listed in the enumeration facet.</source>
+ <translation>Wartość długości okresu czasu nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Duration content does not match pattern facet.</source>
+ <translation>Wartość długości okresu czasu koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Boolean content does not match pattern facet.</source>
+ <translation>Wartość boolowska koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Binary content does not match the length facet.</source>
+ <translation>Wartość binarna koliduje z aspektem &quot;length&quot;.</translation>
+ </message>
+ <message>
+ <source>Binary content does not match the minLength facet.</source>
+ <translation>Wartość binarna koliduje z aspektem &quot;minLength&quot;.</translation>
+ </message>
+ <message>
+ <source>Binary content does not match the maxLength facet.</source>
+ <translation>Wartość binarna koliduje z aspektem &quot;maxLength&quot;.</translation>
+ </message>
+ <message>
+ <source>Binary content is not listed in the enumeration facet.</source>
+ <translation>Wartość binarna nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Invalid QName content: %1.</source>
+ <translation>Niepoprawna zawartość QName: %1.</translation>
+ </message>
+ <message>
+ <source>QName content is not listed in the enumeration facet.</source>
+ <translation>Zawartość QName nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>QName content does not match pattern facet.</source>
+ <translation>Zawartość QName koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Notation content is not listed in the enumeration facet.</source>
+ <translation>Zapis zawartości nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>List content does not match length facet.</source>
+ <translation>Zawartość listy koliduje z aspektem &quot;length&quot;.</translation>
+ </message>
+ <message>
+ <source>List content does not match minLength facet.</source>
+ <translation>Zawartość listy koliduje z aspektem &quot;minLength&quot;.</translation>
+ </message>
+ <message>
+ <source>List content does not match maxLength facet.</source>
+ <translation>Zawartość listy koliduje z aspektem &quot;maxLength&quot;.</translation>
+ </message>
+ <message>
+ <source>List content is not listed in the enumeration facet.</source>
+ <translation>Zawartość listy nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>List content does not match pattern facet.</source>
+ <translation>Zawartość listy koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Union content is not listed in the enumeration facet.</source>
+ <translation>Zawartość unii nie widnieje na liście aspektu &quot;enumeration&quot;.</translation>
+ </message>
+ <message>
+ <source>Union content does not match pattern facet.</source>
+ <translation>Zawartość unii koliduje z aspektem &quot;pattern&quot;.</translation>
+ </message>
+ <message>
+ <source>Data of type %1 are not allowed to be empty.</source>
+ <translation>Dane typu %1 nie mogą być puste.</translation>
+ </message>
+ <message>
+ <source>Element %1 is missing child element.</source>
+ <translation>Brak wymaganego podelementu w elemencie %1.</translation>
+ </message>
+ <message>
+ <source>There is one IDREF value with no corresponding ID: %1.</source>
+ <translation>Istnieje wartość IDREF bez odpowiadającej jej wartości ID: %1.</translation>
+ </message>
+ <message>
+ <source>Loaded schema file is invalid.</source>
+ <translation>Załadowany plik nie jest poprawnym plikiem ze schematem.</translation>
+ </message>
+ <message>
+ <source>%1 contains invalid data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
+ <translation>Przestrzeń nazw &quot;xsi:schemaLocation&quot; %1 wystąpiła już wcześniej w dokumencie.</translation>
+ </message>
+ <message>
+ <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
+ <translation>&quot;xsi:noNamespaceSchemaLocation&quot; nie może wystąpić po pierwszym elemencie lub atrybucie który nie jest przestrzenią nazw.</translation>
+ </message>
+ <message>
+ <source>No schema defined for validation.</source>
+ <translation>Brak zdefiniowanego schematu dla walidacji.</translation>
+ </message>
+ <message>
+ <source>No definition for element %1 available.</source>
+ <translation>Brak dostępnej definicji dla elementu %1.</translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not known to the schema.</source>
+ <translation>Podany typ %1 nie jest schematowi znany.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not defined in this scope.</source>
+ <translation>Element %1 nie jest zdefiniowany w tym zakresie.</translation>
+ </message>
+ <message>
+ <source>Declaration for element %1 does not exist.</source>
+ <translation>Brak deklaracji dla elementu %1.</translation>
+ </message>
+ <message>
+ <source>Element %1 contains invalid content.</source>
+ <translation>Element %1 posiada niepoprawną zawartość.</translation>
+ </message>
+ <message>
+ <source>Element %1 is declared as abstract.</source>
+ <translation>Element %1 jest zadeklarowany jako abstrakcyjny.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not nillable.</source>
+ <translation>Element %1 nie jest zerowalny.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid data: %2</source>
+ <translation>Atrybut %1 zawiera niepoprawne dane: %2</translation>
+ </message>
+ <message>
+ <source>Element contains content although it is nillable.</source>
+ <translation>Element posiada zawartość chociaż jest zerowalny.</translation>
+ </message>
+ <message>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
+ <translation>Ograniczenie stałej wartości jest niedozwolone gdy element jest zerowalny.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation>Element %1 nie może zawierać innych elementów ponieważ posiada on stałą zawartość.</translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not validly substitutable with element type %2.</source>
+ <translation>Podany typ %1 nie jest poprawnie zastępowalny typem elementu %2.</translation>
+ </message>
+ <message>
+ <source>Complex type %1 is not allowed to be abstract.</source>
+ <translation>Typ złożony %1 nie może być abstrakcyjny.</translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed attributes.</source>
+ <translation>Element %1 zawiera niedozwolone atrybuty.</translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child element.</source>
+ <translation>Element %1 zawiera niedozwolony podelement.</translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match its type definition: %2.</source>
+ <translation>Zawartość elementu %1 nie pasuje do jego definicji typu: %2.</translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match defined value constraint.</source>
+ <translation>Zawartość elementu %1 nie pasuje do zdefiniowanego ograniczenia wartości.</translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child content.</source>
+ <translation>Element %1 zawiera niedozwolony podelement.</translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed text content.</source>
+ <translation>Element %1 zawiera niedozwolony text.</translation>
+ </message>
+ <message>
+ <source>Element %1 is missing required attribute %2.</source>
+ <translation>Brak wymaganego atrybutu %2 w elemencie %1.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 does not match the attribute wildcard.</source>
+ <translation>Atrybut %1 nie pasuje do atrybutu dĹĽokera.</translation>
+ </message>
+ <message>
+ <source>Declaration for attribute %1 does not exist.</source>
+ <translation>Brak deklaracji atrybutu %1.</translation>
+ </message>
+ <message>
+ <source>Element %1 contains two attributes of type %2.</source>
+ <translation>Element %1 posiada dwa atrybuty typu %2.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid content.</source>
+ <translation>Atrybut %1 posiada niepoprawną zawartość.</translation>
+ </message>
+ <message>
+ <source>Element %1 contains unknown attribute %2.</source>
+ <translation>Element %1 posiada nieznany atrybut %2.</translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match its type definition: %2.</source>
+ <translation>Zawartość atrybutu %1 nie pasuje do jego definicji typu: %2.</translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match defined value constraint.</source>
+ <translation>Zawartość elementu %1 nie pasuje do zdefiniowanego ograniczenia wartości.</translation>
+ </message>
+ <message>
+ <source>Non-unique value found for constraint %1.</source>
+ <translation>Znaleziono nieunikatową wartość dla ograniczenia %1.</translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains absent fields.</source>
+ <translation>Ograniczenie klucza %1 zawiera nieobecne pola.</translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains references nillable element %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No referenced value found for key reference %1.</source>
+ <translation>Brak wartości do której odwołuje się klucz %1.</translation>
+ </message>
+ <message>
+ <source>More than one value found for field %1.</source>
+ <translation>Znaleziono więcej niż jedną wartość dla pola %1.</translation>
+ </message>
+ <message>
+ <source>Field %1 has no simple type.</source>
+ <translation>Pole %1 nie posiada prostego typu.</translation>
+ </message>
+ <message>
+ <source>ID value &apos;%1&apos; is not unique.</source>
+ <translation>Wartość ID &quot;%1&quot; nie jest unikatowa.</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_ru_symbian.ts b/config.profiles/symbian/translations/qt_ru_symbian.ts
new file mode 100644
index 0000000..08b201e
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_ru_symbian.ts
@@ -0,0 +1,8522 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TS>
+
+<TS version="2.0" language="ru">
+ <context>
+ <name>CloseButton</name>
+ <message>
+ <source>Close Tab</source>
+ <translation>Закрыть вкладкŃ</translation>
+ </message>
+ </context>
+ <context>
+ <name>FakeReply</name>
+ <message>
+ <source>Fake error !</source>
+ <translation>ĐžŃибка: фальŃивый!</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>Некорректный URL</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::</name>
+ <message>
+ <source>Notifications</source>
+ <translation>Уведомления</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>ĐśŃзыка</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Видео</translation>
+ </message>
+ <message>
+ <source>Communication</source>
+ <translation>Общение</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Đгры</translation>
+ </message>
+ <message>
+ <source>Accessibility</source>
+ <translation>Специальные возможноŃти</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::AudioOutput</name>
+ <message>
+ <source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;ЗвŃковое ŃŃтройŃтво &lt;b&gt;%1&lt;/b&gt; не работает.&lt;br/&gt;Đ‘Ńдет иŃпользоватьŃŃŹ &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Переключение на звŃковое ŃŃтройŃтво &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;, которое Đ´ĐľŃŃ‚Ńпно и имеет выŃŃий приоритет.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation>Возвращение Đş ŃŃтройŃŃ‚Đ˛Ń &apos;%1&apos;</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::Backend</name>
+ <message>
+ <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
+ Some video features have been disabled.</source>
+ <translation>Внимание: Похоже, пакет gstreamer0.10-plugins-good не ŃŃтановлен.
+ Некоторые возможноŃти воŃпроизведения видео недоŃŃ‚Ńпны.</translation>
+ </message>
+ <message>
+ <source>Warning: You do not seem to have the base GStreamer plugins installed.
+ All audio and video support has been disabled</source>
+ <translation>Внимание: Похоже, ĐľŃновной модŃль GStreamer не ŃŃтановлен.
+ Поддержка видео и Đ°Ńдио отключена</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::MediaObject</name>
+ <message>
+ <source>Cannot start playback.
+
+Check your GStreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
+ <translation>ОтŃŃŃ‚ŃтвŃет необходимый кодек. Đ’Đ°ĐĽ Đ˝Ńжно ŃŃтановить ŃледŃющие кодеки для воŃпроизведения данного Ńодержимого: %0</translation>
+ </message>
+ <message>
+ <source>Could not open media source.</source>
+ <translation>Не ŃдалоŃŃŚ открыть иŃточник медиа-данных.</translation>
+ </message>
+ <message>
+ <source>Invalid source type.</source>
+ <translation>Неверный тип иŃточника медиа-данных.</translation>
+ </message>
+ <message>
+ <source>Could not locate media source.</source>
+ <translation>Не ŃдалоŃŃŚ найти иŃточник медиа-данных.</translation>
+ </message>
+ <message>
+ <source>Could not open audio device. The device is already in use.</source>
+ <translation>Не ŃдалоŃŃŚ открыть звŃковое ŃŃтройŃтво. ĐŁŃтройŃтво Ńже иŃпользŃетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>Could not decode media source.</source>
+ <translation>Не ŃдалоŃŃŚ декодировать иŃточник медиа-данных.</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF</name>
+ <message>
+ <source>Audio Output</source>
+ <translation>Đ’ĐľŃпроизведение звŃка</translation>
+ </message>
+ <message>
+ <source>The audio output device</source>
+ <translation>ĐŁŃтройŃтво воŃпроизведения звŃка</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Нет ĐľŃибки</translation>
+ </message>
+ <message>
+ <source>Not found</source>
+ <translation>Не найдено</translation>
+ </message>
+ <message>
+ <source>Out of memory</source>
+ <translation>НедоŃтаточно памяти</translation>
+ </message>
+ <message>
+ <source>Not supported</source>
+ <translation>Не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Overflow</source>
+ <translation>Переполнение</translation>
+ </message>
+ <message>
+ <source>Underflow</source>
+ <translation>Потеря значимоŃти</translation>
+ </message>
+ <message>
+ <source>Already exists</source>
+ <translation>Уже ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>Path not found</source>
+ <translation>ĐźŃŃ‚ŃŚ не найден</translation>
+ </message>
+ <message>
+ <source>In use</source>
+ <translation>ĐŃпользŃетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Not ready</source>
+ <translation>Не готово</translation>
+ </message>
+ <message>
+ <source>Access denied</source>
+ <translation>ДоŃŃ‚ŃĐż запрещен</translation>
+ </message>
+ <message>
+ <source>Could not connect</source>
+ <translation>Подключение невозможно</translation>
+ </message>
+ <message>
+ <source>Disconnected</source>
+ <translation>Разъединено</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>Отказано в разреŃении</translation>
+ </message>
+ <message>
+ <source>Insufficient bandwidth</source>
+ <translation>НедоŃтаточная ŃкороŃŃ‚ŃŚ передачи</translation>
+ </message>
+ <message>
+ <source>Network unavailable</source>
+ <translation>Сеть недоŃŃ‚Ńпна</translation>
+ </message>
+ <message>
+ <source>Network communication error</source>
+ <translation>Сетевая ĐľŃибка Ńвязи</translation>
+ </message>
+ <message>
+ <source>Streaming not supported</source>
+ <translation>Потоки не поддерживаютŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Server alert</source>
+ <translation>Сигнал Ńервера</translation>
+ </message>
+ <message>
+ <source>Invalid protocol</source>
+ <translation>Неверный протокол</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>Неверный Đ°Đ´Ń€ĐµŃ URL</translation>
+ </message>
+ <message>
+ <source>Multicast error</source>
+ <translation>ĐžŃибка грŃпповой передачи</translation>
+ </message>
+ <message>
+ <source>Proxy server error</source>
+ <translation>ĐžŃибка прокŃи-Ńервера</translation>
+ </message>
+ <message>
+ <source>Proxy server not supported</source>
+ <translation>ПрокŃи-Ńервер не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Audio output error</source>
+ <translation>ĐžŃибка вывода Đ°Ńдио</translation>
+ </message>
+ <message>
+ <source>Video output error</source>
+ <translation>ĐžŃибка вывода видео</translation>
+ </message>
+ <message>
+ <source>Decoder error</source>
+ <translation>ĐžŃибка декодера</translation>
+ </message>
+ <message>
+ <source>Audio or video components could not be played</source>
+ <translation>Невозможно воŃпроизвеŃти Đ°Ńдио или видеокомпоненты</translation>
+ </message>
+ <message>
+ <source>DRM error</source>
+ <translation>ĐžŃибка DRM</translation>
+ </message>
+ <message>
+ <source>Unknown error (%1)</source>
+ <translation>НеизвеŃтная ĐľŃибка (%1)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <source>Not ready to play</source>
+ <translation>Не готов Đş воŃпроизведению</translation>
+ </message>
+ <message>
+ <source>Error opening file</source>
+ <translation>ĐžŃибка при открытии файла</translation>
+ </message>
+ <message>
+ <source>Error opening URL</source>
+ <translation>ĐžŃибка при открытии адреŃĐ° URL</translation>
+ </message>
+ <message>
+ <source>Setting volume failed</source>
+ <translation>Сбой при наŃтройке громкоŃти</translation>
+ </message>
+ <message>
+ <source>Playback complete</source>
+ <translation>Đ’ĐľŃпроизведение заверŃено</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <source>%1 Hz</source>
+ <translation>%1 Гц</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <source>Getting position failed</source>
+ <translation>Сбой определения позиции</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>Сбой при открытии клипа</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <source>Enabled</source>
+ <translation>Включено</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <source>Decay HF ratio (%)</source>
+ <translation>Коэффициент Đ·Đ°Ń‚Ńхания ВЧ (%)</translation>
+ </message>
+ <message>
+ <source>Decay time (ms)</source>
+ <translation>Время Đ·Đ°Ń‚Ńхания (ĐĽŃ)</translation>
+ </message>
+ <message>
+ <source>Density (%)</source>
+ <translation>ПлотноŃŃ‚ŃŚ (%)</translation>
+ </message>
+ <message>
+ <source>Diffusion (%)</source>
+ <translation>Đ Đ°ŃŃеяние (%)</translation>
+ </message>
+ <message>
+ <source>Reflections delay (ms)</source>
+ <translation>Đ—Đ°Ń‚Ńхание отражений (ĐĽŃ)</translation>
+ </message>
+ <message>
+ <source>Reflections level (mB)</source>
+ <translation>Уровень отражений (Мбит)</translation>
+ </message>
+ <message>
+ <source>Reverb delay (ms)</source>
+ <translation>Задержка реверберации (ĐĽŃ)</translation>
+ </message>
+ <message>
+ <source>Reverb level (mB)</source>
+ <translation>Уровень реверберации (Мбит)</translation>
+ </message>
+ <message>
+ <source>Room HF level</source>
+ <translation>Уровень ВЧ помещения</translation>
+ </message>
+ <message>
+ <source>Room level (mB)</source>
+ <translation>Уровень помещения (Мбит)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <source>Error opening source: type not supported</source>
+ <translation>ĐžŃибка при открытии иŃточника: тип не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>ĐžŃибка при открытии иŃточника: тип ноŃителя определить невозможно</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <source>Level (%)</source>
+ <translation>Уровень (%)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation>Сбой паŃĐ·Ń‹</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation>Сбой при поиŃке</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation>Сбой определения позиции</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>Сбой при открытии клипа</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation>Сбой при бŃферизации клипа</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation>ĐžŃибка отображения видео</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::VolumeSlider</name>
+ <message>
+ <source>Volume: %1%</source>
+ <translation>ГромкоŃŃ‚ŃŚ: %1%</translation>
+ </message>
+ <message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <translation>ĐŃпользŃйте данный ползŃнок для наŃтройки громкоŃти. Крайнее левое положение ŃоответŃтвŃет 0%, крайнее правое - %1%</translation>
+ </message>
+ <message>
+ <source>Muted</source>
+ <translation>Без звŃка</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Accel</name>
+ <message>
+ <source>%1, %2 not defined</source>
+ <translation>%1, %2 не определён</translation>
+ </message>
+ <message>
+ <source>Ambiguous %1 not handled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3DataTable</name>
+ <message>
+ <source>True</source>
+ <translation>Да</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Đ’Ńтавить</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>Обновить</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Удалить</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3FileDialog</name>
+ <message>
+ <source>Copy or Move a File</source>
+ <translation>Копировать или перемеŃтить файл</translation>
+ </message>
+ <message>
+ <source>Read: %1</source>
+ <translation>Чтение: %1</translation>
+ </message>
+ <message>
+ <source>Write: %1</source>
+ <translation>ЗапиŃŃŚ: %1</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>All Files (*)</source>
+ <translation>Đ’Ńе файлы (*)</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>ĐĐĽŃŹ</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Размер</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>Тип</translation>
+ </message>
+ <message>
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <source>Attributes</source>
+ <translation>ĐтрибŃŃ‚Ń‹</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;ОК</translation>
+ </message>
+ <message>
+ <source>Look &amp;in:</source>
+ <translation>&amp;Папка:</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>&amp;ĐĐĽŃŹ файла:</translation>
+ </message>
+ <message>
+ <source>File &amp;type:</source>
+ <translation>&amp;Тип файла:</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>Назад</translation>
+ </message>
+ <message>
+ <source>One directory up</source>
+ <translation>Вверх на один Ńровень</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>Создать папкŃ</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>СпиŃок</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>Подробный вид</translation>
+ </message>
+ <message>
+ <source>Preview File Info</source>
+ <translation>ПредпроŃмотр информации Đľ файле</translation>
+ </message>
+ <message>
+ <source>Preview File Contents</source>
+ <translation>ПредпроŃмотр Ńодержимого файла</translation>
+ </message>
+ <message>
+ <source>Read-write</source>
+ <translation>Чтение и запиŃŃŚ</translation>
+ </message>
+ <message>
+ <source>Read-only</source>
+ <translation>Только чтение</translation>
+ </message>
+ <message>
+ <source>Write-only</source>
+ <translation>Только запиŃŃŚ</translation>
+ </message>
+ <message>
+ <source>Inaccessible</source>
+ <translation>Нет Đ´ĐľŃŃ‚Ńпа</translation>
+ </message>
+ <message>
+ <source>Symlink to File</source>
+ <translation>СŃылка на файл</translation>
+ </message>
+ <message>
+ <source>Symlink to Directory</source>
+ <translation>СŃылка на каталог</translation>
+ </message>
+ <message>
+ <source>Symlink to Special</source>
+ <translation>СŃылка на Ńпецфайл</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>Файл</translation>
+ </message>
+ <message>
+ <source>Dir</source>
+ <translation>Каталог</translation>
+ </message>
+ <message>
+ <source>Special</source>
+ <translation>Спецфайл</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>Сохранить как</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>&amp;Открыть</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Сохранить</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Переименовать</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>&amp;Удалить</translation>
+ </message>
+ <message>
+ <source>R&amp;eload</source>
+ <translation>О&amp;бновить</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Name</source>
+ <translation>По &amp;имени</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Size</source>
+ <translation>По &amp;размерŃ</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Date</source>
+ <translation>По &amp;дате</translation>
+ </message>
+ <message>
+ <source>&amp;Unsorted</source>
+ <translation>&amp;Не Ńпорядочивать</translation>
+ </message>
+ <message>
+ <source>Sort</source>
+ <translation>Упорядочить</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>Показать ŃĐş&amp;рытые файлы</translation>
+ </message>
+ <message>
+ <source>the file</source>
+ <translation>файл</translation>
+ </message>
+ <message>
+ <source>the directory</source>
+ <translation>каталог</translation>
+ </message>
+ <message>
+ <source>the symlink</source>
+ <translation>ŃŃылкŃ</translation>
+ </message>
+ <message>
+ <source>Delete %1</source>
+ <translation>Удалить %1</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;Đ’Ń‹ дейŃтвительно хотите Ńдалить %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>&amp;Да</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>&amp;Нет</translation>
+ </message>
+ <message>
+ <source>New Folder 1</source>
+ <translation>Новая папка 1</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>Новая папка</translation>
+ </message>
+ <message>
+ <source>New Folder %1</source>
+ <translation>Новая папка %1</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>Найти каталог</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>Каталоги</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>Каталог:</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>ĐžŃибка</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Check path and filename.</source>
+ <translation>%1
+Файл не найден.
+Проверьте правильноŃŃ‚ŃŚ ĐżŃти и имени файла.</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>Đ’Ńе файлы (*.*)</translation>
+ </message>
+ <message>
+ <source>Open </source>
+ <translation>Открыть </translation>
+ </message>
+ <message>
+ <source>Select a Directory</source>
+ <translation>Выбрать каталог</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3LocalFs</name>
+ <message>
+ <source>Could not read directory
+%1</source>
+ <translation>Не ŃдалоŃŃŚ прочитать каталог
+%1</translation>
+ </message>
+ <message>
+ <source>Could not create directory
+%1</source>
+ <translation>Не ŃдалоŃŃŚ Ńоздать каталог
+%1</translation>
+ </message>
+ <message>
+ <source>Could not remove file or directory
+%1</source>
+ <translation>Не ŃдалоŃŃŚ Ńдалить файл или каталог
+%1</translation>
+ </message>
+ <message>
+ <source>Could not rename
+%1
+to
+%2</source>
+ <translation>Не ŃдалоŃŃŚ переименовать
+%1
+в
+%2</translation>
+ </message>
+ <message>
+ <source>Could not open
+%1</source>
+ <translation>Не ŃдалоŃŃŚ открыть
+%1</translation>
+ </message>
+ <message>
+ <source>Could not write
+%1</source>
+ <translation>Не ŃдалоŃŃŚ запиŃĐ°Ń‚ŃŚ
+%1</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3MainWindow</name>
+ <message>
+ <source>Line up</source>
+ <translation>Выровнять</translation>
+ </message>
+ <message>
+ <source>Customize...</source>
+ <translation>НаŃтроить...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3NetworkProtocol</name>
+ <message>
+ <source>Operation stopped by the user</source>
+ <translation>Операция ĐľŃтановлена пользователем</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TabDialog</name>
+ <message>
+ <source>OK</source>
+ <translation>ОК</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>Применить</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Справка</translation>
+ </message>
+ <message>
+ <source>Defaults</source>
+ <translation>По Ńмолчанию</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TextEdit</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Отменить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;Повторить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>&amp;Вырезать</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>&amp;Копировать</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>Đ’&amp;Ńтавить</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>ОчиŃтить</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>Выделить вŃŃ‘</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TitleBar</name>
+ <message>
+ <source>System</source>
+ <translation>СиŃтемное меню</translation>
+ </message>
+ <message>
+ <source>Restore up</source>
+ <translation>Đ’ĐľŃŃтановить</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>СвернŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Restore down</source>
+ <translation>Đ’ĐľŃŃтановить</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>Đ Đ°ŃпахнŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Contains commands to manipulate the window</source>
+ <translation>Содержит команды Ńправления окном</translation>
+ </message>
+ <message>
+ <source>Puts a minimized window back to normal</source>
+ <translation>Возвращает ŃвёрнŃтое окно в нормальное ŃĐľŃтояние</translation>
+ </message>
+ <message>
+ <source>Moves the window out of the way</source>
+ <translation>Сворачивает окно</translation>
+ </message>
+ <message>
+ <source>Puts a maximized window back to normal</source>
+ <translation>Возвращает раŃпахнŃтое окно в нормальное ŃĐľŃтояние</translation>
+ </message>
+ <message>
+ <source>Makes the window full screen</source>
+ <translation>Разворачивает окно на веŃŃŚ экран</translation>
+ </message>
+ <message>
+ <source>Closes the window</source>
+ <translation>Зыкрывает окно</translation>
+ </message>
+ <message>
+ <source>Displays the name of the window and contains controls to manipulate it</source>
+ <translation>Отображает название окна и Ńодержит команды Ńправления им</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ToolBar</name>
+ <message>
+ <source>More...</source>
+ <translation>БольŃе...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3UrlOperator</name>
+ <message>
+ <source>The protocol `%1&apos; is not supported</source>
+ <translation>Протокол &apos;%1&apos; не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support listing directories</source>
+ <translation>Протокол &apos;%1&apos; не поддерживает проŃмотр каталогов</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support creating new directories</source>
+ <translation>Протокол &apos;%1&apos; не поддерживает Ńоздание каталогов</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support removing files or directories</source>
+ <translation>Протокол &apos;%1&apos; не поддерживает Ńдаление файлов или каталогов</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support renaming files or directories</source>
+ <translation>Протокол &apos;%1&apos; не поддерживает переименование файлов или каталогов</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support getting files</source>
+ <translation>Протокол &apos;%1&apos; не поддерживает Đ´ĐľŃŃ‚Đ°Đ˛ĐşŃ Ń„Đ°ĐąĐ»ĐľĐ˛</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support putting files</source>
+ <translation>Протокол &apos;%1&apos; не поддерживает ĐľŃ‚ĐżŃ€Đ°Đ˛ĐşŃ Ń„Đ°ĐąĐ»ĐľĐ˛</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+ <translation>Протокол &apos;%1&apos; не поддерживает копирование или перемещение файлов или каталогов</translation>
+ </message>
+ <message>
+ <source>(unknown)</source>
+ <translation>(неизвеŃтно)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Wizard</name>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>От&amp;мена</translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation>&lt; &amp;Назад</translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation>&amp;Далее &gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation>&amp;ЗаверŃить</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>&amp;Справка</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSocket</name>
+ <message>
+ <source>Host not found</source>
+ <translation>Узел не найден</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>Отказано в Ńоединении</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Время на Ńоединение иŃтекло</translation>
+ </message>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>Операция Ń Ńокетом не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Socket operation timed out</source>
+ <translation>Время на операцию Ń Ńокетом иŃтекло</translation>
+ </message>
+ <message>
+ <source>Socket is not connected</source>
+ <translation>Сокет не подключён</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>Сеть недоŃŃ‚Ńпна</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSpinBox</name>
+ <message>
+ <source>&amp;Step up</source>
+ <translation>Шаг вв&amp;ерх</translation>
+ </message>
+ <message>
+ <source>Step &amp;down</source>
+ <translation>Шаг вн&amp;из</translation>
+ </message>
+ <message>
+ <source>&amp;Select All</source>
+ <translation>&amp;Выделить вŃŃ‘</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAccessibleButton</name>
+ <message>
+ <source>Press</source>
+ <translation>Нажмите</translation>
+ </message>
+ </context>
+ <context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>LTR</translation>
+ </message>
+ <message>
+ <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+ <translation>Программный модŃль &apos;%1&apos; требŃет Qt %2, найдена верŃия %3.</translation>
+ </message>
+ <message>
+ <source>Incompatible Qt Library Error</source>
+ <translation>ĐžŃибка ŃовмеŃтимоŃти библиотеки Qt</translation>
+ </message>
+ <message>
+ <source>Activate</source>
+ <translation>Đктивировать</translation>
+ </message>
+ <message>
+ <source>Activates the program&apos;s main window</source>
+ <translation>ĐктивирŃет главное окно программы</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAxSelect</name>
+ <message>
+ <source>Select ActiveX Control</source>
+ <translation>Выбор компоненты ActiveX</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>Выбрать</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>От&amp;мена</translation>
+ </message>
+ <message>
+ <source>COM &amp;Object:</source>
+ <translation>&amp;Объект COM:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCheckBox</name>
+ <message>
+ <source>Uncheck</source>
+ <translation>Снять отметкŃ</translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation>Отметить</translation>
+ </message>
+ <message>
+ <source>Toggle</source>
+ <translation>Переключить</translation>
+ </message>
+ </context>
+ <context>
+ <name>QColorDialog</name>
+ <message>
+ <source>Hu&amp;e:</source>
+ <translation>&amp;Тон:</translation>
+ </message>
+ <message>
+ <source>&amp;Sat:</source>
+ <translation>&amp;НаŃ:</translation>
+ </message>
+ <message>
+ <source>&amp;Val:</source>
+ <translation>&amp;Ярк:</translation>
+ </message>
+ <message>
+ <source>&amp;Red:</source>
+ <translation>&amp;КраŃный:</translation>
+ </message>
+ <message>
+ <source>&amp;Green:</source>
+ <translation>&amp;Зелёный:</translation>
+ </message>
+ <message>
+ <source>Bl&amp;ue:</source>
+ <translation>С&amp;иний:</translation>
+ </message>
+ <message>
+ <source>A&amp;lpha channel:</source>
+ <translation>&amp;Đльфа-канал:</translation>
+ </message>
+ <message>
+ <source>Select Color</source>
+ <translation>Выбор цвета</translation>
+ </message>
+ <message>
+ <source>&amp;Basic colors</source>
+ <translation>&amp;ĐžŃновные цвета</translation>
+ </message>
+ <message>
+ <source>&amp;Custom colors</source>
+ <translation>&amp;ПользовательŃкие цвета</translation>
+ </message>
+ <message>
+ <source>&amp;Add to Custom Colors</source>
+ <translation>&amp;Добавить Đş пользовательŃким цветам</translation>
+ </message>
+ </context>
+ <context>
+ <name>QComboBox</name>
+ <message>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <source>True</source>
+ <translation>Да</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCoreApplication</name>
+ <message>
+ <source>%1: key is empty</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: ĐżŃŃтой ключ</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: невозможно Ńоздать ключ</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: ĐľŃибка ftok</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: Ńже ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: does not exist</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: не ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: недоŃтаточно реŃŃŃ€Ńов</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: неизвеŃтная ĐľŃибка %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Driver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Невозможно ŃоединитьŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно отозвать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to set autocommit</source>
+ <translation>Невозможно ŃŃтановить автозаверŃение транзакций</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Result</name>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Невозможно выполнить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Невозможно подготовить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>Невозможно привязать значение</translation>
+ </message>
+ <message>
+ <source>Unable to fetch record %1</source>
+ <translation>Невозможно полŃчить запиŃŃŚ %1</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>Невозможно полŃчить ŃледŃющŃŃŽ ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>Невозможно полŃчить первŃŃŽ ŃтрокŃ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDateTimeEdit</name>
+ <message>
+ <source>AM</source>
+ <translation>AM</translation>
+ </message>
+ <message>
+ <source>am</source>
+ <translation>am</translation>
+ </message>
+ <message>
+ <source>PM</source>
+ <translation>PM</translation>
+ </message>
+ <message>
+ <source>pm</source>
+ <translation>pm</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDial</name>
+ <message>
+ <source>QDial</source>
+ <translation>QDial</translation>
+ </message>
+ <message>
+ <source>SpeedoMeter</source>
+ <translation>SpeedoMeter</translation>
+ </message>
+ <message>
+ <source>SliderHandle</source>
+ <translation>SliderHandle</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialog</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation>Что это?</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Готово</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialogButtonBox</name>
+ <message>
+ <source>OK</source>
+ <translation>ОК</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Сохранить</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Сохранить</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>От&amp;мена</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>&amp;Закрыть</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>Применить</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation>СброŃить</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Справка</translation>
+ </message>
+ <message>
+ <source>Don&apos;t Save</source>
+ <translation>Не Ńохранять</translation>
+ </message>
+ <message>
+ <source>Discard</source>
+ <translation>Отклонить</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>&amp;Да</translation>
+ </message>
+ <message>
+ <source>Yes to &amp;All</source>
+ <translation>Да для &amp;вŃех</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>&amp;Нет</translation>
+ </message>
+ <message>
+ <source>N&amp;o to All</source>
+ <translation>Đť&amp;ет для вŃех</translation>
+ </message>
+ <message>
+ <source>Save All</source>
+ <translation>Сохранить вŃе</translation>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>Прервать</translation>
+ </message>
+ <message>
+ <source>Retry</source>
+ <translation>Повторить</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <translation>ПропŃŃтить</translation>
+ </message>
+ <message>
+ <source>Restore Defaults</source>
+ <translation>Đ’ĐľŃŃтановить значения</translation>
+ </message>
+ <message>
+ <source>Close without Saving</source>
+ <translation>Закрыть без Ńохранения</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;ОК</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDirModel</name>
+ <message>
+ <source>Name</source>
+ <translation>ĐĐĽŃŹ</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Размер</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>Вид</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>Тип</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>Дата изменения</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDockWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Dock</source>
+ <translation>Прикрепить</translation>
+ </message>
+ <message>
+ <source>Float</source>
+ <translation>Открепить</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDoubleSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>БольŃе</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>МеньŃе</translation>
+ </message>
+ </context>
+ <context>
+ <name>QErrorMessage</name>
+ <message>
+ <source>&amp;Show this message again</source>
+ <translation>&amp;Показывать ŃŤŃ‚Đľ Ńообщение в дальнейŃем</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>&amp;Закрыть</translation>
+ </message>
+ <message>
+ <source>Debug Message:</source>
+ <translation>Отладочное Ńообщение:</translation>
+ </message>
+ <message>
+ <source>Warning:</source>
+ <translation>ПредŃпреждение:</translation>
+ </message>
+ <message>
+ <source>Fatal Error:</source>
+ <translation>КритичеŃкая ĐľŃибка:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFile</name>
+ <message>
+ <source>Destination file exists</source>
+ <translation>Файл ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>Will not rename sequential file using block copy</source>
+ <translation>ПоŃледовательный файл не бŃдет переименован Ń Đ¸Ńпользованием поблочного копирования</translation>
+ </message>
+ <message>
+ <source>Cannot remove source file</source>
+ <translation>Невозможно Ńдалить иŃходный файл</translation>
+ </message>
+ <message>
+ <source>Cannot open %1 for input</source>
+ <translation>Невозможно открыть %1 для ввода</translation>
+ </message>
+ <message>
+ <source>Cannot open for output</source>
+ <translation>Невозможно открыть для вывода</translation>
+ </message>
+ <message>
+ <source>Failure to write block</source>
+ <translation>Сбой запиŃи блока</translation>
+ </message>
+ <message>
+ <source>Cannot create %1 for output</source>
+ <translation>Невозможно Ńоздать %1 для вывода</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileDialog</name>
+ <message>
+ <source>All Files (*)</source>
+ <translation>Đ’Ńе файлы (*)</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>Назад</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>СпиŃок</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>Подробный вид</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>Файл</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>Сохранить как</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>&amp;Открыть</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>&amp;Сохранить</translation>
+ </message>
+ <message>
+ <source>Recent Places</source>
+ <translation>Недавние докŃменты</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>&amp;Переименовать</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>&amp;Удалить</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>Показать ŃĐş&amp;рытые файлы</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>Новая папка</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>Найти каталог</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>Каталоги</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>Đ’Ńе файлы (*.*)</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>Каталог:</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1 Ńже ŃŃщеŃтвŃет.
+Хотите заменить его?</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+ <translation>%1
+Файл не найден.
+Проверьте правильноŃŃ‚ŃŚ Ńказанного имени файла.</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>Мой компьютер</translation>
+ </message>
+ <message>
+ <source>Parent Directory</source>
+ <translation>РодительŃкий каталог</translation>
+ </message>
+ <message>
+ <source>Files of type:</source>
+ <translation>Типы файлов:</translation>
+ </message>
+ <message>
+ <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+ <translation>%1
+Каталог не найден.
+Проверьте правильноŃŃ‚ŃŚ Ńказанного имени каталога.</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is write protected.
+Do you want to delete it anyway?</source>
+ <translation>&apos;%1&apos; защищён от запиŃи.
+Đ’ŃŃ‘-равно хотите Ńдалить?</translation>
+ </message>
+ <message>
+ <source>Are sure you want to delete &apos;%1&apos;?</source>
+ <translation>Đ’Ń‹ дейŃтвительно хотите Ńдалить &apos;%1&apos;?</translation>
+ </message>
+ <message>
+ <source>Could not delete directory.</source>
+ <translation>Не ŃдалоŃŃŚ Ńдалить каталог.</translation>
+ </message>
+ <message>
+ <source>Drive</source>
+ <translation>ДиŃĐş</translation>
+ </message>
+ <message>
+ <source>File Folder</source>
+ <comment>Match Windows Explorer</comment>
+ <translation>Папка Ń Ń„Đ°ĐąĐ»Đ°ĐĽĐ¸</translation>
+ </message>
+ <message>
+ <source>Folder</source>
+ <comment>All other platforms</comment>
+ <translation>Папка</translation>
+ </message>
+ <message>
+ <source>Alias</source>
+ <comment>Mac OS X Finder</comment>
+ <translation>ĐźŃевдоним</translation>
+ </message>
+ <message>
+ <source>Shortcut</source>
+ <comment>All other platforms</comment>
+ <translation>Ярлык</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>НеизвеŃтный</translation>
+ </message>
+ <message>
+ <source>Show </source>
+ <translation>Показать </translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>Вперёд</translation>
+ </message>
+ <message>
+ <source>&amp;New Folder</source>
+ <translation>&amp;Новая папка</translation>
+ </message>
+ <message>
+ <source>&amp;Choose</source>
+ <translation>&amp;Выбрать</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>&amp;ĐĐĽŃŹ файла:</translation>
+ </message>
+ <message>
+ <source>Look in:</source>
+ <translation>Перейти к:</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>Создать папкŃ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileSystemModel</name>
+ <message>
+ <source>%1 TB</source>
+ <translation>%1 Тб</translation>
+ </message>
+ <message>
+ <source>%1 GB</source>
+ <translation>%1 Гб</translation>
+ </message>
+ <message>
+ <source>%1 MB</source>
+ <translation>%1 Мб</translation>
+ </message>
+ <message>
+ <source>%1 KB</source>
+ <translation>%1 Кб</translation>
+ </message>
+ <message>
+ <source>%1 bytes</source>
+ <translation>%1 байт</translation>
+ </message>
+ <message>
+ <source>Invalid filename</source>
+ <translation>Некорректное имя файла</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
+ <translation>&lt;b&gt;ĐĐĽŃŹ &quot;%1&quot; не может быть иŃпользовано.&lt;/b&gt;&lt;p&gt;ПопробŃйте иŃпользовать имя меньŃей длины и/или без Ńимволов ĐżŃнктŃации.</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>ĐĐĽŃŹ</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Размер</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>Вид</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>Тип</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>Дата изменения</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>Мой компьютер</translation>
+ </message>
+ <message>
+ <source>Computer</source>
+ <translation>Компьютер</translation>
+ </message>
+ <message>
+ <source>%1 byte(s)</source>
+ <translation>%1 байт(ов)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDatabase</name>
+ <message>
+ <source>Normal</source>
+ <translation>Обычный</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <translation>Жирный</translation>
+ </message>
+ <message>
+ <source>Demi Bold</source>
+ <translation>ПолŃжирный</translation>
+ </message>
+ <message>
+ <source>Black</source>
+ <translation>Чёрный</translation>
+ </message>
+ <message>
+ <source>Demi</source>
+ <translation>Средний</translation>
+ </message>
+ <message>
+ <source>Light</source>
+ <translation>Светлый</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <translation>ĐšŃŃ€Ńив</translation>
+ </message>
+ <message>
+ <source>Oblique</source>
+ <translation>Наклонный</translation>
+ </message>
+ <message>
+ <source>Any</source>
+ <translation>Любая</translation>
+ </message>
+ <message>
+ <source>Latin</source>
+ <translation>Латиница</translation>
+ </message>
+ <message>
+ <source>Greek</source>
+ <translation>ГречеŃкая</translation>
+ </message>
+ <message>
+ <source>Cyrillic</source>
+ <translation>Кириллица</translation>
+ </message>
+ <message>
+ <source>Armenian</source>
+ <translation>ĐрмянŃкая</translation>
+ </message>
+ <message>
+ <source>Hebrew</source>
+ <translation>Đврит</translation>
+ </message>
+ <message>
+ <source>Arabic</source>
+ <translation>ĐрабŃкая</translation>
+ </message>
+ <message>
+ <source>Syriac</source>
+ <translation>СирийŃкая</translation>
+ </message>
+ <message>
+ <source>Thaana</source>
+ <translation>Таана</translation>
+ </message>
+ <message>
+ <source>Devanagari</source>
+ <translation>Деванагири</translation>
+ </message>
+ <message>
+ <source>Bengali</source>
+ <translation>БенгальŃкая</translation>
+ </message>
+ <message>
+ <source>Gurmukhi</source>
+ <translation>Đ“ŃрмŃкхи</translation>
+ </message>
+ <message>
+ <source>Gujarati</source>
+ <translation>Đ“Ńджарати</translation>
+ </message>
+ <message>
+ <source>Oriya</source>
+ <translation>Ория</translation>
+ </message>
+ <message>
+ <source>Tamil</source>
+ <translation>ТамильŃкая</translation>
+ </message>
+ <message>
+ <source>Telugu</source>
+ <translation>ТелŃĐłŃ</translation>
+ </message>
+ <message>
+ <source>Kannada</source>
+ <translation>Каннада</translation>
+ </message>
+ <message>
+ <source>Malayalam</source>
+ <translation>Малайялам</translation>
+ </message>
+ <message>
+ <source>Sinhala</source>
+ <translation>СингальŃкая</translation>
+ </message>
+ <message>
+ <source>Thai</source>
+ <translation>ТайŃкая</translation>
+ </message>
+ <message>
+ <source>Lao</source>
+ <translation>ЛаоŃŃкая</translation>
+ </message>
+ <message>
+ <source>Tibetan</source>
+ <translation>ТибетŃкая</translation>
+ </message>
+ <message>
+ <source>Myanmar</source>
+ <translation>Мьянма</translation>
+ </message>
+ <message>
+ <source>Georgian</source>
+ <translation>Đ“Ń€ŃзинŃкая</translation>
+ </message>
+ <message>
+ <source>Khmer</source>
+ <translation>КхмерŃкая</translation>
+ </message>
+ <message>
+ <source>Simplified Chinese</source>
+ <translation>КитайŃкая Ńпрощенная</translation>
+ </message>
+ <message>
+ <source>Traditional Chinese</source>
+ <translation>КитайŃкая традиционная</translation>
+ </message>
+ <message>
+ <source>Japanese</source>
+ <translation>ЯпонŃкая</translation>
+ </message>
+ <message>
+ <source>Korean</source>
+ <translation>КорейŃкая</translation>
+ </message>
+ <message>
+ <source>Vietnamese</source>
+ <translation>ВьетнамŃкая</translation>
+ </message>
+ <message>
+ <source>Symbol</source>
+ <translation>Символьная</translation>
+ </message>
+ <message>
+ <source>Ogham</source>
+ <translation>ОгамичеŃкая</translation>
+ </message>
+ <message>
+ <source>Runic</source>
+ <translation>Đ ŃничеŃкая</translation>
+ </message>
+ <message>
+ <source>N&apos;Ko</source>
+ <translation>##</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDialog</name>
+ <message>
+ <source>&amp;Font</source>
+ <translation>&amp;Шрифт</translation>
+ </message>
+ <message>
+ <source>Font st&amp;yle</source>
+ <translation>&amp;Начертание</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>&amp;Размер</translation>
+ </message>
+ <message>
+ <source>Effects</source>
+ <translation>Эффекты</translation>
+ </message>
+ <message>
+ <source>Stri&amp;keout</source>
+ <translation>Зачёр&amp;кнŃŃ‚Ń‹Đą</translation>
+ </message>
+ <message>
+ <source>&amp;Underline</source>
+ <translation>Đź&amp;одчёркнŃŃ‚Ń‹Đą</translation>
+ </message>
+ <message>
+ <source>Sample</source>
+ <translation>Пример</translation>
+ </message>
+ <message>
+ <source>Select Font</source>
+ <translation>Выбор Ńрифта</translation>
+ </message>
+ <message>
+ <source>Wr&amp;iting System</source>
+ <translation>&amp;СиŃтема пиŃŃŚĐĽĐ°</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFtp</name>
+ <message>
+ <source>Host %1 found</source>
+ <translation>Узел %1 найден</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>Узел найден</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>ĐŁŃтановлено Ńоединение Ń Ńзлом %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>Соединение Ń Ńзлом ŃŃтановлено</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>Соединение Ń %1 закрыто</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>Соединение закрыто</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>Узел %1 не найден</translation>
+ </message>
+ <message>
+ <source>Connection refused to host %1</source>
+ <translation>Đ’ Ńоединении Ń Ńзлом %1 отказано</translation>
+ </message>
+ <message>
+ <source>Connection timed out to host %1</source>
+ <translation>Время на Ńоединение Ń Ńзлом %1 иŃтекло</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ <message>
+ <source>Connecting to host failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ ŃоединитьŃŃŹ Ń Ńзлом:
+%1</translation>
+ </message>
+ <message>
+ <source>Login failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ авторизоватьŃŃŹ:
+%1</translation>
+ </message>
+ <message>
+ <source>Listing directory failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ прочитать каталог:
+%1</translation>
+ </message>
+ <message>
+ <source>Changing directory failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ Ńменить каталог:
+%1</translation>
+ </message>
+ <message>
+ <source>Downloading file failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ загрŃзить файл:
+%1</translation>
+ </message>
+ <message>
+ <source>Uploading file failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ отгрŃзить файл:
+%1</translation>
+ </message>
+ <message>
+ <source>Removing file failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ Ńдалить файл:
+%1</translation>
+ </message>
+ <message>
+ <source>Creating directory failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ Ńоздать каталог:
+%1</translation>
+ </message>
+ <message>
+ <source>Removing directory failed:
+%1</source>
+ <translation>Не ŃдалоŃŃŚ Ńдалить каталог:
+%1</translation>
+ </message>
+ <message>
+ <source>Not connected</source>
+ <translation>Соединение не ŃŃтановлено</translation>
+ </message>
+ <message>
+ <source>Connection refused for data connection</source>
+ <translation>Отказ в Ńоединении для передачи данных</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfo</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfoAgent</name>
+ <message>
+ <source>Host not found</source>
+ <translation>Узел не найден</translation>
+ </message>
+ <message>
+ <source>Unknown address type</source>
+ <translation>НеизвеŃтный тип адреŃĐ°</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>ĐĐĽŃŹ Ńзла не задано</translation>
+ </message>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Некорректное имя Ńзла</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttp</name>
+ <message>
+ <source>Connection refused</source>
+ <translation>Отказано в Ńоединении</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>Узел %1 не найден</translation>
+ </message>
+ <message>
+ <source>Wrong content length</source>
+ <translation>Неверная длина Ńодержимого</translation>
+ </message>
+ <message>
+ <source>HTTP request failed</source>
+ <translation>HTTP-Đ·Đ°ĐżŃ€ĐľŃ Đ˝Đµ ŃĐ´Đ°Đ»ŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Host %1 found</source>
+ <translation>Узел %1 найден</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>Узел найден</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>ĐŁŃтановлено Ńоединение Ń Ńзлом %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>Соединение Ń Ńзлом ŃŃтановлено</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>Соединение Ń Ńзлом %1 закрыто</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>Соединение закрыто</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ <message>
+ <source>Request aborted</source>
+ <translation>Đ—Đ°ĐżŃ€ĐľŃ ĐżŃ€ĐµŃ€Đ˛Đ°Đ˝</translation>
+ </message>
+ <message>
+ <source>No server set to connect to</source>
+ <translation>Не Ńказан Ńервер для подключения</translation>
+ </message>
+ <message>
+ <source>Server closed connection unexpectedly</source>
+ <translation>Сервер неожиданно разорвал Ńоединение</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP response header</source>
+ <translation>Некорректный HTTP-заголовок ответа</translation>
+ </message>
+ <message>
+ <source>Unknown authentication method</source>
+ <translation>НеизвеŃтный метод авторизации</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP chunked body</source>
+ <translation>Некорректное HTTP-фрагментирование данных</translation>
+ </message>
+ <message>
+ <source>Error writing response to device</source>
+ <translation>ĐžŃибка запиŃи ответа на ŃŃтройŃтво</translation>
+ </message>
+ <message>
+ <source>Proxy authentication required</source>
+ <translation>ТребŃетŃŃŹ авторизация на прокŃи-Ńервере</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>ТребŃетŃŃŹ авторизация</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication</source>
+ <translation>ПрокŃи-Ńервер требŃет авторизацию</translation>
+ </message>
+ <message>
+ <source>Host requires authentication</source>
+ <translation>Узел требŃет авторизацию</translation>
+ </message>
+ <message>
+ <source>Data corrupted</source>
+ <translation>Данные повреждены</translation>
+ </message>
+ <message>
+ <source>SSL handshake failed</source>
+ <translation>Квитирование SSL не ŃдалоŃŃŚ</translation>
+ </message>
+ <message>
+ <source>Unknown protocol specified</source>
+ <translation>Указан неизвеŃтный протокол</translation>
+ </message>
+ <message>
+ <source>Connection refused (or timed out)</source>
+ <translation>Đ’ Ńоединении отказано (или время ожидания иŃтекло)</translation>
+ </message>
+ <message>
+ <source>HTTPS connection requested but SSL support not compiled in</source>
+ <translation>ЗапроŃено Ńоединение по ĐżŃ€ĐľŃ‚ĐľĐşĐľĐ»Ń HTTPS, но поддержка SSL не Ńкомпилирована</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttpSocketEngine</name>
+ <message>
+ <source>Did not receive HTTP response from proxy</source>
+ <translation>Не полŃчен HTTP-ответ от прокŃи-Ńервера</translation>
+ </message>
+ <message>
+ <source>Error parsing authentication request from proxy</source>
+ <translation>ĐžŃибка разбора запроŃĐ° авторизации от прокŃи-Ńервера</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>ТребŃетŃŃŹ авторизация</translation>
+ </message>
+ <message>
+ <source>Proxy denied connection</source>
+ <translation>ПрокŃи-Ńервер запретил Ńоединение</translation>
+ </message>
+ <message>
+ <source>Error communicating with HTTP proxy</source>
+ <translation>ĐžŃибка обмена данными Ń ĐżŃ€ĐľĐşŃи-Ńервером HTTP</translation>
+ </message>
+ <message>
+ <source>Proxy server not found</source>
+ <translation>ПрокŃи-Ńервер не найден</translation>
+ </message>
+ <message>
+ <source>Proxy connection refused</source>
+ <translation>Đ’ Ńоединении прокŃи-Ńервером отказано</translation>
+ </message>
+ <message>
+ <source>Proxy server connection timed out</source>
+ <translation>Время на Ńоединение Ń ĐżŃ€ĐľĐşŃи-Ńервером иŃтекло</translation>
+ </message>
+ <message>
+ <source>Proxy connection closed prematurely</source>
+ <translation>Соединение Ń ĐżŃ€ĐľĐşŃи-Ńервером неожиданно закрыто</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>ĐžŃибка открытия базы данных</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>Не ŃдалоŃŃŚ начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно отозвать транзакцию</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseResult</name>
+ <message>
+ <source>Unable to create BLOB</source>
+ <translation>Невозможно Ńоздать BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to write BLOB</source>
+ <translation>Невозможно запиŃĐ°Ń‚ŃŚ BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to open BLOB</source>
+ <translation>Невозможно открыть BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to read BLOB</source>
+ <translation>Невозможно прочитать BLOB</translation>
+ </message>
+ <message>
+ <source>Could not find array</source>
+ <translation>Не ŃдалоŃŃŚ найти ĐĽĐ°ŃŃив</translation>
+ </message>
+ <message>
+ <source>Could not get array data</source>
+ <translation>Не ŃдалоŃŃŚ найти данные ĐĽĐ°ŃŃива</translation>
+ </message>
+ <message>
+ <source>Could not get query info</source>
+ <translation>Не ŃдалоŃŃŚ найти информацию Đľ запроŃе</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>Не ŃдалоŃŃŚ начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Could not allocate statement</source>
+ <translation>Не ŃдалоŃŃŚ полŃчить реŃŃŃ€ŃŃ‹ для Ńоздания выражения</translation>
+ </message>
+ <message>
+ <source>Could not prepare statement</source>
+ <translation>Не ŃдалоŃŃŚ подготовить выражение</translation>
+ </message>
+ <message>
+ <source>Could not describe input statement</source>
+ <translation>Не ŃдалоŃŃŚ опиŃĐ°Ń‚ŃŚ входящее выражение</translation>
+ </message>
+ <message>
+ <source>Could not describe statement</source>
+ <translation>Не ŃдалоŃŃŚ опиŃĐ°Ń‚ŃŚ выражение</translation>
+ </message>
+ <message>
+ <source>Unable to close statement</source>
+ <translation>Невозможно закрыть выражение</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>Невозможно выполнить запроŃ</translation>
+ </message>
+ <message>
+ <source>Could not fetch next item</source>
+ <translation>Не ŃдалоŃŃŚ полŃчить ŃледŃющий элемент</translation>
+ </message>
+ <message>
+ <source>Could not get statement info</source>
+ <translation>Не ŃдалоŃŃŚ найти информацию Đľ выражении</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIODevice</name>
+ <message>
+ <source>Permission denied</source>
+ <translation>ДоŃŃ‚ŃĐż запрещён</translation>
+ </message>
+ <message>
+ <source>Too many open files</source>
+ <translation>СлиŃком много открытых файлов</translation>
+ </message>
+ <message>
+ <source>No such file or directory</source>
+ <translation>Файл или каталог не ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>No space left on device</source>
+ <translation>Нет Ńвободного меŃŃ‚Đ° на ŃŃтройŃтве</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputContext</name>
+ <message>
+ <source>XIM</source>
+ <translation>Метод ввода X-Ńервера</translation>
+ </message>
+ <message>
+ <source>FEP</source>
+ <translation>Метод ввода S60 FEP</translation>
+ </message>
+ <message>
+ <source>XIM input method</source>
+ <translation>Метод ввода X-Ńервера</translation>
+ </message>
+ <message>
+ <source>Windows input method</source>
+ <translation>Метод ввода Windows</translation>
+ </message>
+ <message>
+ <source>Mac OS X input method</source>
+ <translation>Метод ввода Mac OS X</translation>
+ </message>
+ <message>
+ <source>S60 FEP input method</source>
+ <translation>Метод ввода S60 FEP</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputDialog</name>
+ <message>
+ <source>Enter a value:</source>
+ <translation>Укажите значение:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLibrary</name>
+ <message>
+ <source>Could not mmap &apos;%1&apos;: %2</source>
+ <translation>Не ŃдалоŃŃŚ выполнить mmap &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <source>Plugin verification data mismatch in &apos;%1&apos;</source>
+ <translation>Проверочная информация для модŃля &apos;%1&apos; не Ńовпадает</translation>
+ </message>
+ <message>
+ <source>Could not unmap &apos;%1&apos;: %2</source>
+ <translation>Не ŃдалоŃŃŚ выполнить unmap &apos;%1&apos;: %2</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
+ <translation>МодŃль &apos;%1&apos; иŃпользŃет неŃомеŃтимŃŃŽ Đ±Đ¸Đ±Đ»Đ¸ĐľŃ‚ĐµĐşŃ Qt. (%2.%3.%4) [%5]</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
+ <translation>МодŃль &apos;%1&apos; иŃпользŃет неŃомеŃтимŃŃŽ Đ±Đ¸Đ±Đ»Đ¸ĐľŃ‚ĐµĐşŃ Qt. ОжидаетŃŃŹ ключ &quot;%2&quot;, но полŃчен ключ &quot;%3&quot;</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ <message>
+ <source>The shared library was not found.</source>
+ <translation>ДинамичеŃкая библиотека не найдена.</translation>
+ </message>
+ <message>
+ <source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
+ <translation>Файл &apos;%1&apos; - не являетŃŃŹ корректным модŃлем Qt.</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
+ <translation>МодŃль &apos;%1&apos; иŃпользŃет неŃомеŃтимŃŃŽ Đ±Đ¸Đ±Đ»Đ¸ĐľŃ‚ĐµĐşŃ Qt. (Невозможно ŃовмеŃтить релизные и отладочные библиотеки.)</translation>
+ </message>
+ <message>
+ <source>Cannot load library %1: %2</source>
+ <translation>Невозможно загрŃзить Đ±Đ¸Đ±Đ»Đ¸ĐľŃ‚ĐµĐşŃ %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot unload library %1: %2</source>
+ <translation>Невозможно выгрŃзить Đ±Đ¸Đ±Đ»Đ¸ĐľŃ‚ĐµĐşŃ %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
+ <translation>Невозможно разреŃить Ńимвол &quot;%1&quot; в %2: %3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLineEdit</name>
+ <message>
+ <source>Select All</source>
+ <translation>Выделить вŃŃ‘</translation>
+ </message>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Отменить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;Повторить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>&amp;Вырезать</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>&amp;Копировать</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>Đ’&amp;Ńтавить</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Удалить</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalServer</name>
+ <message>
+ <source>%1: Name error</source>
+ <translation>%1: Некорректное имя</translation>
+ </message>
+ <message>
+ <source>%1: Permission denied</source>
+ <translation>%1: ДоŃŃ‚ŃĐż запрещён</translation>
+ </message>
+ <message>
+ <source>%1: Address in use</source>
+ <translation>%1: ĐĐ´Ń€ĐµŃ Đ¸ŃпользŃетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1: НеизвеŃтная ĐľŃибка %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalSocket</name>
+ <message>
+ <source>%1: Connection refused</source>
+ <translation>%1: Отказано в Ńоединении</translation>
+ </message>
+ <message>
+ <source>%1: Remote closed</source>
+ <translation>%1: Закрыто Ńдаленной Ńтороной</translation>
+ </message>
+ <message>
+ <source>%1: Invalid name</source>
+ <translation>%1: Некорректное имя</translation>
+ </message>
+ <message>
+ <source>%1: Socket access error</source>
+ <translation>%1: ĐžŃибка обращения Đş ŃокетŃ</translation>
+ </message>
+ <message>
+ <source>%1: Socket resource error</source>
+ <translation>%1: ĐžŃибка выделения реŃŃŃ€Ńов Ńокета</translation>
+ </message>
+ <message>
+ <source>%1: Socket operation timed out</source>
+ <translation>%1: Время на операцию Ń Ńокетом иŃтекло</translation>
+ </message>
+ <message>
+ <source>%1: Datagram too large</source>
+ <translation>%1: Датаграмма ŃлиŃком больŃĐ°ŃŹ</translation>
+ </message>
+ <message>
+ <source>%1: Connection error</source>
+ <translation>%1: ĐžŃибка Ńоединения</translation>
+ </message>
+ <message>
+ <source>%1: The socket operation is not supported</source>
+ <translation>%1: Операция Ń Ńокетом не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error</source>
+ <translation>%1: НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1: НеизвеŃтная ĐľŃибка %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLDriver</name>
+ <message>
+ <source>Unable to open database &apos;</source>
+ <translation>Невозможно открыть Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń… &apos;</translation>
+ </message>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Невозможно ŃоединитьŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Невозможно начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно отозвать транзакцию</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLResult</name>
+ <message>
+ <source>Unable to fetch data</source>
+ <translation>Невозможно полŃчить данные</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>Невозможно выполнить запроŃ</translation>
+ </message>
+ <message>
+ <source>Unable to store result</source>
+ <translation>Невозможно Ńохранить резŃльтат</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Невозможно подготовить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Невозможно ŃброŃить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>Невозможно привязать значение</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Невозможно выполнить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to bind outvalues</source>
+ <translation>Невозможно привязать резŃльтирŃющие значения</translation>
+ </message>
+ <message>
+ <source>Unable to store statement results</source>
+ <translation>Невозможно Ńохранить резŃльтаты выполнения выражения</translation>
+ </message>
+ <message>
+ <source>Unable to execute next query</source>
+ <translation>Невозможно выполнить ŃледŃющий запроŃ</translation>
+ </message>
+ <message>
+ <source>Unable to store next result</source>
+ <translation>Невозможно Ńохранить ŃледŃющий резŃльтат</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiArea</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>(Неозаглавлено)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiSubWindow</name>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>СвернŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation>Đ’ĐľŃŃтановить</translation>
+ </message>
+ <message>
+ <source>&amp;Restore</source>
+ <translation>&amp;Đ’ĐľŃŃтановить</translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation>&amp;ПеремеŃтить</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>&amp;Размер</translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation>&amp;СвернŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation>Đ &amp;Đ°ŃпахнŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation>ĐžŃтаватьŃŃŹ &amp;ŃверхŃ</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>&amp;Закрыть</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>Đ Đ°ŃпахнŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Unshade</source>
+ <translation>Đ’ĐľŃŃтановить из заголовка</translation>
+ </message>
+ <message>
+ <source>Shade</source>
+ <translation>СвернŃŃ‚ŃŚ в заголовок</translation>
+ </message>
+ <message>
+ <source>Restore</source>
+ <translation>Đ’ĐľŃŃтановить</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Справка</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>Меню</translation>
+ </message>
+ <message>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenu</name>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ <message>
+ <source>Execute</source>
+ <translation>Выполнить</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenuBar</name>
+ <message>
+ <source>Actions</source>
+ <translation>ДейŃтвия</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMessageBox</name>
+ <message>
+ <source>OK</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;Đž Qt&lt;/h3&gt;&lt;p&gt;Данная программа иŃпользŃет Qt верŃии %1.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Qt - ŃŤŃ‚Đľ инŃŃ‚Ń€Ńментарий для разработки кроŃŃплатформенных приложений на C++.&lt;/p&gt;&lt;p&gt;Qt предоŃтавляет ŃовмеŃтимоŃŃ‚ŃŚ на Ńровне иŃходных текŃтов ĐĽĐµĐ¶Đ´Ń MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux и вŃеми попŃлярными коммерчеŃкими вариантами Unix. Также Qt Đ´ĐľŃŃ‚Ńпна для вŃтраиваемых ŃŃтройŃтв в виде Qt для Embedded Linux и Qt для Windows CE.&lt;/p&gt;&lt;p&gt;Qt Đ´ĐľŃŃ‚Ńпна под тремя различными лицензиями, разработанными для Ńдовлетворения различных требований.&lt;/p&gt;&lt;p&gt;Qt под наŃей коммерчеŃкой лицензией предназначена для развития проприетарного/коммерчеŃкого программного обеŃпечения, когда Đ’Ń‹ не желаете предоŃтавлять иŃходные текŃŃ‚Ń‹ третьим Ńторонам, или в ŃĐ»Ńчае невозможноŃти принятия ŃŃловий лицензий GNU LGPL верŃии 2.1 или GNU GPL верŃии 3.0.&lt;/p&gt;&lt;p&gt;Qt под лицензией GNU LGPL верŃии 2.1 предназначена для разработки программного обеŃпечения Ń ĐľŃ‚ĐşŃ€Ń‹Ń‚Ń‹ĐĽĐ¸ иŃходными текŃтами или коммерчеŃкого программного обеŃпечения при Ńоблюдении ŃŃловий лицензии GNU LGPL верŃии 2.1.&lt;/p&gt;&lt;p&gt;Qt под лицензией GNU General Public License верŃии 3.0 предназначена для разработки программных приложений в тех ŃĐ»Ńчаях, когда Đ’Ń‹ хотели бы иŃпользовать такие приложения в Ńочетании Ń ĐżŃ€ĐľĐłŃ€Đ°ĐĽĐĽĐ˝Ń‹ĐĽ обеŃпечением на ŃŃловиях лицензии GNU GPL Ń Đ˛ĐµŃ€Ńии 3.0 или еŃли Đ’Ń‹ готовы Ńоблюдать ŃŃловия лицензии GNU GPL верŃии 3.0.&lt;/p&gt;&lt;p&gt;ОбратитеŃŃŚ Đş &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; для обзора лицензий Qt.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Корпорация Nokia и/или её дочерние подразделения.&lt;/p&gt;&lt;p&gt;Qt - продŃкт компании Nokia. ОбратитеŃŃŚ Đş &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; для полŃчения дополнительной информации.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation>Đž Qt</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Справка</translation>
+ </message>
+ <message>
+ <source>Show Details...</source>
+ <translation>Показать подробноŃти...</translation>
+ </message>
+ <message>
+ <source>Hide Details...</source>
+ <translation>Скрыть подробноŃти...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContext</name>
+ <message>
+ <source>Select IM</source>
+ <translation>Выбор режима ввода</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContextPlugin</name>
+ <message>
+ <source>Multiple input method switcher</source>
+ <translation>Переключатель режима множеŃтвенного ввода</translation>
+ </message>
+ <message>
+ <source>Multiple input method switcher that uses the context menu of the text widgets</source>
+ <translation>Переключатель режима множеŃтвенного ввода, иŃпользŃемый в контекŃтном меню текŃтовых виджетов</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNativeSocketEngine</name>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>Удалённый Ńзел закрыл Ńоединение</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>Время на ŃетевŃŃŽ операцию иŃтекло</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>НедоŃтаточно реŃŃŃ€Ńов</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>Операция Ń Ńокетом не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>Протокол не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>Некорректный деŃкриптор Ńокета</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>Сеть недоŃŃ‚Ńпна</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>ДоŃŃ‚ŃĐż запрещён</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>Время на Ńоединение иŃтекло</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>Отказано в Ńоединении</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>ĐĐ´Ń€ĐµŃ Ńже иŃпользŃетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>ĐĐ´Ń€ĐµŃ Đ˝ĐµĐ´ĐľŃŃ‚Ńпен</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>ĐĐ´Ń€ĐµŃ Đ·Đ°Ń‰Đ¸Ń‰Ń‘Đ˝</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>Невозможно отправить Ńообщение</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>Невозможно полŃчить Ńообщение</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>Невозможно запиŃĐ°Ń‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>ĐžŃибка Ńети</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>ДрŃгой Ńокет Ńже проŃĐ»ŃŃивает этот порт</translation>
+ </message>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>Невозможно инициализировать не-блочный Ńокет</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>Невозможно инициализировать Ńироковещательный Ńокет</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>Попытка иŃпользовать IPv6 на платформе, не поддерживающей IPv6</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>Узел недоŃŃ‚Ńпен</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>Датаграмма ŃлиŃком больŃĐ°ŃŹ для отправки</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>Операция Ń Đ˝Đµ-Ńокетом</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>Некорректный тип прокŃи-Ńервера для данной операции</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessCacheBackend</name>
+ <message>
+ <source>Error opening %1</source>
+ <translation>ĐžŃибка открытия %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessDebugPipeBackend</name>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>ĐžŃибка запиŃи в %1: %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFileBackend</name>
+ <message>
+ <source>Request for opening non-local file %1</source>
+ <translation>Đ—Đ°ĐżŃ€ĐľŃ Đ˝Đ° открытие файла вне файловой ŃиŃтемы %1</translation>
+ </message>
+ <message>
+ <source>Error opening %1: %2</source>
+ <translation>ĐžŃибка открытия %1: %2</translation>
+ </message>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>ĐžŃибка запиŃи в %1: %2</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: Path is a directory</source>
+ <translation>Невозможно открыть %1: Указан ĐżŃŃ‚ŃŚ Đş каталогŃ</translation>
+ </message>
+ <message>
+ <source>Read error reading from %1: %2</source>
+ <translation>ĐžŃибка чтения из %1: %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFtpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>Подходящий прокŃи-Ńервер не найден</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: is a directory</source>
+ <translation>Невозможно открыть %1: Указан ĐżŃŃ‚ŃŚ Đş каталогŃ</translation>
+ </message>
+ <message>
+ <source>Logging in to %1 failed: authentication required</source>
+ <translation>Соединение Ń %1 не ŃдалоŃŃŚ: требŃетŃŃŹ авторизация</translation>
+ </message>
+ <message>
+ <source>Error while downloading %1: %2</source>
+ <translation>ĐžŃибка в процеŃŃе загрŃзки %1: %2</translation>
+ </message>
+ <message>
+ <source>Error while uploading %1: %2</source>
+ <translation>ĐžŃибка в процеŃŃе отгрŃзки %1: %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessHttpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>Подходящий прокŃи-Ńервер не найден</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReply</name>
+ <message>
+ <source>Error downloading %1 - server replied: %2</source>
+ <translation>ĐžŃибка загрŃзки %1 - ответ Ńервера: %2</translation>
+ </message>
+ <message>
+ <source>Protocol &quot;%1&quot; is unknown</source>
+ <translation>НеизвеŃтный протокол &quot;%1&quot;</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReplyImpl</name>
+ <message>
+ <source>Operation canceled</source>
+ <translation>Операция отменена</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIDriver</name>
+ <message>
+ <source>Unable to logon</source>
+ <translation>Невозможно авторизоватьŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Unable to initialize</source>
+ <comment>QOCIDriver</comment>
+ <translation>Невозможно инициализировать</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Невозможно начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно отозвать транзакцию</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIResult</name>
+ <message>
+ <source>Unable to bind column for batch execute</source>
+ <translation>Невозможно привязать Ńтолбец для пакетного выполнения</translation>
+ </message>
+ <message>
+ <source>Unable to execute batch statement</source>
+ <translation>Невозможно выполнить пакетное выражение</translation>
+ </message>
+ <message>
+ <source>Unable to goto next</source>
+ <translation>Невозможно перейти Đş ŃледŃющей Ńтроке</translation>
+ </message>
+ <message>
+ <source>Unable to alloc statement</source>
+ <translation>Невозможно Ńоздать выражение</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Невозможно подготовить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to get statement type</source>
+ <translation>Невозможно определить тип выражения</translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>Невозможно привязать резŃльтирŃющие значения</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Невозможно выполнить выражение</translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Невозможно ŃоединитьŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Unable to disable autocommit</source>
+ <translation>Невозможно отключить автозаверŃение транзакций</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно отозвать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to enable autocommit</source>
+ <translation>Невозможно включить автозаверŃение транзакций</translation>
+ </message>
+ <message>
+ <source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
+ <translation>Невозможно ŃоединитьŃŃŹ - Драйвер не поддерживает требŃемый Ń„Ńнкционал</translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCResult</name>
+ <message>
+ <source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
+ <translation>QODBCResult::reset: Невозможно ŃŃтановить &apos;SQL_CURSOR_STATIC&apos; атрибŃтом выражение. Проверьте наŃтройки драйвера ODBC</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Невозможно выполнить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>Невозможно полŃчить ŃледŃющŃŃŽ ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Невозможно подготовить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>Невозможно привязать значение</translation>
+ </message>
+ <message>
+ <source>Unable to fetch last</source>
+ <translation>Невозможно полŃчить поŃледнюю ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Unable to fetch</source>
+ <translation>Невозможно полŃчить данные</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>Невозможно полŃчить первŃŃŽ ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Unable to fetch previous</source>
+ <translation>Невозможно полŃчить предыдŃщŃŃŽ ŃтрокŃ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QObject</name>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>Некорректное имя Ńзла</translation>
+ </message>
+ <message>
+ <source>Operation not supported on %1</source>
+ <translation>Операция не поддерживаетŃŃŹ для %1</translation>
+ </message>
+ <message>
+ <source>Invalid URI: %1</source>
+ <translation>Некорректный URI: %1</translation>
+ </message>
+ <message>
+ <source>Socket error on %1: %2</source>
+ <translation>ĐžŃика Ńокета для %1: %2</translation>
+ </message>
+ <message>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>Удалённый Ńзел неожиданно прервал Ńоединение для %1</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>ĐĐĽŃŹ Ńзла не задано</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPPDOptionsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>ĐĐĽŃŹ</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Значение</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>Невозможно ŃоединитьŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Could not begin transaction</source>
+ <translation>Не ŃдалоŃŃŚ начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Could not commit transaction</source>
+ <translation>Не ŃдалоŃŃŚ заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Could not rollback transaction</source>
+ <translation>Не ŃдалоŃŃŚ отозвать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to subscribe</source>
+ <translation>Невозможно подпиŃĐ°Ń‚ŃŚŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Unable to unsubscribe</source>
+ <translation>Невозможно отпиŃĐ°Ń‚ŃŚŃŃŹ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLResult</name>
+ <message>
+ <source>Unable to create query</source>
+ <translation>Невозможно Ńоздать запроŃ</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>Невозможно подготовить выражение</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPageSetupWidget</name>
+ <message>
+ <source>Centimeters (cm)</source>
+ <translation>Сантиметры (cm)</translation>
+ </message>
+ <message>
+ <source>Millimeters (mm)</source>
+ <translation>Миллиметры (mm)</translation>
+ </message>
+ <message>
+ <source>Inches (in)</source>
+ <translation>Дюймы (in)</translation>
+ </message>
+ <message>
+ <source>Points (pt)</source>
+ <translation>Точки (pt)</translation>
+ </message>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Paper</source>
+ <translation>Đ‘Ńмага</translation>
+ </message>
+ <message>
+ <source>Page size:</source>
+ <translation>Размер Ńтраницы:</translation>
+ </message>
+ <message>
+ <source>Width:</source>
+ <translation>Ширина:</translation>
+ </message>
+ <message>
+ <source>Height:</source>
+ <translation>Đ’Ń‹Ńота:</translation>
+ </message>
+ <message>
+ <source>Paper source:</source>
+ <translation>ĐŃточник бŃмаги:</translation>
+ </message>
+ <message>
+ <source>Orientation</source>
+ <translation>Ориентация</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>Книжная</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>Đльбомная</translation>
+ </message>
+ <message>
+ <source>Reverse landscape</source>
+ <translation>ПеревёрнŃŃ‚Đ°ŃŹ альбомная</translation>
+ </message>
+ <message>
+ <source>Reverse portrait</source>
+ <translation>ПеревёрнŃŃ‚Đ°ŃŹ книжная</translation>
+ </message>
+ <message>
+ <source>Margins</source>
+ <translation>Поля</translation>
+ </message>
+ <message>
+ <source>top margin</source>
+ <translation>верхнее поле</translation>
+ </message>
+ <message>
+ <source>left margin</source>
+ <translation>левое поле</translation>
+ </message>
+ <message>
+ <source>right margin</source>
+ <translation>правое поле</translation>
+ </message>
+ <message>
+ <source>bottom margin</source>
+ <translation>нижнее поле</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPluginLoader</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ <message>
+ <source>The plugin was not loaded.</source>
+ <translation>МодŃль не был загрŃжен.</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintDialog</name>
+ <message>
+ <source>locally connected</source>
+ <translation>Ńоединено локально</translation>
+ </message>
+ <message>
+ <source>Aliases: %1</source>
+ <translation>ĐźŃевдонимы: %1</translation>
+ </message>
+ <message>
+ <source>unknown</source>
+ <translation>неизвеŃтно</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>Печатать вŃе</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>Печатать диапазон</translation>
+ </message>
+ <message>
+ <source>A0 (841 x 1189 mm)</source>
+ <translation>A0 (841 x 1189 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A1 (594 x 841 mm)</source>
+ <translation>A1 (594 x 841 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A2 (420 x 594 mm)</source>
+ <translation>A2 (420 x 594 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A3 (297 x 420 mm)</source>
+ <translation>A3 (297 x 420 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A5 (148 x 210 mm)</source>
+ <translation>A5 (148 x 210 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A6 (105 x 148 mm)</source>
+ <translation>A6 (105 x 148 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A7 (74 x 105 mm)</source>
+ <translation>A7 (74 x 105 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A8 (52 x 74 mm)</source>
+ <translation>A8 (52 x 74 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>A9 (37 x 52 mm)</source>
+ <translation>A9 (37 x 52 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B0 (1000 x 1414 mm)</source>
+ <translation>B0 (1000 x 1414 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B1 (707 x 1000 mm)</source>
+ <translation>B1 (707 x 1000 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B2 (500 x 707 mm)</source>
+ <translation>B2 (500 x 707 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B3 (353 x 500 mm)</source>
+ <translation>B3 (353 x 500 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B4 (250 x 353 mm)</source>
+ <translation>B4 (250 x 353 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B6 (125 x 176 mm)</source>
+ <translation>B6 (125 x 176 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B7 (88 x 125 mm)</source>
+ <translation>B7 (88 x 125 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B8 (62 x 88 mm)</source>
+ <translation>B8 (62 x 88 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B9 (44 x 62 mm)</source>
+ <translation>B9 (44 x 62 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>B10 (31 x 44 mm)</source>
+ <translation>B10 (31 x 44 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>C5E (163 x 229 mm)</source>
+ <translation>C5E (163 x 229 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>DLE (110 x 220 mm)</source>
+ <translation>DLE (110 x 220 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>Folio (210 x 330 mm)</source>
+ <translation>Folio (210 x 330 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>Ledger (432 x 279 mm)</source>
+ <translation>Ledger (432 x 279 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>Tabloid (279 x 432 mm)</source>
+ <translation>Tabloid (279 x 432 ĐĽĐĽ)</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope (105 x 241 mm)</source>
+ <translation>Конверт US #10 (105x241 мм)</translation>
+ </message>
+ <message>
+ <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+ <translation>A4 (210 x 297 мм, 8.26 x 11.7 дюймов)</translation>
+ </message>
+ <message>
+ <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+ <translation>B5 (176 x 250 мм, 6.93 x 9.84 дюймов)</translation>
+ </message>
+ <message>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (191 x 254 мм, 7.5 x 10 дюймов)</translation>
+ </message>
+ <message>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (216 x 356 мм, 8.5 x 14 дюймов)</translation>
+ </message>
+ <message>
+ <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+ <translation>Letter (216 x 279 мм, 8.5 x 11 дюймов)</translation>
+ </message>
+ <message>
+ <source>Print selection</source>
+ <translation>Выделенный фрагмент</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Печать</translation>
+ </message>
+ <message>
+ <source>Print To File ...</source>
+ <translation>Печать в файл ...</translation>
+ </message>
+ <message>
+ <source>File %1 is not writable.
+Please choose a different file name.</source>
+ <translation>%1 недоŃŃ‚Ńпен для запиŃи.
+Выберите Đ´Ń€Ńгое имя файла.</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to overwrite it?</source>
+ <translation>%1 Ńже ŃŃщеŃтвŃет.
+Хотите заменить его?</translation>
+ </message>
+ <message>
+ <source>File exists</source>
+ <translation>Файл ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;Хотите заменить?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>%1 is a directory.
+Please choose a different file name.</source>
+ <translation>%1 - это каталог.
+Выберите Đ´Ń€Ńгое имя файла.</translation>
+ </message>
+ <message>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>Значение &apos;от&apos; не может быть больŃе значения &apos;Đ´Đľ&apos;.</translation>
+ </message>
+ <message>
+ <source>A0</source>
+ <translation>A0</translation>
+ </message>
+ <message>
+ <source>A1</source>
+ <translation>A1</translation>
+ </message>
+ <message>
+ <source>A2</source>
+ <translation>A2</translation>
+ </message>
+ <message>
+ <source>A3</source>
+ <translation>A3</translation>
+ </message>
+ <message>
+ <source>A4</source>
+ <translation>A4</translation>
+ </message>
+ <message>
+ <source>A5</source>
+ <translation>A5</translation>
+ </message>
+ <message>
+ <source>A6</source>
+ <translation>A6</translation>
+ </message>
+ <message>
+ <source>A7</source>
+ <translation>A7</translation>
+ </message>
+ <message>
+ <source>A8</source>
+ <translation>A8</translation>
+ </message>
+ <message>
+ <source>A9</source>
+ <translation>A9</translation>
+ </message>
+ <message>
+ <source>B0</source>
+ <translation>B0</translation>
+ </message>
+ <message>
+ <source>B1</source>
+ <translation>B1</translation>
+ </message>
+ <message>
+ <source>B2</source>
+ <translation>B2</translation>
+ </message>
+ <message>
+ <source>B3</source>
+ <translation>B3</translation>
+ </message>
+ <message>
+ <source>B4</source>
+ <translation>B4</translation>
+ </message>
+ <message>
+ <source>B5</source>
+ <translation>B5</translation>
+ </message>
+ <message>
+ <source>B6</source>
+ <translation>B6</translation>
+ </message>
+ <message>
+ <source>B7</source>
+ <translation>B7</translation>
+ </message>
+ <message>
+ <source>B8</source>
+ <translation>B8</translation>
+ </message>
+ <message>
+ <source>B9</source>
+ <translation>B9</translation>
+ </message>
+ <message>
+ <source>B10</source>
+ <translation>B10</translation>
+ </message>
+ <message>
+ <source>C5E</source>
+ <translation>C5E</translation>
+ </message>
+ <message>
+ <source>DLE</source>
+ <translation>DLE</translation>
+ </message>
+ <message>
+ <source>Executive</source>
+ <translation>Executive</translation>
+ </message>
+ <message>
+ <source>Folio</source>
+ <translation>Folio</translation>
+ </message>
+ <message>
+ <source>Ledger</source>
+ <translation>Ledger</translation>
+ </message>
+ <message>
+ <source>Legal</source>
+ <translation>Legal</translation>
+ </message>
+ <message>
+ <source>Letter</source>
+ <translation>Letter</translation>
+ </message>
+ <message>
+ <source>Tabloid</source>
+ <translation>Tabloid</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope</source>
+ <translation>US Common #10 Envelope</translation>
+ </message>
+ <message>
+ <source>Custom</source>
+ <translation>ПользовательŃкий</translation>
+ </message>
+ <message>
+ <source>&amp;Options &gt;&gt;</source>
+ <translation>&amp;Параметры &gt;&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Options &lt;&lt;</source>
+ <translation>&amp;Параметры &lt;&lt;</translation>
+ </message>
+ <message>
+ <source>Print to File (PDF)</source>
+ <translation>Печать в файл (PDF)</translation>
+ </message>
+ <message>
+ <source>Print to File (Postscript)</source>
+ <translation>Печать в файл (Postscript)</translation>
+ </message>
+ <message>
+ <source>Local file</source>
+ <translation>Локальный файл</translation>
+ </message>
+ <message>
+ <source>Write %1 file</source>
+ <translation>ЗапиŃŃŚ %1 файла</translation>
+ </message>
+ <message>
+ <source>&amp;Print</source>
+ <translation>&amp;Печать</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPreviewDialog</name>
+ <message>
+ <source>%1%</source>
+ <translation>%1%</translation>
+ </message>
+ <message>
+ <source>Print Preview</source>
+ <translation>ПроŃмотр печати</translation>
+ </message>
+ <message>
+ <source>Next page</source>
+ <translation>СледŃющая Ńтраница</translation>
+ </message>
+ <message>
+ <source>Previous page</source>
+ <translation>ПредыдŃщая Ńтраница</translation>
+ </message>
+ <message>
+ <source>First page</source>
+ <translation>Первая Ńтраница</translation>
+ </message>
+ <message>
+ <source>Last page</source>
+ <translation>ПоŃледняя Ńтраница</translation>
+ </message>
+ <message>
+ <source>Fit width</source>
+ <translation>По Ńирине</translation>
+ </message>
+ <message>
+ <source>Fit page</source>
+ <translation>На вŃŃŽ ŃтраницŃ</translation>
+ </message>
+ <message>
+ <source>Zoom in</source>
+ <translation>Увеличить</translation>
+ </message>
+ <message>
+ <source>Zoom out</source>
+ <translation>УменьŃить</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>Книжная</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>Đльбомная</translation>
+ </message>
+ <message>
+ <source>Show single page</source>
+ <translation>Показать ĐľĐ´Đ˝Ń ŃтраницŃ</translation>
+ </message>
+ <message>
+ <source>Show facing pages</source>
+ <translation>Показать титŃльные Ńтраницы</translation>
+ </message>
+ <message>
+ <source>Show overview of all pages</source>
+ <translation>Показать обзор вŃех Ńтраниц</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Печать</translation>
+ </message>
+ <message>
+ <source>Page setup</source>
+ <translation>Параметры Ńтраницы</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Export to PDF</source>
+ <translation>Đ­ĐşŃпорт в PDF</translation>
+ </message>
+ <message>
+ <source>Export to PostScript</source>
+ <translation>Đ­ĐşŃпорт в Postscript</translation>
+ </message>
+ <message>
+ <source>Page Setup</source>
+ <translation>Параметры Ńтраницы</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPropertiesWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Page</source>
+ <translation>Страница</translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Дополнительно</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintSettingsOutput</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Copies</source>
+ <translation>Копии</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>Диапазон печати</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>Đ’Ńе</translation>
+ </message>
+ <message>
+ <source>Pages from</source>
+ <translation>Страницы от</translation>
+ </message>
+ <message>
+ <source>to</source>
+ <translation>Đ´Đľ</translation>
+ </message>
+ <message>
+ <source>Selection</source>
+ <translation>Выделенный фрагмент</translation>
+ </message>
+ <message>
+ <source>Output Settings</source>
+ <translation>НаŃтройки вывода</translation>
+ </message>
+ <message>
+ <source>Copies:</source>
+ <translation>КоличеŃтво копий:</translation>
+ </message>
+ <message>
+ <source>Collate</source>
+ <translation>Разобрать про копиям</translation>
+ </message>
+ <message>
+ <source>Reverse</source>
+ <translation>Обратный порядок</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>Параметры</translation>
+ </message>
+ <message>
+ <source>Color Mode</source>
+ <translation>Режим цвета</translation>
+ </message>
+ <message>
+ <source>Color</source>
+ <translation>Цвет</translation>
+ </message>
+ <message>
+ <source>Grayscale</source>
+ <translation>Оттенки Ńерого</translation>
+ </message>
+ <message>
+ <source>Duplex Printing</source>
+ <translation>ДвŃŃторонняя печать</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <source>Long side</source>
+ <translation>По длинной Ńтороне</translation>
+ </message>
+ <message>
+ <source>Short side</source>
+ <translation>По короткой Ńтороне</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation>Принтер</translation>
+ </message>
+ <message>
+ <source>&amp;Name:</source>
+ <translation>&amp;Название:</translation>
+ </message>
+ <message>
+ <source>P&amp;roperties</source>
+ <translation>С&amp;войŃтва</translation>
+ </message>
+ <message>
+ <source>Location:</source>
+ <translation>Đ Đ°Ńположение:</translation>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation>ПроŃмотр</translation>
+ </message>
+ <message>
+ <source>Type:</source>
+ <translation>Тип:</translation>
+ </message>
+ <message>
+ <source>Output &amp;file:</source>
+ <translation>Вывод в &amp;файл:</translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProcess</name>
+ <message>
+ <source>Could not open input redirection for reading</source>
+ <translation>Не ŃдалоŃŃŚ открыть перенаправление ввода для чтения</translation>
+ </message>
+ <message>
+ <source>Could not open output redirection for writing</source>
+ <translation>Не ŃдалоŃŃŚ открыть перенаправление вывода для запиŃи</translation>
+ </message>
+ <message>
+ <source>Resource error (fork failure): %1</source>
+ <translation>ĐžŃибка выделения реŃŃŃ€Ńов (Ńбой fork): %1</translation>
+ </message>
+ <message>
+ <source>Process operation timed out</source>
+ <translation>Время на операцию Ń ĐżŃ€ĐľŃ†ĐµŃŃом иŃтекло</translation>
+ </message>
+ <message>
+ <source>Error reading from process</source>
+ <translation>ĐžŃибка полŃчения данных от процеŃŃĐ°</translation>
+ </message>
+ <message>
+ <source>Error writing to process</source>
+ <translation>ĐžŃибка отправки данных процеŃŃŃ</translation>
+ </message>
+ <message>
+ <source>Process crashed</source>
+ <translation>ПроцеŃŃ Đ·Đ°Đ˛ĐµŃ€ŃилŃŃŹ Ń ĐľŃибкой</translation>
+ </message>
+ <message>
+ <source>No program defined</source>
+ <translation>Программа не Ńказана</translation>
+ </message>
+ <message>
+ <source>Process failed to start: %1</source>
+ <translation>Не ŃдалоŃŃŚ Đ·Đ°ĐżŃŃтить процеŃŃ: %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPushButton</name>
+ <message>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRadioButton</name>
+ <message>
+ <source>Check</source>
+ <translation>Отметить</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRegExp</name>
+ <message>
+ <source>no error occurred</source>
+ <translation>ĐľŃибки отŃŃŃ‚ŃтвŃŃŽŃ‚</translation>
+ </message>
+ <message>
+ <source>disabled feature used</source>
+ <translation>иŃпользование отключённых возможноŃтей</translation>
+ </message>
+ <message>
+ <source>bad char class syntax</source>
+ <translation>неправильный ŃинтакŃĐ¸Ń ĐşĐ»Đ°ŃŃĐ° Ńимволов</translation>
+ </message>
+ <message>
+ <source>bad lookahead syntax</source>
+ <translation>неправильный предварительный ŃинтакŃиŃ</translation>
+ </message>
+ <message>
+ <source>bad repetition syntax</source>
+ <translation>неправильный ŃинтакŃĐ¸Ń ĐżĐľĐ˛Ń‚ĐľŃ€ĐµĐ˝Đ¸ŃŹ</translation>
+ </message>
+ <message>
+ <source>invalid octal value</source>
+ <translation>некорректное воŃьмеричное значение</translation>
+ </message>
+ <message>
+ <source>missing left delim</source>
+ <translation>отŃŃŃ‚ŃтвŃет левый разделитель</translation>
+ </message>
+ <message>
+ <source>unexpected end</source>
+ <translation>неожиданный конец</translation>
+ </message>
+ <message>
+ <source>met internal limit</source>
+ <translation>Đ´ĐľŃтигнŃŃ‚Đľ внŃтреннее ограничение</translation>
+ </message>
+ <message>
+ <source>invalid interval</source>
+ <translation>некорректный интервал</translation>
+ </message>
+ <message>
+ <source>invalid category</source>
+ <translation>некорректная категория</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Driver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>ĐžŃибка открытия базы данных</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Невозможно начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно отозвать транзакцию</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Result</name>
+ <message>
+ <source>Unable to fetch results</source>
+ <translation>Невозможно полŃчить резŃльтаты</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Невозможно выполнить выражение</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>ĐžŃибка открытия базы данных</translation>
+ </message>
+ <message>
+ <source>Error closing database</source>
+ <translation>ĐžŃибка закрытия базы данных</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>Невозможно начать транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>Невозможно заверŃить транзакцию</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>Невозможно отозвать транзакцию</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteResult</name>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>Невозможно полŃчить ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>Невозможно выполнить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>Невозможно ŃброŃить выражение</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>Невозможно привязать параметр</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>КоличеŃтво параметров не Ńовпадает</translation>
+ </message>
+ <message>
+ <source>No query</source>
+ <translation>ОтŃŃŃ‚ŃтвŃет запроŃ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsModel</name>
+ <message>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Размещение</translation>
+ </message>
+ <message>
+ <source>Condition</source>
+ <translation>ĐŁŃловие</translation>
+ </message>
+ <message>
+ <source>Ignore-count</source>
+ <translation>ПропŃŃтить</translation>
+ </message>
+ <message>
+ <source>Single-shot</source>
+ <translation>Один раз</translation>
+ </message>
+ <message>
+ <source>Hit-count</source>
+ <translation>Попаданий</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsWidget</name>
+ <message>
+ <source>New</source>
+ <translation>Новая</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Удалить</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebugger</name>
+ <message>
+ <source>Go to Line</source>
+ <translation>Перейти Đş Ńтроке</translation>
+ </message>
+ <message>
+ <source>Line:</source>
+ <translation>Строка:</translation>
+ </message>
+ <message>
+ <source>Interrupt</source>
+ <translation>Прервать</translation>
+ </message>
+ <message>
+ <source>Shift+F5</source>
+ <translation>Shift+F5</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>Продолжить</translation>
+ </message>
+ <message>
+ <source>F5</source>
+ <translation>F5</translation>
+ </message>
+ <message>
+ <source>Step Into</source>
+ <translation>Войти в</translation>
+ </message>
+ <message>
+ <source>F11</source>
+ <translation>F11</translation>
+ </message>
+ <message>
+ <source>Step Over</source>
+ <translation>Перейти через</translation>
+ </message>
+ <message>
+ <source>F10</source>
+ <translation>F10</translation>
+ </message>
+ <message>
+ <source>Step Out</source>
+ <translation>Выйти из Ń„Ńнкции</translation>
+ </message>
+ <message>
+ <source>Shift+F11</source>
+ <translation>Shift+F11</translation>
+ </message>
+ <message>
+ <source>Run to Cursor</source>
+ <translation>Выполнить Đ´Đľ ĐşŃŃ€Ńора</translation>
+ </message>
+ <message>
+ <source>Ctrl+F10</source>
+ <translation>Ctrl+F10</translation>
+ </message>
+ <message>
+ <source>Run to New Script</source>
+ <translation>Выполнить Đ´Đľ нового Ńценария</translation>
+ </message>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>ĐŁŃтановить/Ńбрать Ń‚ĐľŃ‡ĐşŃ ĐľŃтанова</translation>
+ </message>
+ <message>
+ <source>F9</source>
+ <translation>F9</translation>
+ </message>
+ <message>
+ <source>Clear Debug Output</source>
+ <translation>ОчиŃтить отладочный вывод</translation>
+ </message>
+ <message>
+ <source>Clear Error Log</source>
+ <translation>ОчиŃтить жŃрнал ĐľŃибок</translation>
+ </message>
+ <message>
+ <source>Clear Console</source>
+ <translation>ОчиŃтить конŃоль</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Script...</source>
+ <translation>&amp;Найти в Ńценарии...</translation>
+ </message>
+ <message>
+ <source>Ctrl+F</source>
+ <translation>Ctrl+F</translation>
+ </message>
+ <message>
+ <source>Find &amp;Next</source>
+ <translation>Найти &amp;ŃледŃющее</translation>
+ </message>
+ <message>
+ <source>F3</source>
+ <translation>F3</translation>
+ </message>
+ <message>
+ <source>Find &amp;Previous</source>
+ <translation>Найти &amp;предыдŃщее</translation>
+ </message>
+ <message>
+ <source>Shift+F3</source>
+ <translation>Shift+F3</translation>
+ </message>
+ <message>
+ <source>Ctrl+G</source>
+ <translation>Ctrl+G</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <translation>Отладка</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerCodeFinderWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation>ПредыдŃщий</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation>СледŃющий</translation>
+ </message>
+ <message>
+ <source>Case Sensitive</source>
+ <translation>Учитывать региŃŃ‚Ń€</translation>
+ </message>
+ <message>
+ <source>Whole words</source>
+ <translation>Слова целиком</translation>
+ </message>
+ <message>
+ <source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;ПоиŃĐş Ń Đ˝Đ°Ń‡Đ°Đ»Đ°</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerLocalsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Название</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Значение</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerStackModel</name>
+ <message>
+ <source>Level</source>
+ <translation>Уровень</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Название</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Размещение</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEdit</name>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>ĐŁŃтановить/Ńбрать Ń‚ĐľŃ‡ĐşŃ ĐľŃтанова</translation>
+ </message>
+ <message>
+ <source>Disable Breakpoint</source>
+ <translation>Убрать Ń‚ĐľŃ‡ĐşŃ ĐľŃтанова</translation>
+ </message>
+ <message>
+ <source>Enable Breakpoint</source>
+ <translation>ĐŁŃтановить Ń‚ĐľŃ‡ĐşŃ ĐľŃтанова</translation>
+ </message>
+ <message>
+ <source>Breakpoint Condition:</source>
+ <translation>ĐŁŃловие точки ĐľŃтанова:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEngineDebugger</name>
+ <message>
+ <source>Loaded Scripts</source>
+ <translation>ЗагрŃженные Ńценарии</translation>
+ </message>
+ <message>
+ <source>Breakpoints</source>
+ <translation>Точки ĐľŃтанова</translation>
+ </message>
+ <message>
+ <source>Stack</source>
+ <translation>Стек</translation>
+ </message>
+ <message>
+ <source>Locals</source>
+ <translation>Локальные переменные</translation>
+ </message>
+ <message>
+ <source>Console</source>
+ <translation>КонŃоль</translation>
+ </message>
+ <message>
+ <source>Debug Output</source>
+ <translation>Отладочный вывод</translation>
+ </message>
+ <message>
+ <source>Error Log</source>
+ <translation>Đ–Ńрнал ĐľŃибок</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>ПоиŃĐş</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Вид</translation>
+ </message>
+ <message>
+ <source>Qt Script Debugger</source>
+ <translation>Отладчик Ńценариев Qt</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptNewBreakpointWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScrollBar</name>
+ <message>
+ <source>Scroll here</source>
+ <translation>ПрокрŃтить ŃŃŽĐ´Đ°</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>К левой границе</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>Вверх</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>К правой границе</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>Вниз</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛Đ»ĐµĐ˛Đľ</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛Đ˛ĐµŃ€Ń…</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛ĐżŃ€Đ°Đ˛Đľ</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛Đ˝Đ¸Đ·</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>ПрокрŃтить влево</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>ПрокрŃтить вверх</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>ПрокрŃтить вправо</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>ПрокрŃтить вниз</translation>
+ </message>
+ <message>
+ <source>Line up</source>
+ <translation>На ŃŃ‚Ń€ĐľĐşŃ Đ˛Đ˛ĐµŃ€Ń…</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>Положение</translation>
+ </message>
+ <message>
+ <source>Line down</source>
+ <translation>На ŃŃ‚Ń€ĐľĐşŃ Đ˛Đ˝Đ¸Đ·</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSharedMemory</name>
+ <message>
+ <source>%1: create size is less then 0</source>
+ <translation>%1: размер меньŃе Đ˝Ńля</translation>
+ </message>
+ <message>
+ <source>%1: unable to lock</source>
+ <translation>%1: невозможно заблокировать</translation>
+ </message>
+ <message>
+ <source>%1: unable to unlock</source>
+ <translation>%1: невозможно разблокировать</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1: Đ´ĐľŃŃ‚ŃĐż запрещён</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1: Ńже ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exists</source>
+ <translation>%1: не ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1: недоŃтаточно реŃŃŃ€Ńов</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1: неизвеŃтная ĐľŃибка %2</translation>
+ </message>
+ <message>
+ <source>%1: key is empty</source>
+ <translation>%1: ĐżŃŃтой ключ</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <translation>%1: ĐľŃибка ftok</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <translation>%1: невозможно Ńоздать ключ</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exist</source>
+ <translation>%1: не ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: UNIX key file doesn&apos;t exist</source>
+ <translation>%1: ŃпецифичеŃкий ключ UNIX не ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: system-imposed size restrictions</source>
+ <translation>%1: ŃиŃтемой наложены ограничения на размер</translation>
+ </message>
+ <message>
+ <source>%1: not attached</source>
+ <translation>%1: не приложенный</translation>
+ </message>
+ <message>
+ <source>%1: invalid size</source>
+ <translation>%1: некорректный размер</translation>
+ </message>
+ <message>
+ <source>%1: key error</source>
+ <translation>%1: некорректный ключ</translation>
+ </message>
+ <message>
+ <source>%1: size query failed</source>
+ <translation>%1: не ŃдалоŃŃŚ запроŃить размер</translation>
+ </message>
+ <message>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1: невозможно ŃŃтановить ключ на блокировкŃ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QShortcut</name>
+ <message>
+ <source>Space</source>
+ <translation>Пробел</translation>
+ </message>
+ <message>
+ <source>Esc</source>
+ <translation>Esc</translation>
+ </message>
+ <message>
+ <source>Tab</source>
+ <translation>Tab</translation>
+ </message>
+ <message>
+ <source>Backtab</source>
+ <translation>Обратная табŃляция</translation>
+ </message>
+ <message>
+ <source>Backspace</source>
+ <translation>Backspace</translation>
+ </message>
+ <message>
+ <source>Return</source>
+ <translation>Возврат</translation>
+ </message>
+ <message>
+ <source>Enter</source>
+ <translation>Ввод</translation>
+ </message>
+ <message>
+ <source>Ins</source>
+ <translation>Ins</translation>
+ </message>
+ <message>
+ <source>Del</source>
+ <translation>Del</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <translation>ПаŃĐ·Đ°</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Đ Đ°Ńпечатать</translation>
+ </message>
+ <message>
+ <source>SysReq</source>
+ <translation>SysReq</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Главный</translation>
+ </message>
+ <message>
+ <source>End</source>
+ <translation>ЗаверŃить</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>Влево</translation>
+ </message>
+ <message>
+ <source>Up</source>
+ <translation>Вверх</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>Вправо</translation>
+ </message>
+ <message>
+ <source>Down</source>
+ <translation>Вниз</translation>
+ </message>
+ <message>
+ <source>PgUp</source>
+ <translation>PgUp</translation>
+ </message>
+ <message>
+ <source>PgDown</source>
+ <translation>PgDown</translation>
+ </message>
+ <message>
+ <source>CapsLock</source>
+ <translation>CapsLock</translation>
+ </message>
+ <message>
+ <source>NumLock</source>
+ <translation>NumLock</translation>
+ </message>
+ <message>
+ <source>ScrollLock</source>
+ <translation>ScrollLock</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>Меню</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Справка</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>Назад</translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>Вперёд</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation>ĐžŃтановить</translation>
+ </message>
+ <message>
+ <source>Refresh</source>
+ <translation>Обновить</translation>
+ </message>
+ <message>
+ <source>Volume Down</source>
+ <translation>ТиŃе</translation>
+ </message>
+ <message>
+ <source>Volume Mute</source>
+ <translation>Выключить звŃĐş</translation>
+ </message>
+ <message>
+ <source>Volume Up</source>
+ <translation>Громче</translation>
+ </message>
+ <message>
+ <source>Bass Boost</source>
+ <translation>ĐŁŃиление баŃов</translation>
+ </message>
+ <message>
+ <source>Bass Up</source>
+ <translation>Увеличить баŃŃ‹</translation>
+ </message>
+ <message>
+ <source>Bass Down</source>
+ <translation>УменьŃить баŃŃ‹</translation>
+ </message>
+ <message>
+ <source>Treble Up</source>
+ <translation>Увеличить ВЧ</translation>
+ </message>
+ <message>
+ <source>Treble Down</source>
+ <translation>УменьŃить ВЧ</translation>
+ </message>
+ <message>
+ <source>Media Play</source>
+ <translation>Đ’ĐľŃпроизведение</translation>
+ </message>
+ <message>
+ <source>Media Stop</source>
+ <translation>ĐžŃтановить воŃпроизведение</translation>
+ </message>
+ <message>
+ <source>Media Previous</source>
+ <translation>Đ’ĐľŃпроизвеŃти предыдŃщее</translation>
+ </message>
+ <message>
+ <source>Media Next</source>
+ <translation>Đ’ĐľŃпроизвеŃти ŃледŃющее</translation>
+ </message>
+ <message>
+ <source>Media Record</source>
+ <translation>ЗапиŃŃŚ</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>Đзбранное</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>ПоиŃĐş</translation>
+ </message>
+ <message>
+ <source>Standby</source>
+ <translation>Режим ожидания</translation>
+ </message>
+ <message>
+ <source>Open URL</source>
+ <translation>Открыть URL</translation>
+ </message>
+ <message>
+ <source>Launch Mail</source>
+ <translation>Почта</translation>
+ </message>
+ <message>
+ <source>Launch Media</source>
+ <translation>Проигрыватель</translation>
+ </message>
+ <message>
+ <source>Launch (0)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (0)</translation>
+ </message>
+ <message>
+ <source>Launch (1)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (1)</translation>
+ </message>
+ <message>
+ <source>Launch (2)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (2)</translation>
+ </message>
+ <message>
+ <source>Launch (3)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (3)</translation>
+ </message>
+ <message>
+ <source>Launch (4)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (4)</translation>
+ </message>
+ <message>
+ <source>Launch (5)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (5)</translation>
+ </message>
+ <message>
+ <source>Launch (6)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (6)</translation>
+ </message>
+ <message>
+ <source>Launch (7)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (7)</translation>
+ </message>
+ <message>
+ <source>Launch (8)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (8)</translation>
+ </message>
+ <message>
+ <source>Launch (9)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (9)</translation>
+ </message>
+ <message>
+ <source>Launch (A)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (A)</translation>
+ </message>
+ <message>
+ <source>Launch (B)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (B)</translation>
+ </message>
+ <message>
+ <source>Launch (C)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (C)</translation>
+ </message>
+ <message>
+ <source>Launch (D)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (D)</translation>
+ </message>
+ <message>
+ <source>Launch (E)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (E)</translation>
+ </message>
+ <message>
+ <source>Launch (F)</source>
+ <translation>Đ—Đ°ĐżŃŃтить (F)</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Up</source>
+ <translation>Увеличить яркоŃŃ‚ŃŚ монитора</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Down</source>
+ <translation>УменьŃить яркоŃŃ‚ŃŚ монитора</translation>
+ </message>
+ <message>
+ <source>Keyboard Light On/Off</source>
+ <translation>Вкл./Откл. подŃĐ˛ĐµŃ‚ĐşŃ ĐşĐ»Đ°Đ˛Đ¸Đ°Ń‚Ńры</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Up</source>
+ <translation>Увеличить яркоŃŃ‚ŃŚ клавиатŃры</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Down</source>
+ <translation>УменьŃить яркоŃŃ‚ŃŚ клавиатŃры</translation>
+ </message>
+ <message>
+ <source>Power Off</source>
+ <translation>Откл. питание</translation>
+ </message>
+ <message>
+ <source>Wake Up</source>
+ <translation>ПроŃĐ˝ŃŃ‚ŃŚŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Eject</source>
+ <translation>Đзвлечь</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Экранная Đ·Đ°Ńтавка</translation>
+ </message>
+ <message>
+ <source>WWW</source>
+ <translation>WWW</translation>
+ </message>
+ <message>
+ <source>Sleep</source>
+ <translation>Спящий режим</translation>
+ </message>
+ <message>
+ <source>LightBulb</source>
+ <translation>Лампочка</translation>
+ </message>
+ <message>
+ <source>Shop</source>
+ <translation>Магазин</translation>
+ </message>
+ <message>
+ <source>History</source>
+ <translation>ĐŃтория</translation>
+ </message>
+ <message>
+ <source>Add Favorite</source>
+ <translation>Добавить избранные</translation>
+ </message>
+ <message>
+ <source>Hot Links</source>
+ <translation>Đктивные ŃŃылки</translation>
+ </message>
+ <message>
+ <source>Adjust Brightness</source>
+ <translation>НаŃтроить яркоŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Finance</source>
+ <translation>ФинанŃŃ‹</translation>
+ </message>
+ <message>
+ <source>Community</source>
+ <translation>СообщеŃтво</translation>
+ </message>
+ <message>
+ <source>Audio Rewind</source>
+ <translation>Перемотка Đ°Ńдио назад</translation>
+ </message>
+ <message>
+ <source>Back Forward</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Application Left</source>
+ <translation>Приложение Ńлева</translation>
+ </message>
+ <message>
+ <source>Application Right</source>
+ <translation>Приложение Ńправа</translation>
+ </message>
+ <message>
+ <source>Book</source>
+ <translation>Книга</translation>
+ </message>
+ <message>
+ <source>CD</source>
+ <translation>Компакт-диŃĐş</translation>
+ </message>
+ <message>
+ <source>Calculator</source>
+ <translation>КалькŃлятор</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>ОчиŃтить</translation>
+ </message>
+ <message>
+ <source>Clear Grab</source>
+ <translation>ОчиŃтить бŃфер</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Закрыть</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>Скопировать</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <translation>Вырезать</translation>
+ </message>
+ <message>
+ <source>Display</source>
+ <translation>ДиŃплей</translation>
+ </message>
+ <message>
+ <source>DOS</source>
+ <translation>DOS</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>ДокŃменты</translation>
+ </message>
+ <message>
+ <source>Spreadsheet</source>
+ <translation>Электронная таблица</translation>
+ </message>
+ <message>
+ <source>Browser</source>
+ <translation>БраŃзер</translation>
+ </message>
+ <message>
+ <source>Game</source>
+ <translation>Đгра</translation>
+ </message>
+ <message>
+ <source>Go</source>
+ <translation>Перейти</translation>
+ </message>
+ <message>
+ <source>iTouch</source>
+ <translation>iTouch</translation>
+ </message>
+ <message>
+ <source>Logoff</source>
+ <translation>Выйти</translation>
+ </message>
+ <message>
+ <source>Market</source>
+ <translation>Рынок</translation>
+ </message>
+ <message>
+ <source>Meeting</source>
+ <translation>Đ’Ńтреча</translation>
+ </message>
+ <message>
+ <source>Keyboard Menu</source>
+ <translation>Меню клавиатŃры</translation>
+ </message>
+ <message>
+ <source>Menu PB</source>
+ <translation>Меню PB</translation>
+ </message>
+ <message>
+ <source>My Sites</source>
+ <translation>Мои Ńайты</translation>
+ </message>
+ <message>
+ <source>News</source>
+ <translation>НовоŃти</translation>
+ </message>
+ <message>
+ <source>Home Office</source>
+ <translation>ДомаŃний офиŃ</translation>
+ </message>
+ <message>
+ <source>Option</source>
+ <translation>ФŃнкция</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <translation>Đ’Ńтавить</translation>
+ </message>
+ <message>
+ <source>Phone</source>
+ <translation>Телефон</translation>
+ </message>
+ <message>
+ <source>Reply</source>
+ <translation>Ответить</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>ПерезагрŃзить</translation>
+ </message>
+ <message>
+ <source>Rotate Windows</source>
+ <translation>ПовернŃŃ‚ŃŚ Windows</translation>
+ </message>
+ <message>
+ <source>Rotation PB</source>
+ <translation>Поворот PB</translation>
+ </message>
+ <message>
+ <source>Rotation KB</source>
+ <translation>Поворот KB</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Сохранить</translation>
+ </message>
+ <message>
+ <source>Send</source>
+ <translation>Передать</translation>
+ </message>
+ <message>
+ <source>Spellchecker</source>
+ <translation>Проверка правопиŃания</translation>
+ </message>
+ <message>
+ <source>Split Screen</source>
+ <translation>Разделить экран</translation>
+ </message>
+ <message>
+ <source>Support</source>
+ <translation>Поддержка</translation>
+ </message>
+ <message>
+ <source>Task Panel</source>
+ <translation>Панель задач</translation>
+ </message>
+ <message>
+ <source>Terminal</source>
+ <translation>Терминал</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>ĐĐ˝ŃŃ‚Ń€Ńменты</translation>
+ </message>
+ <message>
+ <source>Travel</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Видео</translation>
+ </message>
+ <message>
+ <source>Word Processor</source>
+ <translation>Редактор текŃŃ‚Đ°</translation>
+ </message>
+ <message>
+ <source>XFer</source>
+ <translation>XFer</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>Увеличить</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>УменьŃить</translation>
+ </message>
+ <message>
+ <source>Away</source>
+ <translation>ОтŃŃŃ‚ŃтвŃет</translation>
+ </message>
+ <message>
+ <source>Messenger</source>
+ <translation>Messenger</translation>
+ </message>
+ <message>
+ <source>WebCam</source>
+ <translation>WebCam</translation>
+ </message>
+ <message>
+ <source>Mail Forward</source>
+ <translation>ПереŃлать почтŃ</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Фотографии</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>ĐśŃзыка</translation>
+ </message>
+ <message>
+ <source>Battery</source>
+ <translation>ĐккŃĐĽŃлятор</translation>
+ </message>
+ <message>
+ <source>Bluetooth</source>
+ <translation>Bluetooth</translation>
+ </message>
+ <message>
+ <source>Wireless</source>
+ <translation>БеŃпроводной</translation>
+ </message>
+ <message>
+ <source>Ultra Wide Band</source>
+ <translation>СверхŃирокий диапазон</translation>
+ </message>
+ <message>
+ <source>Audio Forward</source>
+ <translation>Перемотка Đ°Ńдио вперед</translation>
+ </message>
+ <message>
+ <source>Audio Repeat</source>
+ <translation>Повтор Đ°Ńдио</translation>
+ </message>
+ <message>
+ <source>Audio Random Play</source>
+ <translation>Đ’ĐľŃпроизведение Đ°Ńдио в ŃĐ»Ńчайном порядке</translation>
+ </message>
+ <message>
+ <source>Subtitle</source>
+ <translation>Подзаголовок</translation>
+ </message>
+ <message>
+ <source>Audio Cycle Track</source>
+ <translation>Повтор Đ°Ńдиодорожки</translation>
+ </message>
+ <message>
+ <source>Time</source>
+ <translation>Время</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>Вид</translation>
+ </message>
+ <message>
+ <source>Top Menu</source>
+ <translation>Верхнее меню</translation>
+ </message>
+ <message>
+ <source>Suspend</source>
+ <translation>ПриоŃтановить</translation>
+ </message>
+ <message>
+ <source>Hibernate</source>
+ <translation>Спящий режим</translation>
+ </message>
+ <message>
+ <source>Print Screen</source>
+ <translation>Печать экрана</translation>
+ </message>
+ <message>
+ <source>Page Up</source>
+ <translation>Страница вверх</translation>
+ </message>
+ <message>
+ <source>Page Down</source>
+ <translation>Страница вниз</translation>
+ </message>
+ <message>
+ <source>Caps Lock</source>
+ <translation>Caps Lock</translation>
+ </message>
+ <message>
+ <source>Num Lock</source>
+ <translation>Num Lock</translation>
+ </message>
+ <message>
+ <source>Number Lock</source>
+ <translation>Режим ввода цифр</translation>
+ </message>
+ <message>
+ <source>Scroll Lock</source>
+ <translation>Блокировка прокрŃтки</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Đ’Ńтавить</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Escape</source>
+ <translation>Выход</translation>
+ </message>
+ <message>
+ <source>System Request</source>
+ <translation>СиŃтемный запроŃ</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>Выбрать</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>Да</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <source>Context1</source>
+ <translation>КонтекŃŃ‚1</translation>
+ </message>
+ <message>
+ <source>Context2</source>
+ <translation>КонтекŃŃ‚2</translation>
+ </message>
+ <message>
+ <source>Context3</source>
+ <translation>КонтекŃŃ‚3</translation>
+ </message>
+ <message>
+ <source>Context4</source>
+ <translation>КонтекŃŃ‚4</translation>
+ </message>
+ <message>
+ <source>Call</source>
+ <translation>Вызов</translation>
+ </message>
+ <message>
+ <source>Hangup</source>
+ <translation>ЗаверŃить вызов</translation>
+ </message>
+ <message>
+ <source>Flip</source>
+ <translation>ПеревернŃŃ‚ŃŚ</translation>
+ </message>
+ <message>
+ <source>Ctrl</source>
+ <translation>Ctrl</translation>
+ </message>
+ <message>
+ <source>Shift</source>
+ <translation>Shift</translation>
+ </message>
+ <message>
+ <source>Alt</source>
+ <translation>Alt</translation>
+ </message>
+ <message>
+ <source>Meta</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>+</source>
+ <translation>+</translation>
+ </message>
+ <message>
+ <source>F%1</source>
+ <translation>F%1</translation>
+ </message>
+ <message>
+ <source>Home Page</source>
+ <translation>Главная Ńтраница</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSlider</name>
+ <message>
+ <source>Page left</source>
+ <translation>Страница влево</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>Страница вверх</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>Положение</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>Страница вправо</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>Страница вниз</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSocks5SocketEngine</name>
+ <message>
+ <source>Connection to proxy refused</source>
+ <translation>Đ’ Ńоединении Ń ĐżŃ€ĐľĐşŃи-Ńервером отказано</translation>
+ </message>
+ <message>
+ <source>Connection to proxy closed prematurely</source>
+ <translation>Соединение Ń ĐżŃ€ĐľĐşŃи-Ńервером неожиданно закрыто</translation>
+ </message>
+ <message>
+ <source>Proxy host not found</source>
+ <translation>ПрокŃи-Ńервер не найден</translation>
+ </message>
+ <message>
+ <source>Connection to proxy timed out</source>
+ <translation>Время на Ńоединение Ń ĐżŃ€ĐľĐşŃи-Ńервером иŃтекло</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed</source>
+ <translation>Не ŃдалоŃŃŚ авторизоватьŃŃŹ на прокŃи-Ńервере</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed: %1</source>
+ <translation>Не ŃдалоŃŃŚ авторизоватьŃŃŹ на прокŃи-Ńервере: %1</translation>
+ </message>
+ <message>
+ <source>SOCKS version 5 protocol error</source>
+ <translation>ĐžŃибка протокола SOCKSv5</translation>
+ </message>
+ <message>
+ <source>General SOCKSv5 server failure</source>
+ <translation>ĐžŃибка Ńервере SOCKSv5</translation>
+ </message>
+ <message>
+ <source>Connection not allowed by SOCKSv5 server</source>
+ <translation>Соединение не разреŃено Ńервером SOCKSv5</translation>
+ </message>
+ <message>
+ <source>TTL expired</source>
+ <translation>TTL иŃтекло</translation>
+ </message>
+ <message>
+ <source>SOCKSv5 command not supported</source>
+ <translation>Команда SOCKSv5 не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Address type not supported</source>
+ <translation>Тип адреŃĐ° не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Unknown SOCKSv5 proxy error code 0x%1</source>
+ <translation>НеизвеŃтная ĐľŃибка SOCKSv5 прокŃи (код 0x%1)</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>Время на ŃетевŃŃŽ операцию иŃтекло</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSoftKeyManager</name>
+ <message>
+ <source>Ok</source>
+ <translation>ОК</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>Выбрать</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>Готово</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>Параметры</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>Выход</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>БольŃе</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>МеньŃе</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSql</name>
+ <message>
+ <source>Delete</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Delete this record?</source>
+ <translation>Удалить даннŃŃŽ запиŃŃŚ?</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>Да</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>Нет</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Đ’Ńтавить</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>Обновить</translation>
+ </message>
+ <message>
+ <source>Save edits?</source>
+ <translation>Сохранить изменения?</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>Confirm</source>
+ <translation>Подтверждение</translation>
+ </message>
+ <message>
+ <source>Cancel your edits?</source>
+ <translation>Отменить изменения?</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSslSocket</name>
+ <message>
+ <source>Unable to write data: %1</source>
+ <translation>Невозможно запиŃĐ°Ń‚ŃŚ данные: %1</translation>
+ </message>
+ <message>
+ <source>Unable to decrypt data: %1</source>
+ <translation>Невозможно раŃŃифровать данные: %1</translation>
+ </message>
+ <message>
+ <source>Error while reading: %1</source>
+ <translation>ĐžŃибка чтения: %1</translation>
+ </message>
+ <message>
+ <source>Error during SSL handshake: %1</source>
+ <translation>ĐžŃибка квитирования SSL: %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL context (%1)</source>
+ <translation>ĐžŃибка Ńоздания контекŃŃ‚Đ° SSL: (%1)</translation>
+ </message>
+ <message>
+ <source>Invalid or empty cipher list (%1)</source>
+ <translation>Неправильный или ĐżŃŃтой ŃпиŃок Ńифров (%1)</translation>
+ </message>
+ <message>
+ <source>Private key does not certify public key, %1</source>
+ <translation>ЧаŃтный ключ не подтверждает общий ключ, %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session, %1</source>
+ <translation>ĐžŃибка Ńоздания ŃеŃŃии SSL, %1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session: %1</source>
+ <translation>ĐžŃибка Ńоздания ŃеŃŃии SSL: %1</translation>
+ </message>
+ <message>
+ <source>Cannot provide a certificate with no key, %1</source>
+ <translation>Невозможно предоŃтавить Ńертификат без ключа, %1</translation>
+ </message>
+ <message>
+ <source>Error loading local certificate, %1</source>
+ <translation>ĐžŃибка загрŃзки локального Ńертификата, %1</translation>
+ </message>
+ <message>
+ <source>Error loading private key, %1</source>
+ <translation>ĐžŃибка загрŃзки закрытого ключа, %1</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>Нет ĐľŃибки</translation>
+ </message>
+ <message>
+ <source>The issuer certificate could not be found</source>
+ <translation>Невозможно найти Ńертификат издателя</translation>
+ </message>
+ <message>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>Невозможно раŃŃифровать подпиŃŃŚ Ńертификата</translation>
+ </message>
+ <message>
+ <source>The public key in the certificate could not be read</source>
+ <translation>Невозможно прочитать общий ключ Ńертификата</translation>
+ </message>
+ <message>
+ <source>The signature of the certificate is invalid</source>
+ <translation>Неверная подпиŃŃŚ Ńертификата</translation>
+ </message>
+ <message>
+ <source>The certificate is not yet valid</source>
+ <translation>Сертификат еще не дейŃтвŃет</translation>
+ </message>
+ <message>
+ <source>The certificate has expired</source>
+ <translation>Сертификат иŃтек</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>Поле notBefore Ńертификата Ńодержит неверное время</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>Поле notAfter Ńертификата Ńодержит неверное время</translation>
+ </message>
+ <message>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation>Сертификаты Ń Đ˛Đ˝Ńтренней подпиŃŃŚŃŽ и не проверены</translation>
+ </message>
+ <message>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation>Корневой Ńертификат цепочки Ńертификатов имеет внŃтреннюю подппиŃŃŚ и не проверен</translation>
+ </message>
+ <message>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation>Невозможно найти Ńертификат издателя локального Ńертификата</translation>
+ </message>
+ <message>
+ <source>No certificates could be verified</source>
+ <translation>Невозможно проверить Ńертификаты</translation>
+ </message>
+ <message>
+ <source>One of the CA certificates is invalid</source>
+ <translation>Один из Ńертификатов центра Ńертификации неверный</translation>
+ </message>
+ <message>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation>ПревыŃено значение параметра длины ĐżŃти basicConstraints</translation>
+ </message>
+ <message>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation>ПредŃтавленный Ńертификат непригоден для этой цели</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation>Корневой Ńертификат ЦС не проверен для этой цели</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation>Корневой Ńертификат ЦС отмечен для отклонения для Ńказанной цели</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
+ <translation>ТекŃщий кандидат Ńертификат издателя отклонен, Ń‚Đ°Đş как название темы не Ńовпадает Ń Đ˝Đ°Đ·Đ˛Đ°Đ˝Đ¸ĐµĐĽ издателя текŃщего Ńертификата</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
+ <translation>ТекŃщий кандидат Ńертификат издателя отклонен, Ń‚Đ°Đş как его название издателя и Ńерийный номер не Ńовпадают Ń Đ¸Đ´ĐµĐ˝Ń‚Đ¸Ń„Đ¸ĐşĐ°Ń‚ĐľŃ€ĐľĐĽ ключа текŃщего Ńертификата</translation>
+ </message>
+ <message>
+ <source>The peer did not present any certificate</source>
+ <translation>Сертификат не предŃтавлен</translation>
+ </message>
+ <message>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>ĐĐĽŃŹ владельца не Ńовпадает Ń Đ´ĐľĐżŃŃтимыми владельцами Ńертификата</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ </context>
+ <context>
+ <name>QStateMachine</name>
+ <message>
+ <source>Missing initial state in compound state &apos;%1&apos;</source>
+ <translation>ОтŃŃŃ‚ŃтвŃет иŃходное ŃĐľŃтояние в ŃĐľŃтавном ŃĐľŃтоянии &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Missing default state in history state &apos;%1&apos;</source>
+ <translation>ОтŃŃŃ‚ŃтвŃет ŃĐľŃтояние по Ńмолчанию в иŃторичеŃком ŃĐľŃтоянии &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
+ <translation>Нет общего предка для целей и иŃточника перехода из ŃĐľŃтояния &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>НеизвеŃтная ĐľŃибка</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSystemSemaphore</name>
+ <message>
+ <source>%1: does not exist</source>
+ <translation>%1: не ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1: недоŃтаточно реŃŃŃ€Ńов</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1: Đ´ĐľŃŃ‚ŃĐż запрещён</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1: Ńже ŃŃщеŃтвŃет</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1: неизвеŃтная ĐľŃибка %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTDSDriver</name>
+ <message>
+ <source>Unable to open connection</source>
+ <translation>Невозможно открыть Ńоединение</translation>
+ </message>
+ <message>
+ <source>Unable to use database</source>
+ <translation>Невозможно иŃпользовать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTabBar</name>
+ <message>
+ <source>Scroll Left</source>
+ <translation>ПрокрŃтить влево</translation>
+ </message>
+ <message>
+ <source>Scroll Right</source>
+ <translation>ПрокрŃтить вправо</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTcpServer</name>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>Операция Ń Ńокетом не поддерживаетŃŃŹ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTextControl</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>&amp;Отменить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>&amp;Повторить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>&amp;Вырезать</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>&amp;Копировать</translation>
+ </message>
+ <message>
+ <source>Copy &amp;Link Location</source>
+ <translation>Скопировать &amp;Đ°Đ´Ń€ĐµŃ ŃŃылки</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>Đ’&amp;Ńтавить</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Удалить</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>Выделить вŃŃ‘</translation>
+ </message>
+ </context>
+ <context>
+ <name>QToolButton</name>
+ <message>
+ <source>Press</source>
+ <translation>Нажать</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Открыть</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUdpSocket</name>
+ <message>
+ <source>This platform does not support IPv6</source>
+ <translation>Данная платформа не поддерживает IPv6</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoGroup</name>
+ <message>
+ <source>Undo</source>
+ <translation>Отменить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>Повторить дейŃтвие</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoModel</name>
+ <message>
+ <source>&lt;empty&gt;</source>
+ <translation>&lt;ĐżŃŃŃ‚Đľ&gt;</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoStack</name>
+ <message>
+ <source>Undo</source>
+ <translation>Отменить дейŃтвие</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>Повторить дейŃтвие</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUnicodeControlCharacterMenu</name>
+ <message>
+ <source>LRM Left-to-right mark</source>
+ <translation>LRM Признак пиŃŃŚĐĽĐ° Ńлева направо</translation>
+ </message>
+ <message>
+ <source>RLM Right-to-left mark</source>
+ <translation>RLM Признак пиŃŃŚĐĽĐ° Ńправа налево</translation>
+ </message>
+ <message>
+ <source>ZWJ Zero width joiner</source>
+ <translation>ZWJ Объединяющий Ńимвол Đ˝Ńлевой Ńирины</translation>
+ </message>
+ <message>
+ <source>ZWNJ Zero width non-joiner</source>
+ <translation>ZWNJ Не объединяющий Ńимвол Đ˝Ńлевой Ńирины</translation>
+ </message>
+ <message>
+ <source>ZWSP Zero width space</source>
+ <translation>ZWSP Пробел Đ˝Ńлевой Ńирины</translation>
+ </message>
+ <message>
+ <source>LRE Start of left-to-right embedding</source>
+ <translation>LRE Начать вŃтраивание Ńлева направо</translation>
+ </message>
+ <message>
+ <source>RLE Start of right-to-left embedding</source>
+ <translation>RLE Начать вŃтраивание Ńправа налево</translation>
+ </message>
+ <message>
+ <source>LRO Start of left-to-right override</source>
+ <translation>LRE Начать Đ·Đ°ĐĽĐµĐ˝Ń Ńлева направо</translation>
+ </message>
+ <message>
+ <source>RLO Start of right-to-left override</source>
+ <translation>RLE Начать Đ·Đ°ĐĽĐµĐ˝Ń Ńправа налево</translation>
+ </message>
+ <message>
+ <source>PDF Pop directional formatting</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>Insert Unicode control character</source>
+ <translation>Đ’Ńтавить Ńправляющий Ńимвол Unicode</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebFrame</name>
+ <message>
+ <source>Request cancelled</source>
+ <translation>Đ—Đ°ĐżŃ€ĐľŃ ĐľŃ‚ĐĽĐµĐ˝Ń‘Đ˝</translation>
+ </message>
+ <message>
+ <source>Request blocked</source>
+ <translation>Đ—Đ°ĐżŃ€ĐľŃ Đ±Đ»ĐľĐşĐ¸Ń€ĐľĐ˛Đ°Đ˝</translation>
+ </message>
+ <message>
+ <source>Cannot show URL</source>
+ <translation>Невозможно отобразить URL</translation>
+ </message>
+ <message>
+ <source>Frame load interrupted by policy change</source>
+ <translation>ЗагрŃзка фрейма прервана изменением политики</translation>
+ </message>
+ <message>
+ <source>Cannot show mimetype</source>
+ <translation>Невозможно отобразить тип MIME</translation>
+ </message>
+ <message>
+ <source>File does not exist</source>
+ <translation>Файл не ŃŃщеŃтвŃет</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebPage</name>
+ <message>
+ <source>Submit</source>
+ <comment>default label for Submit buttons in forms on web pages</comment>
+ <translation>Отправить</translation>
+ </message>
+ <message>
+ <source>Submit</source>
+ <comment>Submit (input element) alt text for &lt;input&gt; elements with no alt, title, or value</comment>
+ <translation>Отправить</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <comment>default label for Reset buttons in forms on web pages</comment>
+ <translation>СброŃить</translation>
+ </message>
+ <message>
+ <source>Choose File</source>
+ <comment>title for file button used in HTML forms</comment>
+ <translation>Обзор...</translation>
+ </message>
+ <message>
+ <source>No file selected</source>
+ <comment>text to display in file button used in HTML forms when no file is selected</comment>
+ <translation>Файл не Ńказан</translation>
+ </message>
+ <message>
+ <source>Open in New Window</source>
+ <comment>Open in New Window context menu item</comment>
+ <translation>Открыть в новом окне</translation>
+ </message>
+ <message>
+ <source>Save Link...</source>
+ <comment>Download Linked File context menu item</comment>
+ <translation>Сохранить по ŃŃылке как...</translation>
+ </message>
+ <message>
+ <source>Copy Link</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>Копировать Đ°Đ´Ń€ĐµŃ ŃŃылки</translation>
+ </message>
+ <message>
+ <source>Open Image</source>
+ <comment>Open Image in New Window context menu item</comment>
+ <translation>Открыть изображение</translation>
+ </message>
+ <message>
+ <source>Save Image</source>
+ <comment>Download Image context menu item</comment>
+ <translation>Сохранить изображение</translation>
+ </message>
+ <message>
+ <source>Copy Image</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>Копировать изображение в бŃффер обмена</translation>
+ </message>
+ <message>
+ <source>Open Frame</source>
+ <comment>Open Frame in New Window context menu item</comment>
+ <translation>Открыть фрейм</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <comment>Copy context menu item</comment>
+ <translation>Копировать</translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <comment>Back context menu item</comment>
+ <translation>Назад</translation>
+ </message>
+ <message>
+ <source>Go Forward</source>
+ <comment>Forward context menu item</comment>
+ <translation>Вперёд</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <comment>Stop context menu item</comment>
+ <translation>ĐžŃтановить</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <comment>Reload context menu item</comment>
+ <translation>Обновить</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <comment>Cut context menu item</comment>
+ <translation>Вырезать</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <comment>Paste context menu item</comment>
+ <translation>Đ’Ńтавить</translation>
+ </message>
+ <message>
+ <source>No Guesses Found</source>
+ <comment>No Guesses Found context menu item</comment>
+ <translation>Неверное Ńлово</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Spelling context menu item</comment>
+ <translation>ПропŃŃтить</translation>
+ </message>
+ <message>
+ <source>Add To Dictionary</source>
+ <comment>Learn Spelling context menu item</comment>
+ <translation>Добавить в Ńловарь</translation>
+ </message>
+ <message>
+ <source>Search The Web</source>
+ <comment>Search The Web context menu item</comment>
+ <translation>ĐŃкать в Đнтернет</translation>
+ </message>
+ <message>
+ <source>Look Up In Dictionary</source>
+ <comment>Look Up in Dictionary context menu item</comment>
+ <translation>ĐŃкать в Ńловаре</translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <comment>Open Link context menu item</comment>
+ <translation>Открыть ŃŃылкŃ</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Grammar context menu item</comment>
+ <translation>ПропŃŃтить</translation>
+ </message>
+ <message>
+ <source>Spelling</source>
+ <comment>Spelling and Grammar context sub-menu item</comment>
+ <translation>Орфография</translation>
+ </message>
+ <message>
+ <source>Show Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation>Показать панель проверки правопиŃания</translation>
+ </message>
+ <message>
+ <source>Hide Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation>Скрыть панель проверки правопиŃания</translation>
+ </message>
+ <message>
+ <source>Check Spelling</source>
+ <comment>Check spelling context menu item</comment>
+ <translation>Проверка орфографии</translation>
+ </message>
+ <message>
+ <source>Check Spelling While Typing</source>
+ <comment>Check spelling while typing context menu item</comment>
+ <translation>Проверять орфографию при наборе текŃŃ‚Đ°</translation>
+ </message>
+ <message>
+ <source>Check Grammar With Spelling</source>
+ <comment>Check grammar with spelling context menu item</comment>
+ <translation>Проверять ĐłŃ€Đ°ĐĽĐĽĐ°Ń‚Đ¸ĐşŃ Ń ĐľŃ€Ń„ĐľĐłŃ€Đ°Ń„Đ¸ĐµĐą</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <comment>Font context sub-menu item</comment>
+ <translation>Шрифты</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <comment>Bold context menu item</comment>
+ <translation>Жирный</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <comment>Italic context menu item</comment>
+ <translation>ĐšŃŃ€Ńив</translation>
+ </message>
+ <message>
+ <source>Underline</source>
+ <comment>Underline context menu item</comment>
+ <translation>ПодчёркнŃŃ‚Ń‹Đą</translation>
+ </message>
+ <message>
+ <source>Outline</source>
+ <comment>Outline context menu item</comment>
+ <translation>ПеречёркнŃŃ‚Ń‹Đą</translation>
+ </message>
+ <message>
+ <source>Direction</source>
+ <comment>Writing direction context sub-menu item</comment>
+ <translation>Направление пиŃŃŚĐĽĐ°</translation>
+ </message>
+ <message>
+ <source>Text Direction</source>
+ <comment>Text direction context sub-menu item</comment>
+ <translation>Направление текŃŃ‚Đ°</translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <comment>Default writing direction context menu item</comment>
+ <translation>По Ńмолчанию</translation>
+ </message>
+ <message>
+ <source>Left to Right</source>
+ <comment>Left to Right context menu item</comment>
+ <translation>Слева направо</translation>
+ </message>
+ <message>
+ <source>Right to Left</source>
+ <comment>Right to Left context menu item</comment>
+ <translation>Справа налево</translation>
+ </message>
+ <message>
+ <source>Loading...</source>
+ <comment>Media controller status message when the media is loading</comment>
+ <translation>ЗагрŃзка...</translation>
+ </message>
+ <message>
+ <source>Live Broadcast</source>
+ <comment>Media controller status message when watching a live broadcast</comment>
+ <translation>Потоковое вещание</translation>
+ </message>
+ <message>
+ <source>Audio Element</source>
+ <comment>Media controller element</comment>
+ <translation>ĐŃдио-элемент</translation>
+ </message>
+ <message>
+ <source>Video Element</source>
+ <comment>Media controller element</comment>
+ <translation>Видеоэлемент</translation>
+ </message>
+ <message>
+ <source>Mute Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;Отключить звŃĐş&quot;</translation>
+ </message>
+ <message>
+ <source>Unmute Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;Включить звŃĐş&quot;</translation>
+ </message>
+ <message>
+ <source>Play Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка воŃпроизведения</translation>
+ </message>
+ <message>
+ <source>Pause Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;ПаŃĐ·Đ°&quot;</translation>
+ </message>
+ <message>
+ <source>Slider</source>
+ <comment>Media controller element</comment>
+ <translation>РегŃлятор</translation>
+ </message>
+ <message>
+ <source>Slider Thumb</source>
+ <comment>Media controller element</comment>
+ <translation>Метка регŃлятора</translation>
+ </message>
+ <message>
+ <source>Rewind Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;Перемотка назад&quot;</translation>
+ </message>
+ <message>
+ <source>Return to Real-time Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;ВернŃŃ‚ŃŚ в реальное время&quot;</translation>
+ </message>
+ <message>
+ <source>Elapsed Time</source>
+ <comment>Media controller element</comment>
+ <translation>ПроŃедŃее время</translation>
+ </message>
+ <message>
+ <source>Remaining Time</source>
+ <comment>Media controller element</comment>
+ <translation>ĐžŃтавŃееŃŃŹ время</translation>
+ </message>
+ <message>
+ <source>Status Display</source>
+ <comment>Media controller element</comment>
+ <translation>Экран ŃĐľŃтояния</translation>
+ </message>
+ <message>
+ <source>Fullscreen Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;На веŃŃŚ экран&quot;</translation>
+ </message>
+ <message>
+ <source>Seek Forward Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;ПоиŃĐş вперед&quot;</translation>
+ </message>
+ <message>
+ <source>Seek Back Button</source>
+ <comment>Media controller element</comment>
+ <translation>Кнопка &quot;ПоиŃĐş назад&quot;</translation>
+ </message>
+ <message>
+ <source>Audio element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>Органы Ńправления воŃпроизведением Đ°Ńдио-элементов и отображением ŃĐľŃтояния</translation>
+ </message>
+ <message>
+ <source>Video element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>Органы Ńправления воŃпроизведением видеоэлементов и отображением ŃĐľŃтояния</translation>
+ </message>
+ <message>
+ <source>Mute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>Отключить звŃĐş Đ°Ńдиодорожек</translation>
+ </message>
+ <message>
+ <source>Unmute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>Включить звŃĐş Đ°Ńдиодорожек</translation>
+ </message>
+ <message>
+ <source>Begin playback</source>
+ <comment>Media controller element</comment>
+ <translation>Начать воŃпроизведение</translation>
+ </message>
+ <message>
+ <source>Pause playback</source>
+ <comment>Media controller element</comment>
+ <translation>Đ’ĐľŃпроизведение поŃле паŃĐ·Ń‹</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber</source>
+ <comment>Media controller element</comment>
+ <translation>ОчиŃтитель времени фильма</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber thumb</source>
+ <comment>Media controller element</comment>
+ <translation>Метка очиŃтителя времени фильма</translation>
+ </message>
+ <message>
+ <source>Rewind movie</source>
+ <comment>Media controller element</comment>
+ <translation>Перемотать фильм назад</translation>
+ </message>
+ <message>
+ <source>Return streaming movie to real-time</source>
+ <comment>Media controller element</comment>
+ <translation>ВернŃŃ‚ŃŚ потоковое воŃпроизведение фильма в реальное время</translation>
+ </message>
+ <message>
+ <source>Current movie time</source>
+ <comment>Media controller element</comment>
+ <translation>Время текŃщего фильма</translation>
+ </message>
+ <message>
+ <source>Remaining movie time</source>
+ <comment>Media controller element</comment>
+ <translation>ĐžŃтавŃееŃŃŹ время фильма</translation>
+ </message>
+ <message>
+ <source>Current movie status</source>
+ <comment>Media controller element</comment>
+ <translation>СоŃтояние текŃщего фильма</translation>
+ </message>
+ <message>
+ <source>Play movie in full-screen mode</source>
+ <comment>Media controller element</comment>
+ <translation>Đ’ĐľŃпроизведение фильма в режиме отображения на веŃŃŚ экран</translation>
+ </message>
+ <message>
+ <source>Seek quickly back</source>
+ <comment>Media controller element</comment>
+ <translation>Đ‘Ń‹Ńтрый поиŃĐş назад</translation>
+ </message>
+ <message>
+ <source>Seek quickly forward</source>
+ <comment>Media controller element</comment>
+ <translation>Đ‘Ń‹Ńтрый поиŃĐş вперед</translation>
+ </message>
+ <message>
+ <source>Indefinite time</source>
+ <comment>Media time description</comment>
+ <translation>Неопределенное время</translation>
+ </message>
+ <message>
+ <source>%1 days %2 hours %3 minutes %4 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 Đ´Đ˝. %2 ч. %3 мин. %4 Ńек.</translation>
+ </message>
+ <message>
+ <source>%1 hours %2 minutes %3 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 ч. %2 мин. %3 Ńек.</translation>
+ </message>
+ <message>
+ <source>%1 minutes %2 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 мин. %2 Ńек.</translation>
+ </message>
+ <message>
+ <source>%1 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1 Ńек.</translation>
+ </message>
+ <message>
+ <source>Inspect</source>
+ <comment>Inspect Element context menu item</comment>
+ <translation>Проверить</translation>
+ </message>
+ <message>
+ <source>No recent searches</source>
+ <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
+ <translation>ĐŃтория поиŃка ĐżŃŃŃ‚Đ°</translation>
+ </message>
+ <message>
+ <source>Recent searches</source>
+ <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
+ <translation>ĐŃтория поиŃка</translation>
+ </message>
+ <message>
+ <source>Clear recent searches</source>
+ <comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
+ <translation>ОчиŃтить иŃторию поиŃка</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <comment>Unknown filesize FTP directory listing item</comment>
+ <translation>НеизвеŃтно</translation>
+ </message>
+ <message>
+ <source>Web Inspector - %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 (%2x%3 pixels)</source>
+ <comment>Title string for images</comment>
+ <translation>%1 (%2x%3 px)</translation>
+ </message>
+ <message>
+ <source>Bad HTTP request</source>
+ <translation>Некорректный HTTP-запроŃ</translation>
+ </message>
+ <message>
+ <source>This is a searchable index. Enter search keywords: </source>
+ <comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
+ <translation>ĐĐ˝Đ´ĐµĐşŃ ĐżĐľĐ¸Ńка. Введите ключевые Ńлова для поиŃка: </translation>
+ </message>
+ <message>
+ <source>Scroll here</source>
+ <translation>ПрокрŃтить ŃŃŽĐ´Đ°</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>К левой границе</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>Вверх</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>К правой границе</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>Вниз</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛Đ»ĐµĐ˛Đľ</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛Đ˛ĐµŃ€Ń…</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛ĐżŃ€Đ°Đ˛Đľ</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>На ŃŃ‚Ń€Đ°Đ˝Đ¸Ń†Ń Đ˛Đ˝Đ¸Đ·</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>ПрокрŃтить влево</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>ПрокрŃтить вверх</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>ПрокрŃтить вправо</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>ПрокрŃтить вниз</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n file(s)</source>
+ <comment>number of chosen file</comment>
+ <translation>
+ <numerusform>%n файл(а)</numerusform>
+ <numerusform>%n файла</numerusform>
+ <numerusform>%n файлов</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>JavaScript Alert - %1</source>
+ <translation>JavaScript: ПредŃпреждение - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Confirm - %1</source>
+ <translation>JavaScript: Подтверждение - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Prompt - %1</source>
+ <translation>JavaScript: Đ—Đ°ĐżŃ€ĐľŃ - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Problem - %1</source>
+ <translation>JavaScript: Проблема - %1</translation>
+ </message>
+ <message>
+ <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
+ <translation>Сбой выполнения Ńценария на данной Ńтранице. Желаете ĐľŃтановить выполение Ńценария?</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next character</source>
+ <translation>ПеремеŃтить Ńказатель Đş ŃледŃŃŽŃ‰ĐµĐĽŃ ŃимволŃ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous character</source>
+ <translation>ПеремеŃтить Ńказатель Đş предыдŃŃ‰ĐµĐĽŃ ŃимволŃ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next word</source>
+ <translation>ПеремеŃтить Ńказатель Đş ŃледŃŃŽŃ‰ĐµĐĽŃ ŃловŃ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous word</source>
+ <translation>ПеремеŃтить Ńказатель Đş предыдŃŃ‰ĐµĐĽŃ ŃловŃ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next line</source>
+ <translation>ПеремеŃтить Ńказатель на ŃледŃющŃŃŽ ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous line</source>
+ <translation>ПеремеŃтить Ńказатель на предыдŃщŃŃŽ ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the line</source>
+ <translation>ПеремеŃтить Ńказатель в начало Ńтроки</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the line</source>
+ <translation>ПеремеŃтить Ńказатель в конец Ńтроки</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the block</source>
+ <translation>ПеремеŃтить Ńказатель в начало блока</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the block</source>
+ <translation>ПеремеŃтить Ńказатель в конец блока</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the document</source>
+ <translation>ПеремеŃтить Ńказатель в начало докŃмента</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the document</source>
+ <translation>ПеремеŃтить Ńказатель в конец докŃмента</translation>
+ </message>
+ <message>
+ <source>Select all</source>
+ <translation>Выделить вŃŃ‘</translation>
+ </message>
+ <message>
+ <source>Select to the next character</source>
+ <translation>Выделить Đ´Đľ ŃледŃющего Ńимвола</translation>
+ </message>
+ <message>
+ <source>Select to the previous character</source>
+ <translation>Выделить Đ´Đľ предыдŃщего Ńимвола</translation>
+ </message>
+ <message>
+ <source>Select to the next word</source>
+ <translation>Выделить Đ´Đľ ŃледŃющего Ńлова</translation>
+ </message>
+ <message>
+ <source>Select to the previous word</source>
+ <translation>Выделить Đ´Đľ предыдŃщего Ńлова</translation>
+ </message>
+ <message>
+ <source>Select to the next line</source>
+ <translation>Выделить Đ´Đľ ŃледŃющей Ńтроки</translation>
+ </message>
+ <message>
+ <source>Select to the previous line</source>
+ <translation>Выделить Đ´Đľ предыдŃщей Ńтроки</translation>
+ </message>
+ <message>
+ <source>Select to the start of the line</source>
+ <translation>Выделить Đ´Đľ начала Ńтроки</translation>
+ </message>
+ <message>
+ <source>Select to the end of the line</source>
+ <translation>Выделить Đ´Đľ конца Ńтроки</translation>
+ </message>
+ <message>
+ <source>Select to the start of the block</source>
+ <translation>Выделить до начала блока</translation>
+ </message>
+ <message>
+ <source>Select to the end of the block</source>
+ <translation>Выделить до конца блока</translation>
+ </message>
+ <message>
+ <source>Select to the start of the document</source>
+ <translation>Выделить Đ´Đľ начала докŃмента</translation>
+ </message>
+ <message>
+ <source>Select to the end of the document</source>
+ <translation>Выделить Đ´Đľ конца докŃмента</translation>
+ </message>
+ <message>
+ <source>Delete to the start of the word</source>
+ <translation>Удалить Đ´Đľ начала Ńлова</translation>
+ </message>
+ <message>
+ <source>Delete to the end of the word</source>
+ <translation>Удалить Đ´Đľ конца Ńлова</translation>
+ </message>
+ <message>
+ <source>Insert a new paragraph</source>
+ <translation>Đ’Ńтавить новый параграф</translation>
+ </message>
+ <message>
+ <source>Insert a new line</source>
+ <translation>Đ’Ńтавить новŃŃŽ ŃтрокŃ</translation>
+ </message>
+ <message>
+ <source>Paste and Match Style</source>
+ <translation>Đ’Ńтавить, Ńохранив Ńтиль</translation>
+ </message>
+ <message>
+ <source>Remove formatting</source>
+ <translation>Удалить форматирование</translation>
+ </message>
+ <message>
+ <source>Strikethrough</source>
+ <translation>ЗачёркнŃŃ‚Ń‹Đą</translation>
+ </message>
+ <message>
+ <source>Subscript</source>
+ <translation>ПодŃтрочный</translation>
+ </message>
+ <message>
+ <source>Superscript</source>
+ <translation>НадŃтрочный</translation>
+ </message>
+ <message>
+ <source>Insert Bulleted List</source>
+ <translation>Đ’Ńтавить маркированный ŃпиŃок</translation>
+ </message>
+ <message>
+ <source>Insert Numbered List</source>
+ <translation>Đ’Ńтавить Đ˝Ńмерованный ŃпиŃок</translation>
+ </message>
+ <message>
+ <source>Indent</source>
+ <translation>Увеличить отŃŃ‚ŃĐż</translation>
+ </message>
+ <message>
+ <source>Outdent</source>
+ <translation>УменьŃить отŃŃ‚ŃĐż</translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation>По центрŃ</translation>
+ </message>
+ <message>
+ <source>Justify</source>
+ <translation>По Ńирине</translation>
+ </message>
+ <message>
+ <source>Align Left</source>
+ <translation>По Đ»ĐµĐ˛ĐľĐĽŃ ĐşŃ€Đ°ŃŽ</translation>
+ </message>
+ <message>
+ <source>Align Right</source>
+ <translation>По ĐżŃ€Đ°Đ˛ĐľĐĽŃ ĐşŃ€Đ°ŃŽ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWhatsThisAction</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWidget</name>
+ <message>
+ <source>*</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWizard</name>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Commit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWorkspace</name>
+ <message>
+ <source>&amp;Restore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sh&amp;ade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Unshade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXml</name>
+ <message>
+ <source>no error occurred</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error triggered by consumer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected end of file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>more than one document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>tag mismatch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing content</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>invalid name for processing instruction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>version expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>wrong value for standalone declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>letter is expected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing reference</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>internal general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in attribute value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unparsed entity reference in wrong context</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>recursive entities</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error in the text declaration of an external entity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlPatternistCLI</name>
+ <message>
+ <source>Warning in %1, at line %2, column %3: %4</source>
+ <translation>ПредŃпреждение в %1, в Ńтроке %2, Ńтолбце%3: %4</translation>
+ </message>
+ <message>
+ <source>Warning in %1: %2</source>
+ <translation>ПредŃпреждение в %1: %2</translation>
+ </message>
+ <message>
+ <source>Unknown location</source>
+ <translation>НеизвеŃтное меŃтоположение</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2, at line %3, column %4: %5</source>
+ <translation>ĐžŃибка %1 в %2, в Ńтроке %3, Ńтолбце %4: %5</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2: %3</source>
+ <translation>ĐžŃибка %1 в %2: %3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlStream</name>
+ <message>
+ <source>Extra content at end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid entity value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML character.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix &apos;%1&apos; not declared</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute redefined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected character &apos;%1&apos; in public id literal.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML version string.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsupported XML version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid encoding name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encoding %1 is unsupported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Standalone accepts only yes or no.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid attribute in XML declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Premature end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>, but got &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected character data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Recursive entity detected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start tag expected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>XML declaration not at start of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>NDATA in parameter entity declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Illegal namespace declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Opening and ending tag mismatch.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to unparsed entity &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Entity &apos;%1&apos; not declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to external entity &apos;%1&apos; in attribute value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid character reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encountered incorrectly encoded content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The standalone pseudo attribute must appear after the encoding.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid PUBLIC identifier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QtXmlPatterns</name>
+ <message>
+ <source>At least one component must be present.</source>
+ <translation>Должна приŃŃŃ‚Ńтвовать как минимŃĐĽ одна компонента.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 не являетŃŃŹ правильным значением типа %2.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation>При преобразовании %2 в %1 иŃходное значение не может быть %3.</translation>
+ </message>
+ <message>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation>Đ‘Ńлево значение не может быть вычиŃлено для поŃледовательноŃтей, которые Ńодержат два и более атомарных значения.</translation>
+ </message>
+ <message>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>Данные обрабатываемой инŃŃ‚Ń€Ńкции не могŃŃ‚ Ńодержать ŃŃ‚Ń€ĐľĐşŃ &apos;%1&apos;</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 некоррекно для %2</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>Символ %1 недопŃŃтим для XML 1.0.</translation>
+ </message>
+ <message>
+ <source>%1 was called.</source>
+ <translation>%1 было вызвано.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>Đ’ замещаемой Ńтроке &apos;%1&apos; должно ŃопровождатьŃŃŹ как минимŃĐĽ одной цифрой, еŃли неэкранировано.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation>Đ’ замещаемой Ńтроке Ńимвол &apos;%1&apos; может иŃпользоватьŃŃŹ только для экранирования Ńамого Ńебя или &apos;%2&apos;, но не &apos;%3&apos;</translation>
+ </message>
+ <message>
+ <source>%1 matches newline characters</source>
+ <translation>%1 ŃоответŃтвŃет Ńимволам конца Ńтроки</translation>
+ </message>
+ <message>
+ <source>Matches are case insensitive</source>
+ <translation>СоответŃтвия региŃтронезавиŃимы</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 - неверный Ńаблон регŃлярного выражения: %2</translation>
+ </message>
+ <message>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>Đ‘Ńдет невозможно воŃŃтановить %1.</translation>
+ </message>
+ <message>
+ <source>The default collection is undefined</source>
+ <translation>Набор по Ńмолчанию не определён</translation>
+ </message>
+ <message>
+ <source>%1 cannot be retrieved</source>
+ <translation>%1 не может быть воŃŃтановлен</translation>
+ </message>
+ <message>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>Элемент %1 не ŃоответŃтвŃет Đ˝ĐµĐľĐ±Ń…ĐľĐ´Đ¸ĐĽĐľĐĽŃ Ń‚Đ¸ĐżŃ %2.</translation>
+ </message>
+ <message>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 являетŃŃŹ Ńхемой неизвеŃтного типа.</translation>
+ </message>
+ <message>
+ <source>A template with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>Только одно объявление %1 может приŃŃŃ‚Ńтвовать в прологе запроŃĐ°.</translation>
+ </message>
+ <message>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>Đнициализация переменной %1 завиŃит от Ńебя Ńамой</translation>
+ </message>
+ <message>
+ <source>The variable %1 is unused</source>
+ <translation>Переменная %1 не иŃпользŃетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>ВерŃия %1 не поддерживаетŃŃŹ. ПоддерживаетŃŃŹ XQuery верŃии 1.0.</translation>
+ </message>
+ <message>
+ <source>No function with signature %1 is available</source>
+ <translation>ФŃнкция Ń ŃигнатŃрой %1 отŃŃŃ‚ŃтвŃет</translation>
+ </message>
+ <message>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>Невозможно переопределить ĐżŃ€ĐµŃ„Đ¸ĐşŃ %1.</translation>
+ </message>
+ <message>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>ĐźŃ€ĐµŃ„Đ¸ĐşŃ %1 Ńже объявлен в прологе.</translation>
+ </message>
+ <message>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>Название опции должно Ńодержать префикŃ. Нет проŃтранŃтва имён по Ńмолчанию для опций.</translation>
+ </message>
+ <message>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>ВозможноŃŃ‚ŃŚ импорта Ńхем не поддерживаетŃŃŹ, Ńледовательно, объявлений %1 быть не должно.</translation>
+ </message>
+ <message>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>Целевое проŃтранŃтво имён %1 не может быть ĐżŃŃŃ‚Ń‹ĐĽ.</translation>
+ </message>
+ <message>
+ <source>The module import feature is not supported</source>
+ <translation>ВозможноŃŃ‚ŃŚ импорта модŃлей не поддерживаетŃŃŹ</translation>
+ </message>
+ <message>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation>ПроŃтранŃтво имён пользовательŃкой Ń„Ńнкции в модŃле библиотеки должен ŃоответŃтвовать проŃтранŃŃ‚Đ˛Ń Đ¸ĐĽŃ‘Đ˝ модŃля. ДрŃгими Ńловами, он должен быть %1 вмеŃŃ‚Đľ %2</translation>
+ </message>
+ <message>
+ <source>A function already exists with the signature %1.</source>
+ <translation>ФŃнкция Ń ŃигнатŃрой %1 Ńже ŃŃщеŃтвŃет.</translation>
+ </message>
+ <message>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>ВнеŃние Ń„Ńнкции не поддерживаютŃŃŹ. Đ’Ńе поддерживаемые Ń„Ńнкции могŃŃ‚ иŃпользоватьŃŃŹ напрямŃŃŽ без первоначального объявления их в качеŃтве внеŃних</translation>
+ </message>
+ <message>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>ĐžŃŃŚ %1 не поддерживаетŃŃŹ в XQuery</translation>
+ </message>
+ <message>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>URI проŃтранŃтва имён не может быть ĐżŃŃтой Ńтрокой при Ńвязывании Ń ĐżŃ€ĐµŃ„Đ¸ĐşŃом %1.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 - неверный URI проŃтранŃтва имён.</translation>
+ </message>
+ <message>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>Невозможно Ńвязать Ń ĐżŃ€ĐµŃ„Đ¸ĐşŃом %1</translation>
+ </message>
+ <message>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>Два атрибŃŃ‚Đ° объявления проŃтранŃтв имён имеют одинаковое имя: %1.</translation>
+ </message>
+ <message>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>URI проŃтранŃтва имён должно быть конŃтантой и не может Ńодержать выражений.</translation>
+ </message>
+ <message>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translation>%1 являетŃŃŹ объявлением атрибŃŃ‚Đ° вне облаŃти объявлений. Đмейте в видŃ, возможноŃŃ‚ŃŚ импорта Ńхем не поддерживаетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>empty</source>
+ <translation>ĐżŃŃŃ‚Đľ</translation>
+ </message>
+ <message>
+ <source>zero or one</source>
+ <translation>Đ˝Ńль или один</translation>
+ </message>
+ <message>
+ <source>exactly one</source>
+ <translation>ровно один</translation>
+ </message>
+ <message>
+ <source>one or more</source>
+ <translation>один или более</translation>
+ </message>
+ <message>
+ <source>zero or more</source>
+ <translation>Đ˝Ńль или более</translation>
+ </message>
+ <message>
+ <source>The focus is undefined.</source>
+ <translation>ФокŃŃ Đ˝Đµ определён.</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>ĐтрибŃŃ‚ Ń Đ¸ĐĽĐµĐ˝ĐµĐĽ %1 Ńже ŃŃщеŃтвŃет.</translation>
+ </message>
+ <message>
+ <source>Network timeout.</source>
+ <translation>Время ожидания Ńети иŃтекло.</translation>
+ </message>
+ <message>
+ <source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
+ <translation>Элемент %1 не может быть Ńериализован, Ń‚Đ°Đş как приŃŃŃ‚ŃтвŃет вне докŃмента.</translation>
+ </message>
+ <message>
+ <source>Year %1 is invalid because it begins with %2.</source>
+ <translation>Год %1 неверен, Ń‚Đ°Đş как начинаетŃŃŹ Ń %2.</translation>
+ </message>
+ <message>
+ <source>Day %1 is outside the range %2..%3.</source>
+ <translation>День %1 вне диапазона %2..%3.</translation>
+ </message>
+ <message>
+ <source>Month %1 is outside the range %2..%3.</source>
+ <translation>МеŃяц %1 вне диапазона %2..%3.</translation>
+ </message>
+ <message>
+ <source>Overflow: Can&apos;t represent date %1.</source>
+ <translation>Переполнение: Не ŃдаетŃŃŹ предŃтавить Đ´Đ°Ń‚Ń %1.</translation>
+ </message>
+ <message>
+ <source>Day %1 is invalid for month %2.</source>
+ <translation>День %1 неверен для меŃяца %2.</translation>
+ </message>
+ <message>
+ <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
+ <translation>Время 24:%1:%2.%3 неверно. 24 чаŃĐ°, но минŃŃ‚Ń‹, ŃекŃнды и/или миллиŃекŃнды отличны от 0; </translation>
+ </message>
+ <message>
+ <source>Time %1:%2:%3.%4 is invalid.</source>
+ <translation>Время %1:%2:%3.%4 неверно.</translation>
+ </message>
+ <message>
+ <source>Overflow: Date can&apos;t be represented.</source>
+ <translation>Переполнение: невозможно предŃтавить Đ´Đ°Ń‚Ń.</translation>
+ </message>
+ <message>
+ <source>At least one time component must appear after the %1-delimiter.</source>
+ <translation>Как минимŃĐĽ одна компонента времени должна Ńледовать Đ·Đ° разделителем &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
+ <translation>Деление чиŃла типа %1 на %2 (не чиŃловое выражение) недопŃŃтимо.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
+ <translation>Деление чиŃла типа %1 на %2 или %3 (ĐżĐ»ŃŽŃ Đ¸Đ»Đ¸ минŃŃ Đ˝Ńль) недопŃŃтимо.</translation>
+ </message>
+ <message>
+ <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
+ <translation>Умножение чиŃла типа %1 на %2 или %3 (плюŃ-минŃŃ Đ±ĐµŃконечноŃŃ‚ŃŚ) недопŃŃтимо.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot have an Effective Boolean Value.</source>
+ <translation>Значение типа %1 не может быть бŃлевым значением.</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 exceeds maximum (%3).</source>
+ <translation>Значение %1 типа %2 больŃе ĐĽĐ°ĐşŃимŃĐĽĐ° (%3).</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 is below minimum (%3).</source>
+ <translation>Значение %1 типа %2 меньŃе минимŃĐĽĐ° (%3).</translation>
+ </message>
+ <message>
+ <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
+ <translation>Значение типа %1 должно Ńодержать четное количеŃтво цифр. Значение %2 ŃŤŃ‚ĐľĐĽŃ Ń‚Ń€ĐµĐ±ĐľĐ˛Đ°Đ˝Đ¸ŃŽ не Ńдовлетворяет.</translation>
+ </message>
+ <message>
+ <source>%1 is not valid as a value of type %2.</source>
+ <translation>Значение %1 некорректно для типа %2.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on type %2.</source>
+ <translation>Оператор %1 не может иŃпользоватьŃŃŹ для типа %2.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
+ <translation>Оператор %1 не может иŃпользоватьŃŃŹ для атомарных значений типов %2 и %3.</translation>
+ </message>
+ <message>
+ <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
+ <translation>URI проŃтранŃтва имён в названии раŃŃчитываемого атрибŃŃ‚Đ° не может быть %1.</translation>
+ </message>
+ <message>
+ <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
+ <translation>Название раŃчитываемого атрибŃŃ‚Đ° не может иметь URI проŃтранŃтва имён %1 Ń Đ»ĐľĐşĐ°Đ»ŃŚĐ˝Ń‹ĐĽ именем %2.</translation>
+ </message>
+ <message>
+ <source>Type error in cast, expected %1, received %2.</source>
+ <translation>ĐžŃибка типов в преобразовании, ожидалоŃŃŚ %1, полŃчено %2.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
+ <translation>При преобразовании в %1 или производные от него типы иŃходное значение должно быть того же типа или Ńтроковым литералом. Тип %2 недопŃŃтим.</translation>
+ </message>
+ <message>
+ <source>A comment cannot contain %1</source>
+ <translation>Комментарий не может Ńодержать %1</translation>
+ </message>
+ <message>
+ <source>A comment cannot end with a %1.</source>
+ <translation>Комментарий не может оканчиватьŃŃŹ на %1.</translation>
+ </message>
+ <message>
+ <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
+ <translation>Узел-атрибŃŃ‚ не может быть потомком Ńзла-докŃмента. ĐтрибŃŃ‚ %1 неŃмеŃтен.</translation>
+ </message>
+ <message>
+ <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
+ <translation>МодŃль библиотеки не может иŃпользоватьŃŃŹ напрямŃŃŽ. Он должен быть импортирован из ĐľŃновного модŃля.</translation>
+ </message>
+ <message>
+ <source>No template by name %1 exists.</source>
+ <translation>Шаблон Ń Đ¸ĐĽĐµĐ˝ĐµĐĽ %1 отŃŃŃ‚ŃтвŃет.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
+ <translation>Значение типа %1 не может быть ŃŃловием. ĐŁŃловием могŃŃ‚ являтьŃŃŹ чиŃловой и бŃлевый типы.</translation>
+ </message>
+ <message>
+ <source>A positional predicate must evaluate to a single numeric value.</source>
+ <translation>Позиционный предикат должен вычиŃлятьŃŃŹ как чиŃловое выражение.</translation>
+ </message>
+ <message>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
+ <translation>Целевое имя в обрабатываемой инŃŃ‚Ń€Ńкции не может быть %1 в любой комбинации нижнего и верхнего региŃтров. ĐĐĽŃŹ %2 некорректно.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
+ <translation>%1 некорректное целевое имя в обрабатываемой инŃŃ‚Ń€Ńкции. ĐĐĽŃŹ должно быть значением типа %2, например: %3.</translation>
+ </message>
+ <message>
+ <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
+ <translation>ПоŃледняя чаŃŃ‚ŃŚ ĐżŃти должна Ńодержать Ńзлы или атомарные значения, но не может Ńодержать и Ń‚Đľ, и Đ´Ń€Ńгое одновременно.</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1</source>
+ <translation>ОтŃŃŃ‚ŃтвŃет привязка Đş проŃтранŃŃ‚Đ˛Ń Đ¸ĐĽŃ‘Đ˝ для префикŃĐ° %1</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1 in %2</source>
+ <translation>ОтŃŃŃ‚ŃтвŃет привязка Đş проŃтранŃŃ‚Đ˛Ń Đ¸ĐĽŃ‘Đ˝ для префикŃĐ° %1 в %2</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
+ <translation>Первый аргŃмент %1 не может быть типа %2. Он должен быть чиŃлового типа, типа xs:yearMonthDuration или типа xs:dayTimeDuration.</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>Первый аргŃмент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5.</translation>
+ </message>
+ <message>
+ <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>Второй аргŃмент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5.</translation>
+ </message>
+ <message>
+ <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
+ <translation>Đ•Ńли оба значения имеют региональные Ńмещения, Ńмещения должны быть одинаковы. %1 и %2 не одинаковы.</translation>
+ </message>
+ <message>
+ <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
+ <translation>&apos;%1&apos; должно ŃопровождатьŃŃŹ &apos;%2&apos; или &apos;%3&apos;, но не в конце замещаемой Ńтроки.</translation>
+ </message>
+ <message>
+ <source>%1 and %2 match the start and end of a line.</source>
+ <translation>%1 и %2 ŃоответŃтвŃŃŽŃ‚ Đ˝Đ°Ń‡Đ°Đ»Ń Đ¸ ĐşĐľĐ˝Ń†Ń Ńтроки.</translation>
+ </message>
+ <message>
+ <source>Whitespace characters are removed, except when they appear in character classes</source>
+ <translation>Символы пробелов Ńдалены, Đ·Đ° иŃключением тех, что были в клаŃŃĐ°Ń… Ńимволов</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
+ <translation>%1 - неверный флаг для регŃлярного выражения. ДопŃŃтимые флаги:</translation>
+ </message>
+ <message>
+ <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
+ <translation>ĐźŃ€ĐµŃ„Đ¸ĐşŃ Đ˝Đµ должен быть Ńказан, еŃли первый параметр - ĐżŃŃŃ‚Đ°ŃŹ поŃледовательноŃŃ‚ŃŚ или ĐżŃŃŃ‚Đ°ŃŹ Ńтрока (вне проŃтранŃтва имён). Đ‘Ń‹Đ» Ńказан ĐżŃ€ĐµŃ„Đ¸ĐşŃ %1.</translation>
+ </message>
+ <message>
+ <source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
+ <translation>Форма нормализации %1 не поддерживаетŃŃŹ. ПоддерживаютŃŃŹ только %2, %3, %4, %5 и ĐżŃŃŃ‚Đ°ŃŹ, Ń‚.е. ĐżŃŃŃ‚Đ°ŃŹ Ńтрока (без нормализации).</translation>
+ </message>
+ <message>
+ <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
+ <translation>Региональное Ńмещение должно быть в переделах от %1 Đ´Đľ %2 включительно. %3 выходит Đ·Đ° допŃŃтимые пределы.</translation>
+ </message>
+ <message>
+ <source>Required cardinality is %1; got cardinality %2.</source>
+ <translation>Необходимо %1 элементов, полŃчено %2.</translation>
+ </message>
+ <message>
+ <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
+ <translation>Кодировка %1 неверна. ĐĐĽŃŹ кодировки должно Ńодержать только Ńимволы латиницы без пробелов и должно Ńдовлетворять регŃĐ»ŃŹŃ€Đ˝ĐľĐĽŃ Đ˛Ń‹Ń€Đ°Đ¶ĐµĐ˝Đ¸ŃŽ %2.</translation>
+ </message>
+ <message>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation>Ключевое Ńлово %1 не может вŃтречатьŃŃŹ Ń Đ»ŃŽĐ±Ń‹ĐĽ Đ´Ń€Ńгим названием режима.</translation>
+ </message>
+ <message>
+ <source>No variable with name %1 exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>ФŃнкция Ńтилей должна иметь имя Ń ĐżŃ€ĐµŃ„Đ¸ĐşŃом.</translation>
+ </message>
+ <message>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation>ПроŃтрантŃво имён %1 зарезервировано, ĐżĐľŃŤŃ‚ĐľĐĽŃ ĐżĐľĐ»ŃŚĐ·ĐľĐ˛Đ°Ń‚ĐµĐ»ŃŚŃкие Ń„Ńнкции не могŃŃ‚ его иŃпользовать. ПопробŃйте предопределённый ĐżŃ€ĐµŃ„Đ¸ĐşŃ %2, который ŃŃщеŃтвŃет для подобных ŃитŃаций.</translation>
+ </message>
+ <message>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation>Đ•Ńли Ń„Ńнкция %1 иŃпользŃетŃŃŹ для Ńравнения внŃтри Ńаблона, аргŃмент должен быть ŃŃылкой на переменнŃŃŽ или Ńтроковым литералом.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation>Đ’ Ńаблоне XSL-T первый аргŃмент Ń„Ńнкции %1 должен быть Ńтроковым литералом, еŃли Ń„Ńнкция иŃпользŃетŃŃŹ для Ńравнения.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
+ <translation>Đ’ Ńаблоне XSL-T первый аргŃмент Ń„Ńнкции %1 должен быть литералом или ŃŃылкой на переменнŃŃŽ, еŃли Ń„Ńнкция иŃпользŃетŃŃŹ для Ńравнения.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation>Đ’ Ńаблоне XSL-T Ń Ń„Ńнкции %1 не должно быть третьего аргŃмента.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation>Đ’ Ńаблоне XSL-T только Ń„Ńнкции %1 и %2 могŃŃ‚ иŃпользоватьŃŃŹ для Ńравнения, но не %3.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation>Đ’ Ńаблоне XSL-T не может быть иŃпользована ĐľŃŃŚ %1 - только ĐľŃи %2 или %3.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid template mode name.</source>
+ <translation>%1 являетŃŃŹ неверным Ńаблоном имени режима.</translation>
+ </message>
+ <message>
+ <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
+ <translation>ĐĐĽŃŹ переменной, Ńвязанной Ń Đ˛Ń‹Ń€Đ°Đ¶ĐµĐ˝Đ¸ĐµĐĽ for, должно отличатьŃŃŹ от позиционной переменной. Две переменные Ń Đ¸ĐĽĐµĐ˝ĐµĐĽ %1 конфликтŃŃŽŃ‚.</translation>
+ </message>
+ <message>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation>ВозможноŃŃ‚ŃŚ проверки по Ńхеме не поддерживаетŃŃŹ. Выражения %1 не могŃŃ‚ иŃпользоватьŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation>Ни одно из выражений pragma не поддерживаетŃŃŹ. Должно ŃŃщеŃтвовать запаŃное выражение</translation>
+ </message>
+ <message>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation>ĐĐĽŃŹ каждого параметра Ńаблона должно быть Ńникальным, но %1 повторяетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>No function with name %1 is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation>%1 являетŃŃŹ неверным чиŃловым литералом.</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation>Đ’Ńтречена конŃŃ‚Ń€Ńкция, запрещённая для текŃщего языка (%1).</translation>
+ </message>
+ <message>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>ПроŃтранŃтво имён %1 может быть Ńвязано только Ń %2 (в данном ŃĐ»Ńчае Ńже предопределено).</translation>
+ </message>
+ <message>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>ĐźŃ€ĐµŃ„Đ¸ĐşŃ %1 может быть Ńвязан только Ń %2 (в данном ŃĐ»Ńчае Ńже предопределено).</translation>
+ </message>
+ <message>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation>Прямой конŃŃ‚Ń€Ńктор элемента ŃĐľŃтавлен некорректно. %1 заканчиваетŃŃŹ на %2.</translation>
+ </message>
+ <message>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation>Название %1 не ŃоответŃтвŃет ни ĐľĐ´Đ˝ĐľĐĽŃ Ń‚Đ¸ĐżŃ Ńхемы.</translation>
+ </message>
+ <message>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation>%1 - Ńложный тип. Преобразование Đş Ńложным типам невозможно. Однако, преобразование Đş атомарным типам как %2 работает.</translation>
+ </message>
+ <message>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation>%1 - не атомарный тип. Преобразование возможно только к атомарным типам.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1 являетŃŃŹ неверным названием для инŃŃ‚Ń€Ńкции обработки.</translation>
+ </message>
+ <message>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation>Название выражения раŃŃирения должно быть в проŃтранŃтве имён.</translation>
+ </message>
+ <message>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>ТребŃетŃŃŹ тип %1, но обнарŃжен %2.</translation>
+ </message>
+ <message>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>Преобразование %1 Đş %2 может Ńнизить точноŃŃ‚ŃŚ.</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation>Невозможно добавлять атрибŃŃ‚Ń‹ поŃле любого Đ´Ń€Ńгого вида Ńзла.</translation>
+ </message>
+ <message>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>ПоддерживаетŃŃŹ только Unicode Codepoint Collation (%1). %2 не поддерживаетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>ЦелочиŃленное деление (%1) на Đ˝Ńль (%2) не определено.</translation>
+ </message>
+ <message>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>Деление (%1) на Đ˝Ńль (%2) не определено.</translation>
+ </message>
+ <message>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>Деление по модŃлю (%1) на Đ˝Ńль (%2) не определено.</translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 принимает не более %n аргŃмента. Следовательно, %2 неверно.</numerusform>
+ <numerusform>%1 принимает не более %n аргŃментов. Следовательно, %2 неверно.</numerusform>
+ <numerusform>%1 принимает не более %n аргŃментов. Следовательно, %2 неверно.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 принимает не менее %n аргŃмента. Следовательно, %2 неверно.</numerusform>
+ <numerusform>%1 принимает не менее %n аргŃментов. Следовательно, %2 неверно.</numerusform>
+ <numerusform>%1 принимает не менее %n аргŃментов. Следовательно, %2 неверно.</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation>Корневой Ńзел второго аргŃмента Ń„Ńнкции %1 должен быть докŃментом. %2 не являетŃŃŹ докŃментом.</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation>ПроŃтранŃтво имён для пользовательŃких Ń„Ńнкций не может быть ĐżŃŃŃ‚Ń‹ĐĽ (попробŃйте предопределённый ĐżŃ€ĐµŃ„Đ¸ĐşŃ %1, который ŃŃщеŃтвŃет для подобных ŃитŃаций)</translation>
+ </message>
+ <message>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>Объявление проŃтранŃтво имён по Ńмолчанию должно быть Đ´Đľ объявления Ń„Ńнкций, переменных и опций.</translation>
+ </message>
+ <message>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>Объявление проŃтранŃтва имён должно быть Đ´Đľ объявления Ń„Ńнкций, переменных и опций.</translation>
+ </message>
+ <message>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>ĐмпортирŃемые модŃли должны быть Ńказаны Đ´Đľ объявления Ń„Ńнкций, переменных и опций.</translation>
+ </message>
+ <message>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 не являетŃŃŹ полным количеŃтвом минŃŃ‚.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation>ĐтрибŃŃ‚ %1 не может быть Ńериализован, Ń‚Đ°Đş как приŃŃŃ‚ŃтвŃет на верхнем Ńровне.</translation>
+ </message>
+ <message>
+ <source>%1 is an unsupported encoding.</source>
+ <translation>Кодировка %1 не поддерживаетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation>%1 Ńодержит октеты, которые недопŃŃтимы в требŃемой кодировке %2.</translation>
+ </message>
+ <message>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation>Символ Ń ĐşĐľĐ´ĐľĐĽ %1, приŃŃŃ‚ŃтвŃющий в %2 при иŃпользовании кодировки %3, не являетŃŃŹ допŃŃтимым Ńимволом XML.</translation>
+ </message>
+ <message>
+ <source>Ambiguous rule match.</source>
+ <translation>Неоднозначное ŃоответŃтвие правилŃ.</translation>
+ </message>
+ <message>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation>Đ’ конŃŃ‚Ń€Ńкторе проŃтранŃтва имён значение проŃтранŃтва имён не может быть ĐżŃŃтой Ńтрокой.</translation>
+ </message>
+ <message>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation>ĐźŃ€ĐµŃ„Đ¸ĐşŃ Đ´ĐľĐ»Đ¶ĐµĐ˝ быть корректным %1, но %2 им не являетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation>ПрефикŃ%1 не может быть Ńвязан.</translation>
+ </message>
+ <message>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation>Только ĐżŃ€ĐµŃ„Đ¸ĐşŃ %1 может быть Ńвязан Ń %2 и наоборот.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation>Необходим параметр %1 , но ŃоответŃтвŃющего %2 не передано.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation>Передан параметр %1 , но ŃоответŃтвŃющего %2 не ŃŃщеŃтвŃет.</translation>
+ </message>
+ <message>
+ <source>The URI cannot have a fragment</source>
+ <translation>URI не может Ńодержать фрагмент</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed at this location.</source>
+ <translation>Элемент %1 недопŃŃтим в этом меŃте.</translation>
+ </message>
+ <message>
+ <source>Text nodes are not allowed at this location.</source>
+ <translation>ТекŃтовые Ńзлы недопŃŃтимы в этом меŃте.</translation>
+ </message>
+ <message>
+ <source>Parse error: %1</source>
+ <translation>ĐžŃибка разбора: %1</translation>
+ </message>
+ <message>
+ <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
+ <translation>Значение атрибŃŃ‚Đ° верŃии XSL-T должно быть типа %1, но %2 им не являетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
+ <translation>ВыполняетŃŃŹ таблица Ńтилей XSL-T 1.0 Ń ĐľĐ±Ń€Đ°Đ±ĐľŃ‚Ń‡Đ¸ĐşĐľĐĽ верŃии 2.0.</translation>
+ </message>
+ <message>
+ <source>Unknown XSL-T attribute %1.</source>
+ <translation>НеизвеŃтвный атрибŃŃ‚ XSL-T %1.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 and %2 are mutually exclusive.</source>
+ <translation>ĐтрибŃŃ‚Ń‹ %1 и %2 взаимоиŃключающие.</translation>
+ </message>
+ <message>
+ <source>In a simplified stylesheet module, attribute %1 must be present.</source>
+ <translation>Đ’ модŃле Ńпрощённой таблицы Ńтилей обязан приŃŃŃ‚Ńтвовать атрибŃŃ‚ %1.</translation>
+ </message>
+ <message>
+ <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
+ <translation>Đ•Ńли элемент %1 не имеет атрибŃŃ‚ %2, Ń Đ˝ĐµĐłĐľ не может быть атрибŃтов %3 и %4.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have at least one of the attributes %2 or %3.</source>
+ <translation>Элемент %1 должен иметь как минимŃĐĽ один из атрибŃтов %2 или %3.</translation>
+ </message>
+ <message>
+ <source>At least one mode must be specified in the %1-attribute on element %2.</source>
+ <translation>Как минимŃĐĽ один режим должен быть Ńказан в атрибŃте %1 элемента %2.</translation>
+ </message>
+ <message>
+ <source>Element %1 must come last.</source>
+ <translation>Элемент %1 должен идти поŃледним.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur before %2.</source>
+ <translation>Как минимŃĐĽ один элемент %1 должен быть перед %2.</translation>
+ </message>
+ <message>
+ <source>Only one %1-element can appear.</source>
+ <translation>Должен быть только один элемент %1.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur inside %2.</source>
+ <translation>Как минимŃĐĽ один элемент %1 должен быть внŃтри %2.</translation>
+ </message>
+ <message>
+ <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
+ <translation>Đ•Ńли %2 Ńодержит атрибŃŃ‚ %1, конŃŃ‚Ń€Ńктор поŃледовательноŃти не может быть иŃпользован.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
+ <translation>Элемент %1 должен иметь атрибŃŃ‚ %2 или конŃŃ‚Ń€Ńктор поŃледовательноŃти.</translation>
+ </message>
+ <message>
+ <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
+ <translation>Đ•Ńли параметр необходим, значение по Ńмолчание не может быть передано через атрибŃŃ‚ %1 или конŃŃ‚Ń€Ńктор поŃледовательноŃти.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have children.</source>
+ <translation>У элемента %1 не может быть потомков.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have a sequence constructor.</source>
+ <translation>ĐŁ элемента %1 не может быть конŃŃ‚Ń€Ńктора поŃледовательноŃти.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
+ <translation>ĐŁ %2 не может быть атрибŃŃ‚Đ° %1, когда он являетŃŃŹ потомком %3.</translation>
+ </message>
+ <message>
+ <source>A parameter in a function cannot be declared to be a tunnel.</source>
+ <translation>Параметр в Ń„Ńнкции не может быть объявлен Ń‚Ńннелем.</translation>
+ </message>
+ <message>
+ <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
+ <translation>Данный обработчик не работает ŃĐľ Ńхемами, Ńледовательно, %1 не может иŃпользоватьŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
+ <translation>Элементы верхнего Ńровня таблицы Ńтилей должны быть в проŃтранŃтве имен, которым %1 не являетŃŃŹ.</translation>
+ </message>
+ <message>
+ <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
+ <translation>Значение атрибŃŃ‚Đ° %1 элемента %2 должно быть или %3, или %4, но не %5.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot have the value %2.</source>
+ <translation>ĐтрибŃŃ‚ %1 не может принимать значение %2.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 can only appear on the first %2 element.</source>
+ <translation>ĐтрибŃŃ‚ %1 может быть только Ń ĐżĐµŃ€Đ˛ĐľĐłĐľ элемента %2.</translation>
+ </message>
+ <message>
+ <source>At least one %1 element must appear as child of %2.</source>
+ <translation>Как минимŃĐĽ один элемент %1 должен быть в %2.</translation>
+ </message>
+ <message>
+ <source>%1 has inheritance loop in its base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of base type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of union %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 cannot be complex type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot have direct base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is not allowed to have base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 can only have simple atomic type as base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of item type of %1 must be either atomic or union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of member types of %1 must be atomic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is only allowed to have %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 must have variety of type list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 has defined derivation by restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of base type does not match item type of %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 contains not allowed facet type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have any facets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 must have variety of union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has duplicated element %2 in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has non-deterministic content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have simple content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have the same simple type as its base class %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived from base type %2%3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have a member type with the same name as itself.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet collides with %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must have the same value as %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be equal or greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid regular expression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown notation %1 used in %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid value %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet and %2 facet cannot appear together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type contains not allowed facet %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only %1 and %2 facets are allowed when derived by union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains %2 facet with invalid data: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of element %1 is not of elements type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of attribute %1 is not of attributes type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 has value constraint but has type derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in derived complex type must be %2 like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of base wildcard must be weaker than derived wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 exists twice with different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Particle contains non-deterministic wildcards.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but derived attribute is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not exist in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not match the wildcard in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but missing in derived definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived definition contains an %1 element that does not exists in the base definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived wildcard is not a subset of the base wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 from base type is missing in derived type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 differs from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base definition contains an %1 element that is missing in the derived definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular group reference for %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this scope</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle is missing element %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Can not process unknown element %1, expected elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Child element is missing in that scope, possible child elements are: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Document is not a XML schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3}.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element has neither %2 attribute nor %3 child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element with %2 child element must not have a %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must be %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must not have %2 and %3 attribute together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must not be %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element requires either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Text or entity references not allowed inside %1 element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this context.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element has larger value than %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must either contain %3 or the other values.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Component with ID %1 has been defined previously.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Identity constraint %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated facets in simple type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not valid according to %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the fractionDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Boolean content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid QName content: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Data of type %1 are not allowed to be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>There is one IDREF value with no corresponding ID: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Loaded schema file is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains invalid data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No schema defined for validation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No definition for element %1 available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not known to the schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not defined in this scope.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for element %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is declared as abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid data: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element contains content although it is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not validly substitutable with element type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 is not allowed to be abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed attributes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed text content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing required attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 does not match the attribute wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for attribute %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains two attributes of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains unknown attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Non-unique value found for constraint %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains absent fields.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains references nillable element %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No referenced value found for key reference %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>More than one value found for field %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Field %1 has no simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>ID value &apos;%1&apos; is not unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_ur.ts b/config.profiles/symbian/translations/qt_ur.ts
new file mode 100644
index 0000000..4b26d3a
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_ur.ts
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TS>
+
+<TS version="2.0" language="ur">
+<context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>RTL</translation>
+ </message>
+</context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_zh_cn_symbian.ts b/config.profiles/symbian/translations/qt_zh_cn_symbian.ts
new file mode 100644
index 0000000..91ac2af
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_zh_cn_symbian.ts
@@ -0,0 +1,8517 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TS>
+
+<TS version="2.0" language="zh_cn">
+ <context>
+ <name>CloseButton</name>
+ <message>
+ <source>Close Tab</source>
+ <translation>关闭标签页</translation>
+ </message>
+ </context>
+ <context>
+ <name>FakeReply</name>
+ <message>
+ <source>Fake error !</source>
+ <translation>虚ĺ‡é”™čŻŻďĽ</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>ć— ć•URL</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::</name>
+ <message>
+ <source>Notifications</source>
+ <translation>通知</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>éźłäą</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>视频</translation>
+ </message>
+ <message>
+ <source>Communication</source>
+ <translation>通讯</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>游ćŹ</translation>
+ </message>
+ <message>
+ <source>Accessibility</source>
+ <translation>无障碍环ĺ˘</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::AudioOutput</name>
+ <message>
+ <source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;音频播放设备&lt;b&gt;%1&lt;/b&gt;不工作。&lt;br/&gt;无法返回ĺ°&lt;b&gt;%2&lt;/b&gt;。&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;ĺ‡ćŤ˘ĺ°ĺšĺšĺŹŻç”¨ä¸”čľä¸ş&lt;br/&gt;ĺŹç±çš„音频播放设备&lt;b&gt;%1&lt;/b&gt;。&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation>回复ĺ°č®ľĺ¤‡&quot;%1&quot;</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::Backend</name>
+ <message>
+ <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
+ Some video features have been disabled.</source>
+ <translation>警告:看起来,您没有安装 gstreamer0.10-plugins-good 包。
+ 一些视频特性已经被关闭。</translation>
+ </message>
+ <message>
+ <source>Warning: You do not seem to have the base GStreamer plugins installed.
+ All audio and video support has been disabled</source>
+ <translation>警告:看起来,您没有安装基础的 GStreamer 插件。
+ 所有的音频和视频支ćŚé˝ĺ·˛ç»Źč˘«ĺ…łé—­ă€‚</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::MediaObject</name>
+ <message>
+ <source>Cannot start playback.
+
+Check your GStreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
+ <translation>缺少一个需č¦çš„解ç ĺ™¨ă€‚您需č¦ĺ®‰čŁ…如下解ç ĺ™¨ćťĄć’­ć”ľčż™ä¸Şĺ†…容:%0</translation>
+ </message>
+ <message>
+ <source>Could not open media source.</source>
+ <translation>不č˝ć‰“开媒体ćşă€‚</translation>
+ </message>
+ <message>
+ <source>Invalid source type.</source>
+ <translation>ć— ć•çš„ćşç±»ĺž‹ă€‚</translation>
+ </message>
+ <message>
+ <source>Could not locate media source.</source>
+ <translation>不č˝ĺ®šä˝ŤĺŞ’ä˝“ćşă€‚</translation>
+ </message>
+ <message>
+ <source>Could not open audio device. The device is already in use.</source>
+ <translation>不č˝ć‰“开音频设备。这个设备正在被使用。</translation>
+ </message>
+ <message>
+ <source>Could not decode media source.</source>
+ <translation>不č˝č§Łç ĺŞ’ä˝“ćşă€‚</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF</name>
+ <message>
+ <source>Audio Output</source>
+ <translation>音频输出</translation>
+ </message>
+ <message>
+ <source>The audio output device</source>
+ <translation>音频输出设备</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>无错误</translation>
+ </message>
+ <message>
+ <source>Not found</source>
+ <translation>未找ĺ°</translation>
+ </message>
+ <message>
+ <source>Out of memory</source>
+ <translation>ĺ­ĺ‚¨ä¸Ťč¶ł</translation>
+ </message>
+ <message>
+ <source>Not supported</source>
+ <translation>不支ćŚ</translation>
+ </message>
+ <message>
+ <source>Overflow</source>
+ <translation>溢出</translation>
+ </message>
+ <message>
+ <source>Underflow</source>
+ <translation>下溢</translation>
+ </message>
+ <message>
+ <source>Already exists</source>
+ <translation>已经ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>Path not found</source>
+ <translation>未找ĺ°č·Żĺľ„</translation>
+ </message>
+ <message>
+ <source>In use</source>
+ <translation>在使用中</translation>
+ </message>
+ <message>
+ <source>Not ready</source>
+ <translation>未就绪</translation>
+ </message>
+ <message>
+ <source>Access denied</source>
+ <translation>访问被拒绝</translation>
+ </message>
+ <message>
+ <source>Could not connect</source>
+ <translation>无法连接</translation>
+ </message>
+ <message>
+ <source>Disconnected</source>
+ <translation>已断开连接</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>ćťé™č˘«ć‹’绝</translation>
+ </message>
+ <message>
+ <source>Insufficient bandwidth</source>
+ <translation>带宽不足</translation>
+ </message>
+ <message>
+ <source>Network unavailable</source>
+ <translation>网络不可用</translation>
+ </message>
+ <message>
+ <source>Network communication error</source>
+ <translation>网络通讯错误</translation>
+ </message>
+ <message>
+ <source>Streaming not supported</source>
+ <translation>不支ćŚćµ</translation>
+ </message>
+ <message>
+ <source>Server alert</source>
+ <translation>服务器ćŹç¤ş</translation>
+ </message>
+ <message>
+ <source>Invalid protocol</source>
+ <translation>ć— ć•ĺŤŹč®®</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>ć— ć•URL</translation>
+ </message>
+ <message>
+ <source>Multicast error</source>
+ <translation>组播错误</translation>
+ </message>
+ <message>
+ <source>Proxy server error</source>
+ <translation>代ç†ćśŤĺŠˇĺ™¨é”™čŻŻ</translation>
+ </message>
+ <message>
+ <source>Proxy server not supported</source>
+ <translation>代ç†ćśŤĺŠˇĺ™¨ä¸ŤĺŹ—支ćŚ</translation>
+ </message>
+ <message>
+ <source>Audio output error</source>
+ <translation>音频输出错误</translation>
+ </message>
+ <message>
+ <source>Video output error</source>
+ <translation>视频输出错误</translation>
+ </message>
+ <message>
+ <source>Decoder error</source>
+ <translation>解ç ĺ™¨é”™čŻŻ</translation>
+ </message>
+ <message>
+ <source>Audio or video components could not be played</source>
+ <translation>无法播放音频ć–视频组件</translation>
+ </message>
+ <message>
+ <source>DRM error</source>
+ <translation>DRM错误</translation>
+ </message>
+ <message>
+ <source>Unknown error (%1)</source>
+ <translation>未知错误(%1)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <source>Not ready to play</source>
+ <translation>不准备播放</translation>
+ </message>
+ <message>
+ <source>Error opening file</source>
+ <translation>打开文件时出错</translation>
+ </message>
+ <message>
+ <source>Error opening URL</source>
+ <translation>打开URL时出错</translation>
+ </message>
+ <message>
+ <source>Setting volume failed</source>
+ <translation>设置卷失败</translation>
+ </message>
+ <message>
+ <source>Playback complete</source>
+ <translation>播放结束</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <source>%1 Hz</source>
+ <translation>%1赫兹</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <source>Getting position failed</source>
+ <translation>获取位置失败</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>打开片段失败</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <source>Enabled</source>
+ <translation>ĺ·˛ĺŻç”¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <source>Decay HF ratio (%)</source>
+ <translation>é«é˘‘衰减率(%)</translation>
+ </message>
+ <message>
+ <source>Decay time (ms)</source>
+ <translation>衰减时间(毫秒)</translation>
+ </message>
+ <message>
+ <source>Density (%)</source>
+ <translation>密度(%)</translation>
+ </message>
+ <message>
+ <source>Diffusion (%)</source>
+ <translation>ć•Łĺ°„(%)</translation>
+ </message>
+ <message>
+ <source>Reflections delay (ms)</source>
+ <translation>反ć ĺ»¶čżź(毫秒)</translation>
+ </message>
+ <message>
+ <source>Reflections level (mB)</source>
+ <translation>反ć çş§ĺ«(mB)</translation>
+ </message>
+ <message>
+ <source>Reverb delay (ms)</source>
+ <translation>混响延迟(毫秒)</translation>
+ </message>
+ <message>
+ <source>Reverb level (mB)</source>
+ <translation>混响级ĺ«(mB)</translation>
+ </message>
+ <message>
+ <source>Room HF level</source>
+ <translation>é«é˘‘室级ĺ«</translation>
+ </message>
+ <message>
+ <source>Room level (mB)</source>
+ <translation>室级ĺ«(mB)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <source>Error opening source: type not supported</source>
+ <translation>打开ćşć—¶ĺ‡şé”™ďĽšç±»ĺž‹ä¸ŤĺŹ—支ćŚ</translation>
+ </message>
+ <message>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>打开ćşć—¶ĺ‡şé”™ďĽšć— ćł•ĺ¤ć–­ĺ¤šĺŞ’ä˝“ç±»ĺž‹</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <source>Level (%)</source>
+ <translation>级ĺ«(%)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation>ćš‚ĺśĺ¤±č´Ą</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation>寻找失败</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation>获取位置失败</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>打开片段失败</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation>片段缓冲失败</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation>视频ćľç¤şé”™čŻŻ</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::VolumeSlider</name>
+ <message>
+ <source>Volume: %1%</source>
+ <translation>音量:%1%</translation>
+ </message>
+ <message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <translation>请使用这个滑块č°čŠ‚音量。最左为%0,最右为%1%</translation>
+ </message>
+ <message>
+ <source>Muted</source>
+ <translation>已静音</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Accel</name>
+ <message>
+ <source>%1, %2 not defined</source>
+ <translation>%1,%2未定义</translation>
+ </message>
+ <message>
+ <source>Ambiguous %1 not handled</source>
+ <translation>不ćŽçˇ®çš„%1没有被处ç†</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3DataTable</name>
+ <message>
+ <source>True</source>
+ <translation>çśź</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>ĺ‡</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>插入</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>ć›´ć–°</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺ é™¤</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3FileDialog</name>
+ <message>
+ <source>Copy or Move a File</source>
+ <translation>复ĺ¶ć–者移动一个文件</translation>
+ </message>
+ <message>
+ <source>Read: %1</source>
+ <translation>读取:%1</translation>
+ </message>
+ <message>
+ <source>Write: %1</source>
+ <translation>写入:%1</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ <message>
+ <source>All Files (*)</source>
+ <translation>所有文件 (*)</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç§°</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>大小</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>类型</translation>
+ </message>
+ <message>
+ <source>Date</source>
+ <translation>ć—Ąćśź</translation>
+ </message>
+ <message>
+ <source>Attributes</source>
+ <translation>属性</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>确定(&amp;O)</translation>
+ </message>
+ <message>
+ <source>Look &amp;in:</source>
+ <translation>查找čŚĺ›´(&amp;I):</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>文件ĺŤç§°(&amp;N):</translation>
+ </message>
+ <message>
+ <source>File &amp;type:</source>
+ <translation>文件类型(&amp;T):</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>ĺŽé€€</translation>
+ </message>
+ <message>
+ <source>One directory up</source>
+ <translation>ĺ‘上一级</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>ĺ›ĺ»şć–°ć–‡ä»¶ĺ¤ą</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>ĺ—表视图</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>详细视图</translation>
+ </message>
+ <message>
+ <source>Preview File Info</source>
+ <translation>预č§ć–‡ä»¶äżˇćŻ</translation>
+ </message>
+ <message>
+ <source>Preview File Contents</source>
+ <translation>预č§ć–‡ä»¶ĺ†…容</translation>
+ </message>
+ <message>
+ <source>Read-write</source>
+ <translation>读写</translation>
+ </message>
+ <message>
+ <source>Read-only</source>
+ <translation>只读</translation>
+ </message>
+ <message>
+ <source>Write-only</source>
+ <translation>只写</translation>
+ </message>
+ <message>
+ <source>Inaccessible</source>
+ <translation>不可访问的</translation>
+ </message>
+ <message>
+ <source>Symlink to File</source>
+ <translation>文件的系统链接</translation>
+ </message>
+ <message>
+ <source>Symlink to Directory</source>
+ <translation>目录的系统链接</translation>
+ </message>
+ <message>
+ <source>Symlink to Special</source>
+ <translation>特殊的系统链接</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>文件</translation>
+ </message>
+ <message>
+ <source>Dir</source>
+ <translation>目录</translation>
+ </message>
+ <message>
+ <source>Special</source>
+ <translation>特殊</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>打开</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>另ĺ­ä¸ş</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>打开(&amp;O)</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>äżťĺ­(&amp;S)</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>重命ĺŤ(&amp;R)</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>ĺ é™¤(&amp;D)</translation>
+ </message>
+ <message>
+ <source>R&amp;eload</source>
+ <translation>重新载入(&amp;E)</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Name</source>
+ <translation>按ĺŤç§°ćŽ’ĺ—(&amp;N)</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Size</source>
+ <translation>按大小排ĺ—(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Date</source>
+ <translation>按日期排ĺ—(&amp;D)</translation>
+ </message>
+ <message>
+ <source>&amp;Unsorted</source>
+ <translation>未排ĺ—çš„(&amp;U)</translation>
+ </message>
+ <message>
+ <source>Sort</source>
+ <translation>排ĺ—</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>ćľç¤şéšč—Źć–‡ä»¶(&amp;H)</translation>
+ </message>
+ <message>
+ <source>the file</source>
+ <translation>文件</translation>
+ </message>
+ <message>
+ <source>the directory</source>
+ <translation>目录</translation>
+ </message>
+ <message>
+ <source>the symlink</source>
+ <translation>系统链接</translation>
+ </message>
+ <message>
+ <source>Delete %1</source>
+ <translation>ĺ é™¤%1</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;你确认你ćłĺ é™¤%1,“%2”?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>ćŻ(&amp;Y)</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>ĺ¦(&amp;N)</translation>
+ </message>
+ <message>
+ <source>New Folder 1</source>
+ <translation>新建文件夹1</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>新建文件夹</translation>
+ </message>
+ <message>
+ <source>New Folder %1</source>
+ <translation>新建文件夹%1</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>查找目录</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>目录</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>目录:</translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>错误</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Check path and filename.</source>
+ <translation>文件%1
+未找ĺ°ă€‚
+请检查路径和文件ĺŤă€‚
+</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>所有文件 (*.*)</translation>
+ </message>
+ <message>
+ <source>Open </source>
+ <translation>打开</translation>
+ </message>
+ <message>
+ <source>Select a Directory</source>
+ <translation>选择一个目录</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3LocalFs</name>
+ <message>
+ <source>Could not read directory
+%1</source>
+ <translation>不č˝čŻ»ĺŹ–目录
+%1</translation>
+ </message>
+ <message>
+ <source>Could not create directory
+%1</source>
+ <translation>不č˝ĺ›ĺ»şç›®ĺ˝•
+%1</translation>
+ </message>
+ <message>
+ <source>Could not remove file or directory
+%1</source>
+ <translation>不č˝ç§»é™¤ć–‡ä»¶ć–者目录
+%1</translation>
+ </message>
+ <message>
+ <source>Could not rename
+%1
+to
+%2</source>
+ <translation>不č˝ćŠŠ
+%1
+重命ĺŤä¸ş
+%2</translation>
+ </message>
+ <message>
+ <source>Could not open
+%1</source>
+ <translation>不č˝ć‰“开
+%1</translation>
+ </message>
+ <message>
+ <source>Could not write
+%1</source>
+ <translation>不č˝ĺ†™ĺ…Ą
+%1</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3MainWindow</name>
+ <message>
+ <source>Line up</source>
+ <translation>排ĺ—</translation>
+ </message>
+ <message>
+ <source>Customize...</source>
+ <translation>自定义...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3NetworkProtocol</name>
+ <message>
+ <source>Operation stopped by the user</source>
+ <translation>操作被用ć·ĺść­˘</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TabDialog</name>
+ <message>
+ <source>OK</source>
+ <translation>确认</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>应用</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>帮助</translation>
+ </message>
+ <message>
+ <source>Defaults</source>
+ <translation>é»č®¤</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TextEdit</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>ć’¤ć¶(&amp;U)</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>ć˘ĺ¤Ť(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>剪ĺ‡(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>复ĺ¶(&amp;C)</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>ç˛č´´(&amp;P)</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>清空</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>选择全é¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TitleBar</name>
+ <message>
+ <source>System</source>
+ <translation>系统</translation>
+ </message>
+ <message>
+ <source>Restore up</source>
+ <translation>ĺ‘上ć˘ĺ¤Ť</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>最小化</translation>
+ </message>
+ <message>
+ <source>Restore down</source>
+ <translation>ĺ‘下ć˘ĺ¤Ť</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>最大化</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Contains commands to manipulate the window</source>
+ <translation>包ĺ«ć“Ťä˝śçŞ—ĺŹŁçš„ĺ‘˝ä»¤ă€‚</translation>
+ </message>
+ <message>
+ <source>Puts a minimized window back to normal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Moves the window out of the way</source>
+ <translation>把窗口移ĺ°ĺ¤–面</translation>
+ </message>
+ <message>
+ <source>Puts a maximized window back to normal</source>
+ <translation>把一个最大化窗口ć˘ĺ¤Ťä¸şć™®é€šçŠ¶ć€</translation>
+ </message>
+ <message>
+ <source>Makes the window full screen</source>
+ <translation>窗口全屏化</translation>
+ </message>
+ <message>
+ <source>Closes the window</source>
+ <translation>关闭窗口</translation>
+ </message>
+ <message>
+ <source>Displays the name of the window and contains controls to manipulate it</source>
+ <translation>ćľç¤şçŞ—ĺŹŁĺŤç§°ĺą¶ä¸”包ĺ«ç»´ćŠ¤ĺ®çš„控件</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ToolBar</name>
+ <message>
+ <source>More...</source>
+ <translation>更多...</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3UrlOperator</name>
+ <message>
+ <source>The protocol `%1&apos; is not supported</source>
+ <translation>协议“%1”不被支ćŚ</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support listing directories</source>
+ <translation>协议“%1”不支ćŚĺ—出目录</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support creating new directories</source>
+ <translation>协议“%1”不支ćŚĺ›ĺ»şć–°ç›®ĺ˝•</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support removing files or directories</source>
+ <translation>协议“%1”不支ćŚç§»é™¤ć–‡ä»¶ć–者目录</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support renaming files or directories</source>
+ <translation>协议“%1”不支ćŚé‡Ťĺ‘˝ĺŤć–‡ä»¶ć–者目录</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support getting files</source>
+ <translation>协议“%1”不支ćŚčŽ·ĺŹ–文件</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support putting files</source>
+ <translation>协议“%1”不支ćŚä¸ŠäĽ ć–‡ä»¶</translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+ <translation>协议“%1”不支ćŚĺ¤Ťĺ¶ć–者移动文件ć–者目录</translation>
+ </message>
+ <message>
+ <source>(unknown)</source>
+ <translation>(未知的)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Wizard</name>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>取ć¶(&amp;C)</translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation>&lt; 上一步(&amp;B)</translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation>下一步(&amp;N) &gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation>完ć(&amp;F)</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>帮助(&amp;H)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSocket</name>
+ <message>
+ <source>Host not found</source>
+ <translation>主机未找ĺ°</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>连接被拒绝</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>连接超时</translation>
+ </message>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>Socket操作不被支ćŚ</translation>
+ </message>
+ <message>
+ <source>Socket operation timed out</source>
+ <translation>套接字操作超时</translation>
+ </message>
+ <message>
+ <source>Socket is not connected</source>
+ <translation>套接字没有被连接</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>网络不č˝č®żé—®</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSpinBox</name>
+ <message>
+ <source>&amp;Step up</source>
+ <translation>增加(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Step &amp;down</source>
+ <translation>减少(&amp;D)</translation>
+ </message>
+ <message>
+ <source>&amp;Select All</source>
+ <translation>选择关é¨(&amp;S)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAccessibleButton</name>
+ <message>
+ <source>Press</source>
+ <translation>按下</translation>
+ </message>
+ </context>
+ <context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation>LTR</translation>
+ </message>
+ <message>
+ <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+ <translation>执行“%1”需č¦Qt %2,只找ĺ°äş†Qt %3。</translation>
+ </message>
+ <message>
+ <source>Incompatible Qt Library Error</source>
+ <translation>不兼容的Qt错误</translation>
+ </message>
+ <message>
+ <source>Activate</source>
+ <translation>激活</translation>
+ </message>
+ <message>
+ <source>Activates the program&apos;s main window</source>
+ <translation>激活这个程序的主窗口</translation>
+ </message>
+ </context>
+ <context>
+ <name>QAxSelect</name>
+ <message>
+ <source>Select ActiveX Control</source>
+ <translation>选择ActiveX控件</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>确定</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>取ć¶(&amp;C)</translation>
+ </message>
+ <message>
+ <source>COM &amp;Object:</source>
+ <translation>COM对象(&amp;O):</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCheckBox</name>
+ <message>
+ <source>Uncheck</source>
+ <translation>取ć¶é€‰ä¸­</translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation>选中</translation>
+ </message>
+ <message>
+ <source>Toggle</source>
+ <translation>ĺ‡ćŤ˘</translation>
+ </message>
+ </context>
+ <context>
+ <name>QColorDialog</name>
+ <message>
+ <source>Hu&amp;e:</source>
+ <translation>色č°(&amp;E):</translation>
+ </message>
+ <message>
+ <source>&amp;Sat:</source>
+ <translation>饱和度(&amp;S):</translation>
+ </message>
+ <message>
+ <source>&amp;Val:</source>
+ <translation>亮度(&amp;V):</translation>
+ </message>
+ <message>
+ <source>&amp;Red:</source>
+ <translation>红色(&amp;R):</translation>
+ </message>
+ <message>
+ <source>&amp;Green:</source>
+ <translation>绿色(&amp;G):</translation>
+ </message>
+ <message>
+ <source>Bl&amp;ue:</source>
+ <translation>蓝色(&amp;U):</translation>
+ </message>
+ <message>
+ <source>A&amp;lpha channel:</source>
+ <translation>Alpha通é“(&amp;A):</translation>
+ </message>
+ <message>
+ <source>Select Color</source>
+ <translation>选择颜色</translation>
+ </message>
+ <message>
+ <source>&amp;Basic colors</source>
+ <translation>基本颜色(&amp;B)</translation>
+ </message>
+ <message>
+ <source>&amp;Custom colors</source>
+ <translation>自定义颜色(&amp;C)</translation>
+ </message>
+ <message>
+ <source>&amp;Add to Custom Colors</source>
+ <translation>添加ĺ°č‡Şĺ®šäą‰é˘śč‰˛(&amp;A)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QComboBox</name>
+ <message>
+ <source>Open</source>
+ <translation>打开</translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation>ĺ‡</translation>
+ </message>
+ <message>
+ <source>True</source>
+ <translation>çśź</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ </context>
+ <context>
+ <name>QCoreApplication</name>
+ <message>
+ <source>%1: key is empty</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:键ćŻç©şçš„</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:不č˝ĺ¶é€ é”®</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:ftok 失败</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:已经ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: does not exist</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:资ćşč€—尽了</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:未知错误 %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Driver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>不č˝čżžćŽĄ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to set autocommit</source>
+ <translation>不č˝č®ľç˝®č‡ŞĺŠ¨ćŹäş¤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Result</name>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>不č˝ć‰§čˇŚčŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>不č˝ĺ‡†ĺ¤‡čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>不č˝ĺ¸®ĺ®šĺŹé‡Ź</translation>
+ </message>
+ <message>
+ <source>Unable to fetch record %1</source>
+ <translation>不č˝čŽ·ĺŹ–记录%1</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>不č˝čŽ·ĺŹ–下一个</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>不č˝čŽ·ĺŹ–第一个</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDateTimeEdit</name>
+ <message>
+ <source>AM</source>
+ <translation>AM</translation>
+ </message>
+ <message>
+ <source>am</source>
+ <translation>am</translation>
+ </message>
+ <message>
+ <source>PM</source>
+ <translation>PM</translation>
+ </message>
+ <message>
+ <source>pm</source>
+ <translation>pm</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDial</name>
+ <message>
+ <source>QDial</source>
+ <translation>QDial</translation>
+ </message>
+ <message>
+ <source>SpeedoMeter</source>
+ <translation>SpeedoMeter</translation>
+ </message>
+ <message>
+ <source>SliderHandle</source>
+ <translation>SliderHandle</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialog</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation>čż™ćŻä»€äąďĽź</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>完ć</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialogButtonBox</name>
+ <message>
+ <source>OK</source>
+ <translation>确定</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>äżťĺ­</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>äżťĺ­(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>打开</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation>取ć¶(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>ĺ…łé—­(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation>应用</translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation>重置</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>帮助</translation>
+ </message>
+ <message>
+ <source>Don&apos;t Save</source>
+ <translation>不保ĺ­</translation>
+ </message>
+ <message>
+ <source>Discard</source>
+ <translation>抛ĺĽ</translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation>ćŻ(&amp;Y)</translation>
+ </message>
+ <message>
+ <source>Yes to &amp;All</source>
+ <translation>ĺ…¨é¨ćŻ(&amp;A)</translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation>ĺ¦(&amp;N)</translation>
+ </message>
+ <message>
+ <source>N&amp;o to All</source>
+ <translation>ĺ…¨é¨ĺ¦(&amp;O)</translation>
+ </message>
+ <message>
+ <source>Save All</source>
+ <translation>äżťĺ­ĺ…¨é¨</translation>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>放ĺĽ</translation>
+ </message>
+ <message>
+ <source>Retry</source>
+ <translation>重试</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <translation>忽略</translation>
+ </message>
+ <message>
+ <source>Restore Defaults</source>
+ <translation>ć˘ĺ¤Ťé»č®¤</translation>
+ </message>
+ <message>
+ <source>Close without Saving</source>
+ <translation>不保ĺ­ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>确定(&amp;O)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDirModel</name>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç§°</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>大小</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>类型</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>类型</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>日期被修改</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDockWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Dock</source>
+ <translation>锚接</translation>
+ </message>
+ <message>
+ <source>Float</source>
+ <translation>浮动</translation>
+ </message>
+ </context>
+ <context>
+ <name>QDoubleSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>更多</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>ć›´ĺ°‘</translation>
+ </message>
+ </context>
+ <context>
+ <name>QErrorMessage</name>
+ <message>
+ <source>&amp;Show this message again</source>
+ <translation>再次ćľç¤şčż™ä¸Şć¶ćŻ(&amp;S)</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation>确定(&amp;O)</translation>
+ </message>
+ <message>
+ <source>Debug Message:</source>
+ <translation>č°čŻ•ć¶ćŻďĽš</translation>
+ </message>
+ <message>
+ <source>Warning:</source>
+ <translation>警告:</translation>
+ </message>
+ <message>
+ <source>Fatal Error:</source>
+ <translation>致命错误:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFile</name>
+ <message>
+ <source>Destination file exists</source>
+ <translation>目标文件已ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>Will not rename sequential file using block copy</source>
+ <translation>将不使用块复ĺ¶é‡Ťĺ‘˝ĺŤéˇşĺşŹć–‡ä»¶</translation>
+ </message>
+ <message>
+ <source>Cannot remove source file</source>
+ <translation>ć— ćł•ĺ é™¤ćşć–‡ä»¶</translation>
+ </message>
+ <message>
+ <source>Cannot open %1 for input</source>
+ <translation>ć— ćł•čľ“ĺ…Ą %1 </translation>
+ </message>
+ <message>
+ <source>Cannot open for output</source>
+ <translation>无法输出</translation>
+ </message>
+ <message>
+ <source>Failure to write block</source>
+ <translation>写块失败</translation>
+ </message>
+ <message>
+ <source>Cannot create %1 for output</source>
+ <translation>ć— ćł•ĺ›ĺ»ş %1 </translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileDialog</name>
+ <message>
+ <source>All Files (*)</source>
+ <translation>所有文件 (*)</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>ĺŽé€€</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>ĺ—表视图</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>详细视图</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>文件</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>打开</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>另ĺ­ä¸ş</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>打开(&amp;O)</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>äżťĺ­(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Recent Places</source>
+ <translation>最近的地方</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>重命ĺŤ(&amp;R)</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>ĺ é™¤(&amp;D)</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>ćľç¤şéšč—Źć–‡ä»¶(&amp;H)</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>新建文件夹</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>查找目录</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>目录</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>所有文件 (*.*)</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>目录:</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1已经ĺ­ĺś¨ă€‚
+ä˝ ćłč¦ć›żćŤ˘ĺ®äąďĽź</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+ <translation>文件%1
+没有找ĺ°ă€‚
+请核实已给定正确文件ĺŤă€‚</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>ć‘的计算机</translation>
+ </message>
+ <message>
+ <source>Parent Directory</source>
+ <translation>ç¶ç›®ĺ˝•</translation>
+ </message>
+ <message>
+ <source>Files of type:</source>
+ <translation>文件类型:</translation>
+ </message>
+ <message>
+ <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+ <translation>目录%1
+没有找ĺ°ă€‚
+请核实已给定正确目录ĺŤă€‚</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is write protected.
+Do you want to delete it anyway?</source>
+ <translation>“%1“ćŻĺ†™äżťćŠ¤çš„。
+ä˝ čżćŻćłĺ é™¤ĺ®äąďĽź</translation>
+ </message>
+ <message>
+ <source>Are sure you want to delete &apos;%1&apos;?</source>
+ <translation>你确认你ćłĺ é™¤â€ś%1“?</translation>
+ </message>
+ <message>
+ <source>Could not delete directory.</source>
+ <translation>不č˝ĺ é™¤ç›®ĺ˝•ă€‚</translation>
+ </message>
+ <message>
+ <source>Drive</source>
+ <translation>驱动器</translation>
+ </message>
+ <message>
+ <source>File Folder</source>
+ <comment>Match Windows Explorer</comment>
+ <translation>文件文件夹</translation>
+ </message>
+ <message>
+ <source>Folder</source>
+ <comment>All other platforms</comment>
+ <translation>文件夹</translation>
+ </message>
+ <message>
+ <source>Alias</source>
+ <comment>Mac OS X Finder</comment>
+ <translation>ĺ«ĺŤ</translation>
+ </message>
+ <message>
+ <source>Shortcut</source>
+ <comment>All other platforms</comment>
+ <translation>快捷方式</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>未知的</translation>
+ </message>
+ <message>
+ <source>Show </source>
+ <translation>ćľç¤ş </translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>前进</translation>
+ </message>
+ <message>
+ <source>&amp;New Folder</source>
+ <translation>新建文件夹(&amp;N)</translation>
+ </message>
+ <message>
+ <source>&amp;Choose</source>
+ <translation>选择(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>移除</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>文件ĺŤç§°(&amp;N):</translation>
+ </message>
+ <message>
+ <source>Look in:</source>
+ <translation>查看:</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>ĺ›ĺ»şć–°ć–‡ä»¶ĺ¤ą</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileSystemModel</name>
+ <message>
+ <source>%1 TB</source>
+ <translation>%1 TB</translation>
+ </message>
+ <message>
+ <source>%1 GB</source>
+ <translation>%1 GB</translation>
+ </message>
+ <message>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+ <source>%1 KB</source>
+ <translation>%1ĺŤĺ­—节</translation>
+ </message>
+ <message>
+ <source>%1 bytes</source>
+ <translation>%1字节</translation>
+ </message>
+ <message>
+ <source>Invalid filename</source>
+ <translation>ć— ć•ć–‡ä»¶ĺŤ</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
+ <translation>&lt;b&gt;ĺŤç§°â€ś%1“不č˝č˘«ä˝żç”¨ă€‚&lt;/b&gt;&lt;p&gt;请使用另外一个包ĺ«ć›´ĺ°‘字符ć–者不ĺ«ćś‰ć ‡ç‚ąç¬¦ĺŹ·çš„ĺŤç§°ă€‚</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç§°</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>大小</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>类型</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>类型</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>日期被修改</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>ć‘的计算机</translation>
+ </message>
+ <message>
+ <source>Computer</source>
+ <translation>计算机</translation>
+ </message>
+ <message>
+ <source>%1 byte(s)</source>
+ <translation>%1字节</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDatabase</name>
+ <message>
+ <source>Normal</source>
+ <translation>普通</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <translation>粗体</translation>
+ </message>
+ <message>
+ <source>Demi Bold</source>
+ <translation>半粗体</translation>
+ </message>
+ <message>
+ <source>Black</source>
+ <translation>黑体</translation>
+ </message>
+ <message>
+ <source>Demi</source>
+ <translation>半体</translation>
+ </message>
+ <message>
+ <source>Light</source>
+ <translation>轻体</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <translation>意大ĺ©ä˝“</translation>
+ </message>
+ <message>
+ <source>Oblique</source>
+ <translation>斜体</translation>
+ </message>
+ <message>
+ <source>Any</source>
+ <translation>任意</translation>
+ </message>
+ <message>
+ <source>Latin</source>
+ <translation>拉ä¸ć–‡</translation>
+ </message>
+ <message>
+ <source>Greek</source>
+ <translation>希腊文</translation>
+ </message>
+ <message>
+ <source>Cyrillic</source>
+ <translation>西里尔文</translation>
+ </message>
+ <message>
+ <source>Armenian</source>
+ <translation>亚美尼亚文</translation>
+ </message>
+ <message>
+ <source>Hebrew</source>
+ <translation>希伯来文</translation>
+ </message>
+ <message>
+ <source>Arabic</source>
+ <translation>éżć‹‰äĽŻć–‡</translation>
+ </message>
+ <message>
+ <source>Syriac</source>
+ <translation>叙ĺ©äşšć–‡</translation>
+ </message>
+ <message>
+ <source>Thaana</source>
+ <translation>马尔代夫文</translation>
+ </message>
+ <message>
+ <source>Devanagari</source>
+ <translation>梵文</translation>
+ </message>
+ <message>
+ <source>Bengali</source>
+ <translation>孟加拉文</translation>
+ </message>
+ <message>
+ <source>Gurmukhi</source>
+ <translation>ć—é®ć™®ć–‡</translation>
+ </message>
+ <message>
+ <source>Gujarati</source>
+ <translation>古ĺ‰ć‹‰ç‰ąć–‡</translation>
+ </message>
+ <message>
+ <source>Oriya</source>
+ <translation>奥里雅文</translation>
+ </message>
+ <message>
+ <source>Tamil</source>
+ <translation>泰米尔文</translation>
+ </message>
+ <message>
+ <source>Telugu</source>
+ <translation>泰卢固文</translation>
+ </message>
+ <message>
+ <source>Kannada</source>
+ <translation>ĺźçşłĺľ·ć–‡</translation>
+ </message>
+ <message>
+ <source>Malayalam</source>
+ <translation>马拉亚拉姆文</translation>
+ </message>
+ <message>
+ <source>Sinhala</source>
+ <translation>ĺ§äĽ˝ç˝—ć–‡</translation>
+ </message>
+ <message>
+ <source>Thai</source>
+ <translation>泰国文</translation>
+ </message>
+ <message>
+ <source>Lao</source>
+ <translation>č€ćŚťć–‡</translation>
+ </message>
+ <message>
+ <source>Tibetan</source>
+ <translation>č—Źć–‡</translation>
+ </message>
+ <message>
+ <source>Myanmar</source>
+ <translation>缅甸文</translation>
+ </message>
+ <message>
+ <source>Georgian</source>
+ <translation>ć Ľé˛ĺ‰äşšć–‡</translation>
+ </message>
+ <message>
+ <source>Khmer</source>
+ <translation>谷美尔文</translation>
+ </message>
+ <message>
+ <source>Simplified Chinese</source>
+ <translation>简体中文</translation>
+ </message>
+ <message>
+ <source>Traditional Chinese</source>
+ <translation>çąä˝“中文</translation>
+ </message>
+ <message>
+ <source>Japanese</source>
+ <translation>ć—Ąć–‡</translation>
+ </message>
+ <message>
+ <source>Korean</source>
+ <translation>éź©ć–‡</translation>
+ </message>
+ <message>
+ <source>Vietnamese</source>
+ <translation>越南文</translation>
+ </message>
+ <message>
+ <source>Symbol</source>
+ <translation>符号</translation>
+ </message>
+ <message>
+ <source>Ogham</source>
+ <translation>欧ç”ć–‡</translation>
+ </message>
+ <message>
+ <source>Runic</source>
+ <translation>古北欧文</translation>
+ </message>
+ <message>
+ <source>N&apos;Ko</source>
+ <translation>N&apos;Ko</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDialog</name>
+ <message>
+ <source>&amp;Font</source>
+ <translation>字体(&amp;F)</translation>
+ </message>
+ <message>
+ <source>Font st&amp;yle</source>
+ <translation>字体风格(&amp;Y)</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>大小(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Effects</source>
+ <translation>ć•ćžś</translation>
+ </message>
+ <message>
+ <source>Stri&amp;keout</source>
+ <translation>ĺ é™¤çşż(&amp;K)</translation>
+ </message>
+ <message>
+ <source>&amp;Underline</source>
+ <translation>下ĺ’çşż(&amp;U)</translation>
+ </message>
+ <message>
+ <source>Sample</source>
+ <translation>实例</translation>
+ </message>
+ <message>
+ <source>Select Font</source>
+ <translation>选择字体</translation>
+ </message>
+ <message>
+ <source>Wr&amp;iting System</source>
+ <translation>书写系统(&amp;I)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFtp</name>
+ <message>
+ <source>Host %1 found</source>
+ <translation>主机%1找ĺ°äş†</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>主机找ĺ°äş†</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>连接ĺ°ä¸»ćśş%1了</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>连接ĺ°ä¸»ćśşäş†</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>ĺ°%1的连接关闭了</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>连接关闭了</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>主机%1没有找ĺ°</translation>
+ </message>
+ <message>
+ <source>Connection refused to host %1</source>
+ <translation>连接被主机 %1 拒绝</translation>
+ </message>
+ <message>
+ <source>Connection timed out to host %1</source>
+ <translation>主机%1连接超时</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ <message>
+ <source>Connecting to host failed:
+%1</source>
+ <translation>连接主机失败:
+%1</translation>
+ </message>
+ <message>
+ <source>Login failed:
+%1</source>
+ <translation>登录失败:
+%1</translation>
+ </message>
+ <message>
+ <source>Listing directory failed:
+%1</source>
+ <translation>ĺ—出目录失败:
+%1</translation>
+ </message>
+ <message>
+ <source>Changing directory failed:
+%1</source>
+ <translation>改ĺŹç›®ĺ˝•ĺ¤±č´ĄďĽš
+%1</translation>
+ </message>
+ <message>
+ <source>Downloading file failed:
+%1</source>
+ <translation>下载文件失败:
+%1</translation>
+ </message>
+ <message>
+ <source>Uploading file failed:
+%1</source>
+ <translation>上传文件失败:
+%1</translation>
+ </message>
+ <message>
+ <source>Removing file failed:
+%1</source>
+ <translation>移除文件失败:
+%1</translation>
+ </message>
+ <message>
+ <source>Creating directory failed:
+%1</source>
+ <translation>ĺ›ĺ»şç›®ĺ˝•ĺ¤±č´ĄďĽš
+%1</translation>
+ </message>
+ <message>
+ <source>Removing directory failed:
+%1</source>
+ <translation>移除目录失败:
+%1</translation>
+ </message>
+ <message>
+ <source>Not connected</source>
+ <translation>没有连接</translation>
+ </message>
+ <message>
+ <source>Connection refused for data connection</source>
+ <translation>因为数据连接而被拒绝连接</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfo</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfoAgent</name>
+ <message>
+ <source>Host not found</source>
+ <translation>主机未找ĺ°</translation>
+ </message>
+ <message>
+ <source>Unknown address type</source>
+ <translation>未知的地址类型</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>未给定主机ĺŤ</translation>
+ </message>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>ć— ć•ä¸»ćśşĺŤ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttp</name>
+ <message>
+ <source>Connection refused</source>
+ <translation>连接被拒绝</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>主机%1没有找ĺ°</translation>
+ </message>
+ <message>
+ <source>Wrong content length</source>
+ <translation>错误的内容长度</translation>
+ </message>
+ <message>
+ <source>HTTP request failed</source>
+ <translation>HTTP请求失败</translation>
+ </message>
+ <message>
+ <source>Host %1 found</source>
+ <translation>主机%1找ĺ°äş†</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>主机找ĺ°äş†</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>连接ĺ°%1主机了</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>连接ĺ°ä¸»ćśşäş†</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>ĺ°%1的连接关闭了</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>连接关闭了</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ <message>
+ <source>Request aborted</source>
+ <translation>请求被放ĺĽäş†</translation>
+ </message>
+ <message>
+ <source>No server set to connect to</source>
+ <translation>没有设置č¦čżžćŽĄçš„服务器</translation>
+ </message>
+ <message>
+ <source>Server closed connection unexpectedly</source>
+ <translation>服务器异常地关闭了连接</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP response header</source>
+ <translation>ć— ć•çš„HTTP响应头</translation>
+ </message>
+ <message>
+ <source>Unknown authentication method</source>
+ <translation>未知鉴定方法</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP chunked body</source>
+ <translation>ć— ć•çš„HTTPč‡č‚żä˝“</translation>
+ </message>
+ <message>
+ <source>Error writing response to device</source>
+ <translation>ĺ‘设备中进行写回复时发生错误</translation>
+ </message>
+ <message>
+ <source>Proxy authentication required</source>
+ <translation>代ç†éś€č¦č®¤čŻ</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>需č¦č®¤čŻ</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication</source>
+ <translation>代ç†éś€č¦éŞŚčŻ</translation>
+ </message>
+ <message>
+ <source>Host requires authentication</source>
+ <translation>主机需č¦éŞŚčŻ</translation>
+ </message>
+ <message>
+ <source>Data corrupted</source>
+ <translation>数据错误</translation>
+ </message>
+ <message>
+ <source>SSL handshake failed</source>
+ <translation>SSL 握手失败</translation>
+ </message>
+ <message>
+ <source>Unknown protocol specified</source>
+ <translation>所指定的协议ćŻćśŞçźĄçš„</translation>
+ </message>
+ <message>
+ <source>Connection refused (or timed out)</source>
+ <translation>连接被拒绝(ć–者超时)</translation>
+ </message>
+ <message>
+ <source>HTTPS connection requested but SSL support not compiled in</source>
+ <translation>HTTPS čżžćŽĄéś€č¦ SSL,但ĺ®ć˛ˇćś‰č˘«çĽ–译进来</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttpSocketEngine</name>
+ <message>
+ <source>Did not receive HTTP response from proxy</source>
+ <translation>未收ĺ°ä»Łç†çš„HTTPĺ“Ťĺş”</translation>
+ </message>
+ <message>
+ <source>Error parsing authentication request from proxy</source>
+ <translation>解ćžä»Łç†çš„认čŻčŻ·ć±‚出错</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>需č¦č®¤čŻ</translation>
+ </message>
+ <message>
+ <source>Proxy denied connection</source>
+ <translation>代ç†ć‹’绝连接</translation>
+ </message>
+ <message>
+ <source>Error communicating with HTTP proxy</source>
+ <translation>ĺ’ŚHTTP代ç†é€šč®Żć—¶ĺŹ‘生错误</translation>
+ </message>
+ <message>
+ <source>Proxy server not found</source>
+ <translation>未找ĺ°ä»Łç†ćśŤĺŠˇĺ™¨</translation>
+ </message>
+ <message>
+ <source>Proxy connection refused</source>
+ <translation>代ç†čżžćŽĄč˘«ć‹’绝</translation>
+ </message>
+ <message>
+ <source>Proxy server connection timed out</source>
+ <translation>代ç†ćśŤĺŠˇĺ™¨čżžćŽĄč¶…ć—¶</translation>
+ </message>
+ <message>
+ <source>Proxy connection closed prematurely</source>
+ <translation>代ç†čżžćŽĄčż‡ć—©ĺ…łé—­</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>打开数据库错误</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>不č˝ĺĽ€ĺ§‹äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseResult</name>
+ <message>
+ <source>Unable to create BLOB</source>
+ <translation>不č˝ĺ›ĺ»şBLOB</translation>
+ </message>
+ <message>
+ <source>Unable to write BLOB</source>
+ <translation>不č˝ĺ†™ĺ…ĄBLOB</translation>
+ </message>
+ <message>
+ <source>Unable to open BLOB</source>
+ <translation>不č˝ć‰“开BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to read BLOB</source>
+ <translation>不č˝čŻ»ĺŹ–BLOB</translation>
+ </message>
+ <message>
+ <source>Could not find array</source>
+ <translation>不č˝ć‰ľĺ°ć•°ç»„</translation>
+ </message>
+ <message>
+ <source>Could not get array data</source>
+ <translation>不č˝ĺľ—ĺ°ć•°ç»„数据</translation>
+ </message>
+ <message>
+ <source>Could not get query info</source>
+ <translation>不č˝ĺľ—ĺ°ćźĄčŻ˘äżˇćŻ</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>不č˝ĺĽ€ĺ§‹äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Could not allocate statement</source>
+ <translation>不č˝ĺ†é…ŤčŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Could not prepare statement</source>
+ <translation>不č˝ĺ‡†ĺ¤‡čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Could not describe input statement</source>
+ <translation>不č˝ćŹŹčż°čľ“入语句</translation>
+ </message>
+ <message>
+ <source>Could not describe statement</source>
+ <translation>不č˝ćŹŹčż°čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to close statement</source>
+ <translation>不č˝ĺ…łé—­čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>不č˝ć‰§čˇŚćźĄčŻ˘</translation>
+ </message>
+ <message>
+ <source>Could not fetch next item</source>
+ <translation>不č˝čŽ·ĺŹ–下一项</translation>
+ </message>
+ <message>
+ <source>Could not get statement info</source>
+ <translation>不č˝ĺľ—ĺ°čŻ­ĺŹĄäżˇćŻ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIODevice</name>
+ <message>
+ <source>Permission denied</source>
+ <translation>ćťé™č˘«ć‹’绝</translation>
+ </message>
+ <message>
+ <source>Too many open files</source>
+ <translation>太多打开的文件</translation>
+ </message>
+ <message>
+ <source>No such file or directory</source>
+ <translation>没有这个文件ć–者目录</translation>
+ </message>
+ <message>
+ <source>No space left on device</source>
+ <translation>设备上没有空间了</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputContext</name>
+ <message>
+ <source>XIM</source>
+ <translation>XIM</translation>
+ </message>
+ <message>
+ <source>FEP</source>
+ <translation>FEP</translation>
+ </message>
+ <message>
+ <source>XIM input method</source>
+ <translation>XIMčľ“ĺ…Ąćł•</translation>
+ </message>
+ <message>
+ <source>Windows input method</source>
+ <translation>Windowsčľ“ĺ…Ąćł•</translation>
+ </message>
+ <message>
+ <source>Mac OS X input method</source>
+ <translation>Mac OS Xčľ“ĺ…Ąćł•</translation>
+ </message>
+ <message>
+ <source>S60 FEP input method</source>
+ <translation>S60 FEPčľ“ĺ…Ąćł•</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputDialog</name>
+ <message>
+ <source>Enter a value:</source>
+ <translation>输入一个值:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLibrary</name>
+ <message>
+ <source>Could not mmap &apos;%1&apos;: %2</source>
+ <translation>不č˝ć ĺ°„”%1“:%2</translation>
+ </message>
+ <message>
+ <source>Plugin verification data mismatch in &apos;%1&apos;</source>
+ <translation>“%1“中的插件验čŻć•°ćŤ®ä¸ŤĺŚąé…Ť</translation>
+ </message>
+ <message>
+ <source>Could not unmap &apos;%1&apos;: %2</source>
+ <translation>不č˝ĺŹ–ć¶ć ĺ°„“%1“:%2</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
+ <translation>插件“%1”使用了不兼容的Qt库。(%2.%3.%4) [%5]</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
+ <translation>插件“%1“使用了不兼容的Qt库。期待的构建键ćŻâ€ś%2“,得ĺ°çš„却ćŻâ€ť%3“</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ <message>
+ <source>The shared library was not found.</source>
+ <translation>共享库没有被找ĺ°ă€‚</translation>
+ </message>
+ <message>
+ <source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
+ <translation>文件“%1“不ćŻćś‰ć•çš„Qt插件。</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
+ <translation>插件“%1“使用了不兼容的Qt库。(不č˝ć··ĺ使用库的č°čŻ•ç‰ćś¬ĺ’ŚĺŹ‘ĺ¸ç‰ćś¬ă€‚)</translation>
+ </message>
+ <message>
+ <source>Cannot load library %1: %2</source>
+ <translation>无法加载库%1:%2</translation>
+ </message>
+ <message>
+ <source>Cannot unload library %1: %2</source>
+ <translation>无法卸载库%1:%2</translation>
+ </message>
+ <message>
+ <source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
+ <translation>无法解ćž%2中的符号“%2”:%3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLineEdit</name>
+ <message>
+ <source>Select All</source>
+ <translation>选择全é¨</translation>
+ </message>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>ć’¤ć¶(&amp;U)</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>ć˘ĺ¤Ť(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>剪ĺ‡(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>复ĺ¶(&amp;C)</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>ç˛č´´(&amp;P)</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺ é™¤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalServer</name>
+ <message>
+ <source>%1: Name error</source>
+ <translation>%1: ĺŤç§°é”™čŻŻ</translation>
+ </message>
+ <message>
+ <source>%1: Permission denied</source>
+ <translation>%1:ćťé™č˘«ć‹’绝</translation>
+ </message>
+ <message>
+ <source>%1: Address in use</source>
+ <translation>%1:地址正在被使用</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1:未知错误 %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalSocket</name>
+ <message>
+ <source>%1: Connection refused</source>
+ <translation>%1:连接被拒绝</translation>
+ </message>
+ <message>
+ <source>%1: Remote closed</source>
+ <translation>%1:远程已关闭</translation>
+ </message>
+ <message>
+ <source>%1: Invalid name</source>
+ <translation>%1:无ć•ĺŤç§°</translation>
+ </message>
+ <message>
+ <source>%1: Socket access error</source>
+ <translation>%1:套接字访问错误</translation>
+ </message>
+ <message>
+ <source>%1: Socket resource error</source>
+ <translation>%1:套接字资ćşé”™čŻŻ</translation>
+ </message>
+ <message>
+ <source>%1: Socket operation timed out</source>
+ <translation>%1:套接字操作超时</translation>
+ </message>
+ <message>
+ <source>%1: Datagram too large</source>
+ <translation>%1:数据报太大</translation>
+ </message>
+ <message>
+ <source>%1: Connection error</source>
+ <translation>%1:连接错误</translation>
+ </message>
+ <message>
+ <source>%1: The socket operation is not supported</source>
+ <translation>%1:套接字操作不被支ćŚ</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error</source>
+ <translation>%1:未知错误</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1:未知错误 %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLDriver</name>
+ <message>
+ <source>Unable to open database &apos;</source>
+ <translation>不č˝ć‰“开数据库</translation>
+ </message>
+ <message>
+ <source>Unable to connect</source>
+ <translation>不č˝čżžćŽĄ</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>不č˝ĺĽ€ĺ§‹äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLResult</name>
+ <message>
+ <source>Unable to fetch data</source>
+ <translation>不č˝čŽ·ĺŹ–数据</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>不č˝ć‰§čˇŚćźĄčŻ˘</translation>
+ </message>
+ <message>
+ <source>Unable to store result</source>
+ <translation>不č˝ĺ­ĺ‚¨ç»“ćžś</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>不č˝ĺ‡†ĺ¤‡čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>不č˝é‡Ťç˝®čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>不č˝ç»‘定值</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>不č˝ć‰§čˇŚčŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to bind outvalues</source>
+ <translation>不č˝ç»‘定外值</translation>
+ </message>
+ <message>
+ <source>Unable to store statement results</source>
+ <translation>不č˝ĺ­ĺ‚¨čŻ­ĺŹĄç»“ćžś</translation>
+ </message>
+ <message>
+ <source>Unable to execute next query</source>
+ <translation>不č˝ć‰§čˇŚä¸‹ä¸€ä¸ŞćźĄčŻ˘</translation>
+ </message>
+ <message>
+ <source>Unable to store next result</source>
+ <translation>不č˝ĺ­ĺ‚¨ä¸‹ä¸€ä¸Şç»“ćžś</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiArea</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>(未命ĺŤçš„)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiSubWindow</name>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>最小化</translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation>ĺ‘下ć˘ĺ¤Ť</translation>
+ </message>
+ <message>
+ <source>&amp;Restore</source>
+ <translation>ć˘ĺ¤Ť(&amp;R)</translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation>移动(&amp;M)</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>大小(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation>最小化(&amp;N)</translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation>最大化(&amp;X)</translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation>总在最前(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>ĺ…łé—­(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>最大化</translation>
+ </message>
+ <message>
+ <source>Unshade</source>
+ <translation>取ć¶é®č”˝</translation>
+ </message>
+ <message>
+ <source>Shade</source>
+ <translation>é®č”˝</translation>
+ </message>
+ <message>
+ <source>Restore</source>
+ <translation>ć˘ĺ¤Ť</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>帮助</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>菜单</translation>
+ </message>
+ <message>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenu</name>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>打开</translation>
+ </message>
+ <message>
+ <source>Execute</source>
+ <translation>执行</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenuBar</name>
+ <message>
+ <source>Actions</source>
+ <translation>操作</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMessageBox</name>
+ <message>
+ <source>OK</source>
+ <translation>确定</translation>
+ </message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;关于Qt&lt;/h3&gt;&lt;p&gt;此程序使用Qtç‰ćś¬%1。&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;QtćŻä¸€ä¸ŞC++工具箱,用于跨平台应用程序开发。&lt;/p&gt;&lt;p&gt;Qt具有单一ćşč·¨ĺŹŻç§»ć¤Ťć€§ďĽŚĺŹŻč·¨č¶ŠMS&amp;nbsp;Windowsă€Mac&amp;nbsp;OS&amp;nbsp;Xă€Linux和所有主č¦çš„商业Unix类平台进行移植。Qtčżé€‚用于嵌入式设备,如Qt for Embedded Linuxĺ’ŚQt for Windows CE。&lt;/p&gt;&lt;p&gt;Qt有三种不ĺŚč®¸ĺŹŻć–ąĺĽŹďĽŚä»Ąć»ˇč¶łĺ„种用ć·éś€ć±‚。&lt;/p&gt;&lt;p&gt;ĺ‡ĺ¦‚您č¦ĺĽ€ĺŹ‘专ĺ©/商业软件,但不希望与第三方共享任何ćşä»Łç ďĽŚć–者无法符ĺGNU LGPLç‰ćś¬2.1ć–GNU GPLç‰ćś¬3.0的条款,ĺ™ćŚ‰ç…§ć‘们的商业许可čŻĺŤŹč®®ćŽćťçš„Qt非常适用。&lt;/p&gt;&lt;p&gt;ĺ‡ĺ¦‚您č˝ĺ¤źç¬¦ĺGNU LGPLç‰ćś¬2.1的条款和条件,ĺ™ćŚ‰ç…§GNU LGPLç‰ćś¬2.1ćŽćťçš„Qt非常适ĺ开发Qt应用程序(专有ć–开放ćşç )。&lt;/p&gt;&lt;p&gt;ĺ‡ĺ¦‚在开发Qt应用程序过程中,您希望这类应用程序č˝ä¸ŽéµĺľŞGNU GPLç‰ćś¬3.0的软件ĺ用,ć–者您愿意符ĺGNU GPLç‰ćś¬3.0条款,ĺ™ćŚ‰ç…§GNU通用公共许可čŻç‰ćś¬3.0ćŽćťçš„Qt非常适用。&lt;/p&gt;&lt;p&gt;请参é…&lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt;了解QtćŽćťć¦‚况。&lt;/p&gt;&lt;p&gt;ç‰ćťć‰€ćś‰ (C) 2010 诺基亚公司和/ć–附属公司。&lt;/p&gt;&lt;p&gt;QtćŻä¸€ć¬ľčŻşĺźşäşšäş§ĺ“。请参é…&lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt;了解详ć…。&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation>关于Qt</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>帮助</translation>
+ </message>
+ <message>
+ <source>Show Details...</source>
+ <translation>ćľç¤şç»†čŠ‚……</translation>
+ </message>
+ <message>
+ <source>Hide Details...</source>
+ <translation>éšč—Źç»†čŠ‚……</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContext</name>
+ <message>
+ <source>Select IM</source>
+ <translation>选择输入法</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContextPlugin</name>
+ <message>
+ <source>Multiple input method switcher</source>
+ <translation>多输入法ĺ‡ćŤ˘ĺ™¨</translation>
+ </message>
+ <message>
+ <source>Multiple input method switcher that uses the context menu of the text widgets</source>
+ <translation>使用文本窗口é¨ä»¶ä¸Šä¸‹ć–‡čŹśĺŤ•çš„多输入法ĺ‡ćŤ˘ĺ™¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNativeSocketEngine</name>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>远端主机关闭了这个连接</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>网络操作超时</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>资ćşč€—尽了</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>不被支ćŚçš„套接字操作</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>协议类型不被支ćŚ</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>ć— ć•çš„套接字描述符</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>网络不č˝č®żé—®</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>ćťé™č˘«ć‹’绝</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>连接超时</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>连接被拒绝</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>č¦ĺŻç”¨çš„地址已经被使用</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>这个地址不可用</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>这个地址被保护了</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>不č˝ĺŹ‘é€ä¸€ä¸Şć¶ćŻ</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>不č˝ćŽĄć”¶ä¸€ä¸Şć¶ćŻ</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>不č˝ĺ†™ĺ…Ą</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>网络错误</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>另一个套接字已经正在监ĺ¬ĺŚä¸€ç«ŻĺŹŁ</translation>
+ </message>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>不č˝ĺťĺ§‹ĺŚ–éťžé»ĺˇžĺĄ—接字</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>不č˝ĺťĺ§‹ĺŚ–广播套接字</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>试图在不支ćŚIPv6支ćŚçš„平台上使用IPv6套接字</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>主机不č˝č®żé—®</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>不č˝ĺŹ‘é€čż‡ĺ¤§çš„数据报</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>对非套接字操作</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>对于这个操作代ç†ç±»ĺž‹ćŻć— ć•çš„。</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessCacheBackend</name>
+ <message>
+ <source>Error opening %1</source>
+ <translation>打开%1发生错误</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessDebugPipeBackend</name>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>写入%1时出错:%2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFileBackend</name>
+ <message>
+ <source>Request for opening non-local file %1</source>
+ <translation>正在打开非本地文件 %1 的请求</translation>
+ </message>
+ <message>
+ <source>Error opening %1: %2</source>
+ <translation>打开 %1 错误:%2</translation>
+ </message>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>写入 %1 错误:%2</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: Path is a directory</source>
+ <translation>无法打开 %1:路径ćŻä¸€ä¸Şç›®ĺ˝•</translation>
+ </message>
+ <message>
+ <source>Read error reading from %1: %2</source>
+ <translation>读取 %1 错误:%2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFtpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>未找ĺ°ĺ适的代ç†</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: is a directory</source>
+ <translation>无法读取 %1:ćŻä¸€ä¸Şç›®ĺ˝•</translation>
+ </message>
+ <message>
+ <source>Logging in to %1 failed: authentication required</source>
+ <translation>登入 %1 失败:需č¦éŞŚčŻ</translation>
+ </message>
+ <message>
+ <source>Error while downloading %1: %2</source>
+ <translation>下载 %1 时错误:%2</translation>
+ </message>
+ <message>
+ <source>Error while uploading %1: %2</source>
+ <translation>上载 %1 时错误:%2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessHttpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>未找ĺ°ĺ适的代ç†</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReply</name>
+ <message>
+ <source>Error downloading %1 - server replied: %2</source>
+ <translation>下载 %1 错误 - 服务器回复:%2</translation>
+ </message>
+ <message>
+ <source>Protocol &quot;%1&quot; is unknown</source>
+ <translation>协议“%1”ćŻćśŞçźĄçš„</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReplyImpl</name>
+ <message>
+ <source>Operation canceled</source>
+ <translation>操作被取ć¶</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIDriver</name>
+ <message>
+ <source>Unable to logon</source>
+ <translation>不č˝ç™»ĺ˝•</translation>
+ </message>
+ <message>
+ <source>Unable to initialize</source>
+ <comment>QOCIDriver</comment>
+ <translation>不č˝ĺťĺ§‹ĺŚ–</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>不č˝ĺĽ€ĺ§‹äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIResult</name>
+ <message>
+ <source>Unable to bind column for batch execute</source>
+ <translation>不č˝ç»‘定批处ç†ć‰§čˇŚçš„ĺ—</translation>
+ </message>
+ <message>
+ <source>Unable to execute batch statement</source>
+ <translation>不č˝ć‰§čˇŚć‰ąĺ¤„ç†čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to goto next</source>
+ <translation>不č˝čż›ĺ…Ąä¸‹ä¸€ä¸Ş</translation>
+ </message>
+ <message>
+ <source>Unable to alloc statement</source>
+ <translation>不č˝ĺ†é…ŤčŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>不č˝ĺ‡†ĺ¤‡čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to get statement type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>不č˝ç»‘定值</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>不č˝ć‰§čˇŚčŻ­ĺŹĄ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>不č˝čżžćŽĄ</translation>
+ </message>
+ <message>
+ <source>Unable to disable autocommit</source>
+ <translation>不č˝ç¦ć­˘č‡ŞĺŠ¨ćŹäş¤</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to enable autocommit</source>
+ <translation>不č˝ć‰“开自动ćŹäş¤</translation>
+ </message>
+ <message>
+ <source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCResult</name>
+ <message>
+ <source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
+ <translation>QODBCResult::reset: 不č˝ćŠŠâ€śSQL_CURSOR_STATIC”设置为语句属性。请检查你的ODBC驱动程序设置。</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>不č˝ć‰§čˇŚčŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>不č˝čŽ·ĺŹ–下一个</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>不č˝ĺ‡†ĺ¤‡čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>不č˝ĺ¸®ĺ®šĺŹé‡Ź</translation>
+ </message>
+ <message>
+ <source>Unable to fetch last</source>
+ <translation>不č˝čŽ·ĺŹ–最ĺŽä¸€ä¸Ş</translation>
+ </message>
+ <message>
+ <source>Unable to fetch</source>
+ <translation>不č˝čŽ·ĺŹ–</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>不č˝čŽ·ĺŹ–第一个</translation>
+ </message>
+ <message>
+ <source>Unable to fetch previous</source>
+ <translation>不č˝čŽ·ĺŹ–上一个</translation>
+ </message>
+ </context>
+ <context>
+ <name>QObject</name>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>ć— ć•ä¸»ćśşĺŤ</translation>
+ </message>
+ <message>
+ <source>Operation not supported on %1</source>
+ <translation>在 %1 上不被支ćŚçš„操作</translation>
+ </message>
+ <message>
+ <source>Invalid URI: %1</source>
+ <translation>ć— ć•çš„ URI:%1</translation>
+ </message>
+ <message>
+ <source>Socket error on %1: %2</source>
+ <translation>%1 上的套接字错误:%2</translation>
+ </message>
+ <message>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>远程主机过早地关闭了在 %1 上的这个连接</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>未指定主机ĺŤ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPPDOptionsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç§°</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>值</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>不č˝čżžćŽĄ</translation>
+ </message>
+ <message>
+ <source>Could not begin transaction</source>
+ <translation>不č˝ĺĽ€ĺ§‹äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Could not commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Could not rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to subscribe</source>
+ <translation>不č˝č®˘é…</translation>
+ </message>
+ <message>
+ <source>Unable to unsubscribe</source>
+ <translation>不č˝ĺŹ–ć¶č®˘é…</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLResult</name>
+ <message>
+ <source>Unable to create query</source>
+ <translation>不č˝ĺ›ĺ»şćźĄčŻ˘</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>不č˝ĺ‡†ĺ¤‡čŻ­ĺŹĄ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPageSetupWidget</name>
+ <message>
+ <source>Centimeters (cm)</source>
+ <translation>ĺŽç±ł (cm)</translation>
+ </message>
+ <message>
+ <source>Millimeters (mm)</source>
+ <translation>毫米 (mm)</translation>
+ </message>
+ <message>
+ <source>Inches (in)</source>
+ <translation>英寸 (in)</translation>
+ </message>
+ <message>
+ <source>Points (pt)</source>
+ <translation>ç‚ą (pt)</translation>
+ </message>
+ <message>
+ <source>Form</source>
+ <translation>窗体</translation>
+ </message>
+ <message>
+ <source>Paper</source>
+ <translation>纸张</translation>
+ </message>
+ <message>
+ <source>Page size:</source>
+ <translation>纸张大小:</translation>
+ </message>
+ <message>
+ <source>Width:</source>
+ <translation>宽度:</translation>
+ </message>
+ <message>
+ <source>Height:</source>
+ <translation>é«ĺş¦ďĽš</translation>
+ </message>
+ <message>
+ <source>Paper source:</source>
+ <translation>纸张ćşďĽš</translation>
+ </message>
+ <message>
+ <source>Orientation</source>
+ <translation>ć–ąĺ‘</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>çşµĺ‘</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>横ĺ‘</translation>
+ </message>
+ <message>
+ <source>Reverse landscape</source>
+ <translation>反ĺ‘横ĺ‘</translation>
+ </message>
+ <message>
+ <source>Reverse portrait</source>
+ <translation>反ĺ‘çşµĺ‘</translation>
+ </message>
+ <message>
+ <source>Margins</source>
+ <translation>čľąč·ť</translation>
+ </message>
+ <message>
+ <source>top margin</source>
+ <translation>上边距</translation>
+ </message>
+ <message>
+ <source>left margin</source>
+ <translation>左边距</translation>
+ </message>
+ <message>
+ <source>right margin</source>
+ <translation>右边距</translation>
+ </message>
+ <message>
+ <source>bottom margin</source>
+ <translation>下边距</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPluginLoader</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的错误</translation>
+ </message>
+ <message>
+ <source>The plugin was not loaded.</source>
+ <translation>插件没有被载入。</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintDialog</name>
+ <message>
+ <source>locally connected</source>
+ <translation>本地已经连接的</translation>
+ </message>
+ <message>
+ <source>Aliases: %1</source>
+ <translation>ĺ«ĺŤďĽš%1</translation>
+ </message>
+ <message>
+ <source>unknown</source>
+ <translation>未知的</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>确定</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>打印全é¨</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>打印čŚĺ›´</translation>
+ </message>
+ <message>
+ <source>A0 (841 x 1189 mm)</source>
+ <translation>A0 (841 x 1189 毫米)</translation>
+ </message>
+ <message>
+ <source>A1 (594 x 841 mm)</source>
+ <translation>A1 (594 x 841 毫米)</translation>
+ </message>
+ <message>
+ <source>A2 (420 x 594 mm)</source>
+ <translation>A2 (420 x 594 毫米)</translation>
+ </message>
+ <message>
+ <source>A3 (297 x 420 mm)</source>
+ <translation>A3 (297 x 420 毫米)</translation>
+ </message>
+ <message>
+ <source>A5 (148 x 210 mm)</source>
+ <translation>A5 (148 x 210 毫米)</translation>
+ </message>
+ <message>
+ <source>A6 (105 x 148 mm)</source>
+ <translation>A6 (105 x 148 毫米)</translation>
+ </message>
+ <message>
+ <source>A7 (74 x 105 mm)</source>
+ <translation>A7 (74 x 105 毫米)</translation>
+ </message>
+ <message>
+ <source>A8 (52 x 74 mm)</source>
+ <translation>A8 (52 x 74 毫米)</translation>
+ </message>
+ <message>
+ <source>A9 (37 x 52 mm)</source>
+ <translation>A9 (37 x 52 毫米)</translation>
+ </message>
+ <message>
+ <source>B0 (1000 x 1414 mm)</source>
+ <translation>B0 (1000 x 1414 毫米)</translation>
+ </message>
+ <message>
+ <source>B1 (707 x 1000 mm)</source>
+ <translation>B1 (707 x 1000 毫米)</translation>
+ </message>
+ <message>
+ <source>B2 (500 x 707 mm)</source>
+ <translation>B2 (500 x 707 毫米)</translation>
+ </message>
+ <message>
+ <source>B3 (353 x 500 mm)</source>
+ <translation>B3 (353 x 500 毫米)</translation>
+ </message>
+ <message>
+ <source>B4 (250 x 353 mm)</source>
+ <translation>B4 (250 x 353 毫米)</translation>
+ </message>
+ <message>
+ <source>B6 (125 x 176 mm)</source>
+ <translation>B6 (125 x 176 毫米)</translation>
+ </message>
+ <message>
+ <source>B7 (88 x 125 mm)</source>
+ <translation>B7 (88 x 125 毫米)</translation>
+ </message>
+ <message>
+ <source>B8 (62 x 88 mm)</source>
+ <translation>B8 (62 x 88 毫米)</translation>
+ </message>
+ <message>
+ <source>B9 (44 x 62 mm)</source>
+ <translation>B9 (44 x 62 毫米)</translation>
+ </message>
+ <message>
+ <source>B10 (31 x 44 mm)</source>
+ <translation>B10 (31 x 44 毫米)</translation>
+ </message>
+ <message>
+ <source>C5E (163 x 229 mm)</source>
+ <translation>C5E (163 x 229 毫米)</translation>
+ </message>
+ <message>
+ <source>DLE (110 x 220 mm)</source>
+ <translation>DLE (110 x 220 毫米)</translation>
+ </message>
+ <message>
+ <source>Folio (210 x 330 mm)</source>
+ <translation>Folio (210 x 330 毫米)</translation>
+ </message>
+ <message>
+ <source>Ledger (432 x 279 mm)</source>
+ <translation>Ledger (432 x 279 毫米)</translation>
+ </message>
+ <message>
+ <source>Tabloid (279 x 432 mm)</source>
+ <translation>Tabloid (279 x 432 毫米)</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope (105 x 241 mm)</source>
+ <translation>美国普通10ĺŹ·äżˇĺ° (105 x 241 毫米)</translation>
+ </message>
+ <message>
+ <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+ <translation>A4 (210 x 297 毫米,8.26 x 11.7 英寸)</translation>
+ </message>
+ <message>
+ <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+ <translation>B5 (176 x 250 毫米,6.93 x 9.84 英寸)</translation>
+ </message>
+ <message>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (7.5 x 10 英寸,191 x 254 毫米)</translation>
+ </message>
+ <message>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (8.5 x 14 英寸,216 x 356 毫米)</translation>
+ </message>
+ <message>
+ <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+ <translation>Letter (8.5 x 11 英寸,216 x 279 毫米)</translation>
+ </message>
+ <message>
+ <source>Print selection</source>
+ <translation>打印选择</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>打印</translation>
+ </message>
+ <message>
+ <source>Print To File ...</source>
+ <translation>打印ĺ°ć–‡ä»¶â€¦â€¦</translation>
+ </message>
+ <message>
+ <source>File %1 is not writable.
+Please choose a different file name.</source>
+ <translation>文件%1不可写。
+请选择一个不ĺŚçš„文件ĺŤă€‚</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to overwrite it?</source>
+ <translation>%1已经ĺ­ĺś¨ă€‚
+ä˝ ćłč¦†ç›–ĺ®äąďĽź</translation>
+ </message>
+ <message>
+ <source>File exists</source>
+ <translation>文件ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;ä˝ ćłč¦†ç›–ĺ®äąďĽź&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>%1 is a directory.
+Please choose a different file name.</source>
+ <translation>%1ćŻç›®ĺ˝•ă€‚
+请选择一个不ĺŚçš„文件ĺŤă€‚</translation>
+ </message>
+ <message>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>“从”的数值不č˝ĺ¤§äşŽâ€śĺ°â€ťçš„数值。</translation>
+ </message>
+ <message>
+ <source>A0</source>
+ <translation>A0</translation>
+ </message>
+ <message>
+ <source>A1</source>
+ <translation>A1</translation>
+ </message>
+ <message>
+ <source>A2</source>
+ <translation>A2</translation>
+ </message>
+ <message>
+ <source>A3</source>
+ <translation>A3</translation>
+ </message>
+ <message>
+ <source>A4</source>
+ <translation>A4</translation>
+ </message>
+ <message>
+ <source>A5</source>
+ <translation>A5</translation>
+ </message>
+ <message>
+ <source>A6</source>
+ <translation>A6</translation>
+ </message>
+ <message>
+ <source>A7</source>
+ <translation>A7</translation>
+ </message>
+ <message>
+ <source>A8</source>
+ <translation>A8</translation>
+ </message>
+ <message>
+ <source>A9</source>
+ <translation>A9</translation>
+ </message>
+ <message>
+ <source>B0</source>
+ <translation>B0</translation>
+ </message>
+ <message>
+ <source>B1</source>
+ <translation>B1</translation>
+ </message>
+ <message>
+ <source>B2</source>
+ <translation>B2</translation>
+ </message>
+ <message>
+ <source>B3</source>
+ <translation>B3</translation>
+ </message>
+ <message>
+ <source>B4</source>
+ <translation>B4</translation>
+ </message>
+ <message>
+ <source>B5</source>
+ <translation>B5</translation>
+ </message>
+ <message>
+ <source>B6</source>
+ <translation>B6</translation>
+ </message>
+ <message>
+ <source>B7</source>
+ <translation>B7</translation>
+ </message>
+ <message>
+ <source>B8</source>
+ <translation>B8</translation>
+ </message>
+ <message>
+ <source>B9</source>
+ <translation>B9</translation>
+ </message>
+ <message>
+ <source>B10</source>
+ <translation>B10</translation>
+ </message>
+ <message>
+ <source>C5E</source>
+ <translation>C5E</translation>
+ </message>
+ <message>
+ <source>DLE</source>
+ <translation>DLE</translation>
+ </message>
+ <message>
+ <source>Executive</source>
+ <translation>决策文书</translation>
+ </message>
+ <message>
+ <source>Folio</source>
+ <translation>对开纸</translation>
+ </message>
+ <message>
+ <source>Ledger</source>
+ <translation>ĺ¸éˇµ</translation>
+ </message>
+ <message>
+ <source>Legal</source>
+ <translation>法律文书</translation>
+ </message>
+ <message>
+ <source>Letter</source>
+ <translation>信纸</translation>
+ </message>
+ <message>
+ <source>Tabloid</source>
+ <translation>小型报纸</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope</source>
+ <translation>美国普通10号信ĺ°</translation>
+ </message>
+ <message>
+ <source>Custom</source>
+ <translation>自定义</translation>
+ </message>
+ <message>
+ <source>&amp;Options &gt;&gt;</source>
+ <translation>选项(&amp;O) &gt;&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Options &lt;&lt;</source>
+ <translation>选项(&amp;O) &lt;&lt;</translation>
+ </message>
+ <message>
+ <source>Print to File (PDF)</source>
+ <translation>打印ĺ°ć–‡ä»¶(PDF)</translation>
+ </message>
+ <message>
+ <source>Print to File (Postscript)</source>
+ <translation>打印ĺ°ć–‡ä»¶(Postscript)</translation>
+ </message>
+ <message>
+ <source>Local file</source>
+ <translation>本地文件</translation>
+ </message>
+ <message>
+ <source>Write %1 file</source>
+ <translation>写入 %1 文件</translation>
+ </message>
+ <message>
+ <source>&amp;Print</source>
+ <translation>打印(&amp;P)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPreviewDialog</name>
+ <message>
+ <source>%1%</source>
+ <translation>%1%</translation>
+ </message>
+ <message>
+ <source>Print Preview</source>
+ <translation>打印预č§</translation>
+ </message>
+ <message>
+ <source>Next page</source>
+ <translation>下一页</translation>
+ </message>
+ <message>
+ <source>Previous page</source>
+ <translation>上一页</translation>
+ </message>
+ <message>
+ <source>First page</source>
+ <translation>第一页</translation>
+ </message>
+ <message>
+ <source>Last page</source>
+ <translation>最ĺŽä¸€éˇµ</translation>
+ </message>
+ <message>
+ <source>Fit width</source>
+ <translation>适应宽度</translation>
+ </message>
+ <message>
+ <source>Fit page</source>
+ <translation>适应页面</translation>
+ </message>
+ <message>
+ <source>Zoom in</source>
+ <translation>放大</translation>
+ </message>
+ <message>
+ <source>Zoom out</source>
+ <translation>缩小</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>çşµĺ‘</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>横ĺ‘</translation>
+ </message>
+ <message>
+ <source>Show single page</source>
+ <translation>ćľç¤şĺŤ•éˇµ</translation>
+ </message>
+ <message>
+ <source>Show facing pages</source>
+ <translation>ćľç¤şĺ˝“前页</translation>
+ </message>
+ <message>
+ <source>Show overview of all pages</source>
+ <translation>ćľç¤şć‰€ćś‰éˇµçš„概č§</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>打印</translation>
+ </message>
+ <message>
+ <source>Page setup</source>
+ <translation>打印设置</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Export to PDF</source>
+ <translation>导出为PDF</translation>
+ </message>
+ <message>
+ <source>Export to PostScript</source>
+ <translation>导出为PostScript</translation>
+ </message>
+ <message>
+ <source>Page Setup</source>
+ <translation>页面设置</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPropertiesWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>窗体</translation>
+ </message>
+ <message>
+ <source>Page</source>
+ <translation>页</translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>é«çş§</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintSettingsOutput</name>
+ <message>
+ <source>Form</source>
+ <translation>窗体</translation>
+ </message>
+ <message>
+ <source>Copies</source>
+ <translation>ć‹·č´ť</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>打印čŚĺ›´</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>打印全é¨</translation>
+ </message>
+ <message>
+ <source>Pages from</source>
+ <translation>页数从</translation>
+ </message>
+ <message>
+ <source>to</source>
+ <translation>ĺ°</translation>
+ </message>
+ <message>
+ <source>Selection</source>
+ <translation>选择</translation>
+ </message>
+ <message>
+ <source>Output Settings</source>
+ <translation>输出设置</translation>
+ </message>
+ <message>
+ <source>Copies:</source>
+ <translation>备份:</translation>
+ </message>
+ <message>
+ <source>Collate</source>
+ <translation>校对</translation>
+ </message>
+ <message>
+ <source>Reverse</source>
+ <translation>反ĺ‘</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>选项</translation>
+ </message>
+ <message>
+ <source>Color Mode</source>
+ <translation>彩色模式</translation>
+ </message>
+ <message>
+ <source>Color</source>
+ <translation>彩色</translation>
+ </message>
+ <message>
+ <source>Grayscale</source>
+ <translation>ç°ĺş¦</translation>
+ </message>
+ <message>
+ <source>Duplex Printing</source>
+ <translation>两é¨ĺ†ć‰“印</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation>ć— </translation>
+ </message>
+ <message>
+ <source>Long side</source>
+ <translation>长侧</translation>
+ </message>
+ <message>
+ <source>Short side</source>
+ <translation>短侧</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>窗体</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation>打印机</translation>
+ </message>
+ <message>
+ <source>&amp;Name:</source>
+ <translation>ĺŤç§°(&amp;N):</translation>
+ </message>
+ <message>
+ <source>P&amp;roperties</source>
+ <translation>属性(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Location:</source>
+ <translation>位置:</translation>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation>预č§</translation>
+ </message>
+ <message>
+ <source>Type:</source>
+ <translation>类型:</translation>
+ </message>
+ <message>
+ <source>Output &amp;file:</source>
+ <translation>输出文件(&amp;F):</translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProcess</name>
+ <message>
+ <source>Could not open input redirection for reading</source>
+ <translation>无法打开用于读取的输入重定ĺ‘</translation>
+ </message>
+ <message>
+ <source>Could not open output redirection for writing</source>
+ <translation>无法打开用于写入的输出重定ĺ‘</translation>
+ </message>
+ <message>
+ <source>Resource error (fork failure): %1</source>
+ <translation>资ćşé”™čŻŻ(fork失败):%1</translation>
+ </message>
+ <message>
+ <source>Process operation timed out</source>
+ <translation>进程处ç†č¶…ć—¶</translation>
+ </message>
+ <message>
+ <source>Error reading from process</source>
+ <translation>从进程中读取时发生错误</translation>
+ </message>
+ <message>
+ <source>Error writing to process</source>
+ <translation>ĺ‘进程写入时发生错误</translation>
+ </message>
+ <message>
+ <source>Process crashed</source>
+ <translation>进程已崩ćş</translation>
+ </message>
+ <message>
+ <source>No program defined</source>
+ <translation>未定义程序</translation>
+ </message>
+ <message>
+ <source>Process failed to start: %1</source>
+ <translation>过程无法ĺŻĺŠ¨ďĽš%1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>ć’¤ć¶</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPushButton</name>
+ <message>
+ <source>Open</source>
+ <translation>打开</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRadioButton</name>
+ <message>
+ <source>Check</source>
+ <translation>选中</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRegExp</name>
+ <message>
+ <source>no error occurred</source>
+ <translation>没有错误发生</translation>
+ </message>
+ <message>
+ <source>disabled feature used</source>
+ <translation>使用了失ć•çš„特ć•</translation>
+ </message>
+ <message>
+ <source>bad char class syntax</source>
+ <translation>错误的字符类语法</translation>
+ </message>
+ <message>
+ <source>bad lookahead syntax</source>
+ <translation>错误的预测语法</translation>
+ </message>
+ <message>
+ <source>bad repetition syntax</source>
+ <translation>错误的重复语法</translation>
+ </message>
+ <message>
+ <source>invalid octal value</source>
+ <translation>ć— ć•çš„ĺ…«čż›ĺ¶ć•°ĺ€Ľ</translation>
+ </message>
+ <message>
+ <source>missing left delim</source>
+ <translation>找不ĺ°ĺ·¦ĺ†éš”符</translation>
+ </message>
+ <message>
+ <source>unexpected end</source>
+ <translation>意外的ç»ć­˘</translation>
+ </message>
+ <message>
+ <source>met internal limit</source>
+ <translation>é‡ĺ°ĺ†…é¨é™ĺ¶</translation>
+ </message>
+ <message>
+ <source>invalid interval</source>
+ <translation>ć— ć•ć—¶é—´é—´éš”</translation>
+ </message>
+ <message>
+ <source>invalid category</source>
+ <translation>ć— ć•ç±»ĺ«</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Driver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>打开数据库时出错</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>不č˝ĺĽ€ĺ§‹äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Result</name>
+ <message>
+ <source>Unable to fetch results</source>
+ <translation>不č˝čŽ·ĺŹ–结果</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>不č˝ć‰§čˇŚčŻ­ĺŹĄ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>打开数据库错误</translation>
+ </message>
+ <message>
+ <source>Error closing database</source>
+ <translation>关闭数据库错误</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>不č˝ĺĽ€ĺ§‹äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>不č˝ćŹäş¤äş‹ĺŠˇ</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>不č˝ĺ›žć»šäş‹ĺŠˇ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteResult</name>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>不č˝čŽ·ĺŹ–行</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>不č˝ć‰§čˇŚčŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>不č˝é‡Ťç˝®čŻ­ĺŹĄ</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>不č˝ç»‘定参数</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>参数数量不匹配</translation>
+ </message>
+ <message>
+ <source>No query</source>
+ <translation>没有查询</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsModel</name>
+ <message>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>位置</translation>
+ </message>
+ <message>
+ <source>Condition</source>
+ <translation>条件</translation>
+ </message>
+ <message>
+ <source>Ignore-count</source>
+ <translation>忽略计数</translation>
+ </message>
+ <message>
+ <source>Single-shot</source>
+ <translation>单发</translation>
+ </message>
+ <message>
+ <source>Hit-count</source>
+ <translation>点击量</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsWidget</name>
+ <message>
+ <source>New</source>
+ <translation>新建</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺ é™¤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebugger</name>
+ <message>
+ <source>Go to Line</source>
+ <translation>转至行</translation>
+ </message>
+ <message>
+ <source>Line:</source>
+ <translation>行:</translation>
+ </message>
+ <message>
+ <source>Interrupt</source>
+ <translation>中断</translation>
+ </message>
+ <message>
+ <source>Shift+F5</source>
+ <translation>Shift+F5</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>继续</translation>
+ </message>
+ <message>
+ <source>F5</source>
+ <translation>F5</translation>
+ </message>
+ <message>
+ <source>Step Into</source>
+ <translation>进入</translation>
+ </message>
+ <message>
+ <source>F11</source>
+ <translation>F11</translation>
+ </message>
+ <message>
+ <source>Step Over</source>
+ <translation>越过</translation>
+ </message>
+ <message>
+ <source>F10</source>
+ <translation>F10</translation>
+ </message>
+ <message>
+ <source>Step Out</source>
+ <translation>跳出</translation>
+ </message>
+ <message>
+ <source>Shift+F11</source>
+ <translation>Shift+F11</translation>
+ </message>
+ <message>
+ <source>Run to Cursor</source>
+ <translation>čżčˇŚĺ°ĺ…‰ć ‡</translation>
+ </message>
+ <message>
+ <source>Ctrl+F10</source>
+ <translation>Ctrl+F10</translation>
+ </message>
+ <message>
+ <source>Run to New Script</source>
+ <translation>čżčˇŚĺ°ć–°č„šćś¬</translation>
+ </message>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>ĺ‡ćŤ˘ć–­ç‚ą</translation>
+ </message>
+ <message>
+ <source>F9</source>
+ <translation>F9</translation>
+ </message>
+ <message>
+ <source>Clear Debug Output</source>
+ <translation>清除č°čŻ•čľ“出</translation>
+ </message>
+ <message>
+ <source>Clear Error Log</source>
+ <translation>清除错误日志</translation>
+ </message>
+ <message>
+ <source>Clear Console</source>
+ <translation>清除控ĺ¶ĺŹ°</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Script...</source>
+ <translation>在脚本中查找(&amp;F)...</translation>
+ </message>
+ <message>
+ <source>Ctrl+F</source>
+ <translation>Ctrl+F</translation>
+ </message>
+ <message>
+ <source>Find &amp;Next</source>
+ <translation>查找下一个(&amp;N)</translation>
+ </message>
+ <message>
+ <source>F3</source>
+ <translation>F3</translation>
+ </message>
+ <message>
+ <source>Find &amp;Previous</source>
+ <translation>查找上一个(&amp;P)</translation>
+ </message>
+ <message>
+ <source>Shift+F3</source>
+ <translation>Shift+F3</translation>
+ </message>
+ <message>
+ <source>Ctrl+G</source>
+ <translation>Ctrl+G</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <translation>č°čŻ•</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerCodeFinderWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation>上一个</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation>下一个</translation>
+ </message>
+ <message>
+ <source>Case Sensitive</source>
+ <translation>区ĺ†ĺ¤§ĺ°Źĺ†™</translation>
+ </message>
+ <message>
+ <source>Whole words</source>
+ <translation>整个词</translation>
+ </message>
+ <message>
+ <source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;ćśç´˘ĺ·˛ĺ®Ść</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerLocalsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç§°</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>值</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerStackModel</name>
+ <message>
+ <source>Level</source>
+ <translation>级ĺ«</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç§°</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>位置</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEdit</name>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>ĺ‡ćŤ˘ć–­ç‚ą</translation>
+ </message>
+ <message>
+ <source>Disable Breakpoint</source>
+ <translation>ç¦ç”¨ć–­ç‚ą</translation>
+ </message>
+ <message>
+ <source>Enable Breakpoint</source>
+ <translation>ĺŻç”¨ć–­ç‚ą</translation>
+ </message>
+ <message>
+ <source>Breakpoint Condition:</source>
+ <translation>断点条件:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEngineDebugger</name>
+ <message>
+ <source>Loaded Scripts</source>
+ <translation>已加载的脚本</translation>
+ </message>
+ <message>
+ <source>Breakpoints</source>
+ <translation>ć–­ç‚ą</translation>
+ </message>
+ <message>
+ <source>Stack</source>
+ <translation>ĺ †ć </translation>
+ </message>
+ <message>
+ <source>Locals</source>
+ <translation>区域设置</translation>
+ </message>
+ <message>
+ <source>Console</source>
+ <translation>控ĺ¶ĺŹ°</translation>
+ </message>
+ <message>
+ <source>Debug Output</source>
+ <translation>č°čŻ•čľ“出</translation>
+ </message>
+ <message>
+ <source>Error Log</source>
+ <translation>错误日志</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>ćśç´˘</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>查看</translation>
+ </message>
+ <message>
+ <source>Qt Script Debugger</source>
+ <translation>Qt脚本č°čŻ•ĺ™¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptNewBreakpointWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScrollBar</name>
+ <message>
+ <source>Scroll here</source>
+ <translation>滚动ĺ°čż™é‡Ś</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>左边çĽ</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>顶é¨</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>右边çĽ</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>ĺş•é¨</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>左一页</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>上一页</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>右一页</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>下一页</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>ĺ‘左滚动</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>ĺ‘上滚动</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>ĺ‘右滚动</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>ĺ‘下滚动</translation>
+ </message>
+ <message>
+ <source>Line up</source>
+ <translation>ĺ‘上排ĺ—</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>位置</translation>
+ </message>
+ <message>
+ <source>Line down</source>
+ <translation>ĺ‘下排ĺ—</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSharedMemory</name>
+ <message>
+ <source>%1: create size is less then 0</source>
+ <translation>%1:ĺ›ĺ»şçš„大小小于 0</translation>
+ </message>
+ <message>
+ <source>%1: unable to lock</source>
+ <translation>%1:无法é”定</translation>
+ </message>
+ <message>
+ <source>%1: unable to unlock</source>
+ <translation>%1:无法取ć¶é”定</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1:ćťé™č˘«ć‹’绝</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1:已经ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exists</source>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1:资ćşč€—尽了</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1:未知错误 %2</translation>
+ </message>
+ <message>
+ <source>%1: key is empty</source>
+ <translation>%1:键ćŻç©şçš„</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <translation>%1:ftok 失败</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <translation>%1:不č˝ĺ¶é€ é”®</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exist</source>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: UNIX key file doesn&apos;t exist</source>
+ <translation>%1:UNIX密钥文件不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: system-imposed size restrictions</source>
+ <translation>%1:系统预设大小é™ĺ¶</translation>
+ </message>
+ <message>
+ <source>%1: not attached</source>
+ <translation>%1:没有附加</translation>
+ </message>
+ <message>
+ <source>%1: invalid size</source>
+ <translation>%1:无ć•ĺ¤§ĺ°Ź</translation>
+ </message>
+ <message>
+ <source>%1: key error</source>
+ <translation>%1: 键错误</translation>
+ </message>
+ <message>
+ <source>%1: size query failed</source>
+ <translation>%1:大小查询失败</translation>
+ </message>
+ <message>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1:无法设置é”定的键</translation>
+ </message>
+ </context>
+ <context>
+ <name>QShortcut</name>
+ <message>
+ <source>Space</source>
+ <translation>ç©şć Ľ</translation>
+ </message>
+ <message>
+ <source>Esc</source>
+ <translation>Esc</translation>
+ </message>
+ <message>
+ <source>Tab</source>
+ <translation>Tab</translation>
+ </message>
+ <message>
+ <source>Backtab</source>
+ <translation>Backtab</translation>
+ </message>
+ <message>
+ <source>Backspace</source>
+ <translation>Backspace</translation>
+ </message>
+ <message>
+ <source>Return</source>
+ <translation>Return</translation>
+ </message>
+ <message>
+ <source>Enter</source>
+ <translation>Enter</translation>
+ </message>
+ <message>
+ <source>Ins</source>
+ <translation>Ins</translation>
+ </message>
+ <message>
+ <source>Del</source>
+ <translation>Del</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <translation>Pause</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Print</translation>
+ </message>
+ <message>
+ <source>SysReq</source>
+ <translation>SysReq</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Home</translation>
+ </message>
+ <message>
+ <source>End</source>
+ <translation>End</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>Left</translation>
+ </message>
+ <message>
+ <source>Up</source>
+ <translation>Up</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>Right</translation>
+ </message>
+ <message>
+ <source>Down</source>
+ <translation>Down</translation>
+ </message>
+ <message>
+ <source>PgUp</source>
+ <translation>PgUp</translation>
+ </message>
+ <message>
+ <source>PgDown</source>
+ <translation>PgDown</translation>
+ </message>
+ <message>
+ <source>CapsLock</source>
+ <translation>CapsLock</translation>
+ </message>
+ <message>
+ <source>NumLock</source>
+ <translation>NumLock</translation>
+ </message>
+ <message>
+ <source>ScrollLock</source>
+ <translation>ScrollLock</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>Menu</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>Help</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>ĺŽé€€</translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>前进</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation>ĺść­˘</translation>
+ </message>
+ <message>
+ <source>Refresh</source>
+ <translation>ĺ·ć–°</translation>
+ </message>
+ <message>
+ <source>Volume Down</source>
+ <translation>č°ĺ°Źéźłé‡Ź</translation>
+ </message>
+ <message>
+ <source>Volume Mute</source>
+ <translation>静音</translation>
+ </message>
+ <message>
+ <source>Volume Up</source>
+ <translation>č°ĺ¤§éźłé‡Ź</translation>
+ </message>
+ <message>
+ <source>Bass Boost</source>
+ <translation>低音增强</translation>
+ </message>
+ <message>
+ <source>Bass Up</source>
+ <translation>č°ĺ¤§ä˝Žéźł</translation>
+ </message>
+ <message>
+ <source>Bass Down</source>
+ <translation>č°ĺ°Źä˝Žéźł</translation>
+ </message>
+ <message>
+ <source>Treble Up</source>
+ <translation>č°ĺ¤§é«éźł</translation>
+ </message>
+ <message>
+ <source>Treble Down</source>
+ <translation>č°ĺ°Źé«éźł</translation>
+ </message>
+ <message>
+ <source>Media Play</source>
+ <translation>多媒体播放</translation>
+ </message>
+ <message>
+ <source>Media Stop</source>
+ <translation>多媒体ĺść­˘</translation>
+ </message>
+ <message>
+ <source>Media Previous</source>
+ <translation>上一个多媒体</translation>
+ </message>
+ <message>
+ <source>Media Next</source>
+ <translation>下一个多媒体</translation>
+ </message>
+ <message>
+ <source>Media Record</source>
+ <translation>多媒体记录</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>最喜ç±çš„</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>ćśç´˘</translation>
+ </message>
+ <message>
+ <source>Standby</source>
+ <translation>等待</translation>
+ </message>
+ <message>
+ <source>Open URL</source>
+ <translation>打开URL</translation>
+ </message>
+ <message>
+ <source>Launch Mail</source>
+ <translation>ĺŻĺŠ¨é‚®ä»¶</translation>
+ </message>
+ <message>
+ <source>Launch Media</source>
+ <translation>ĺŻĺŠ¨ĺ¤šĺŞ’ä˝“</translation>
+ </message>
+ <message>
+ <source>Launch (0)</source>
+ <translation>ĺŻĺŠ¨ (0)</translation>
+ </message>
+ <message>
+ <source>Launch (1)</source>
+ <translation>ĺŻĺŠ¨ (1)</translation>
+ </message>
+ <message>
+ <source>Launch (2)</source>
+ <translation>ĺŻĺŠ¨ (2)</translation>
+ </message>
+ <message>
+ <source>Launch (3)</source>
+ <translation>ĺŻĺŠ¨ (3)</translation>
+ </message>
+ <message>
+ <source>Launch (4)</source>
+ <translation>ĺŻĺŠ¨ (4)</translation>
+ </message>
+ <message>
+ <source>Launch (5)</source>
+ <translation>ĺŻĺŠ¨ (5)</translation>
+ </message>
+ <message>
+ <source>Launch (6)</source>
+ <translation>ĺŻĺŠ¨ (6)</translation>
+ </message>
+ <message>
+ <source>Launch (7)</source>
+ <translation>ĺŻĺŠ¨ (7)</translation>
+ </message>
+ <message>
+ <source>Launch (8)</source>
+ <translation>ĺŻĺŠ¨ (8)</translation>
+ </message>
+ <message>
+ <source>Launch (9)</source>
+ <translation>ĺŻĺŠ¨ (9)</translation>
+ </message>
+ <message>
+ <source>Launch (A)</source>
+ <translation>ĺŻĺŠ¨ (A)</translation>
+ </message>
+ <message>
+ <source>Launch (B)</source>
+ <translation>ĺŻĺŠ¨ (B)</translation>
+ </message>
+ <message>
+ <source>Launch (C)</source>
+ <translation>ĺŻĺŠ¨ (C)</translation>
+ </message>
+ <message>
+ <source>Launch (D)</source>
+ <translation>ĺŻĺŠ¨ (D)</translation>
+ </message>
+ <message>
+ <source>Launch (E)</source>
+ <translation>ĺŻĺŠ¨ (E)</translation>
+ </message>
+ <message>
+ <source>Launch (F)</source>
+ <translation>ĺŻĺŠ¨ (F)</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Up</source>
+ <translation>ćŹé«ç›‘视器亮度</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Down</source>
+ <translation>降低监视器亮度</translation>
+ </message>
+ <message>
+ <source>Keyboard Light On/Off</source>
+ <translation>é”®ç›çŻć‰“开/ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Up</source>
+ <translation>ćŹé«é”®ç›äş®ĺş¦</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Down</source>
+ <translation>降低键ç›äş®ĺş¦</translation>
+ </message>
+ <message>
+ <source>Power Off</source>
+ <translation>ĺ…łćśş</translation>
+ </message>
+ <message>
+ <source>Wake Up</source>
+ <translation>唤醒</translation>
+ </message>
+ <message>
+ <source>Eject</source>
+ <translation>弹出</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>屏幕保护程序</translation>
+ </message>
+ <message>
+ <source>WWW</source>
+ <translation>WWW</translation>
+ </message>
+ <message>
+ <source>Sleep</source>
+ <translation>睡眠</translation>
+ </message>
+ <message>
+ <source>LightBulb</source>
+ <translation>çŻćłˇ</translation>
+ </message>
+ <message>
+ <source>Shop</source>
+ <translation>商店</translation>
+ </message>
+ <message>
+ <source>History</source>
+ <translation>历史记录</translation>
+ </message>
+ <message>
+ <source>Add Favorite</source>
+ <translation>添加收藏夹</translation>
+ </message>
+ <message>
+ <source>Hot Links</source>
+ <translation>ç­ç‚ąé“ľćŽĄ</translation>
+ </message>
+ <message>
+ <source>Adjust Brightness</source>
+ <translation>č°čŠ‚亮度</translation>
+ </message>
+ <message>
+ <source>Finance</source>
+ <translation>财务</translation>
+ </message>
+ <message>
+ <source>Community</source>
+ <translation>社区</translation>
+ </message>
+ <message>
+ <source>Audio Rewind</source>
+ <translation>音频倒带</translation>
+ </message>
+ <message>
+ <source>Back Forward</source>
+ <translation>ĺŽĺ€’</translation>
+ </message>
+ <message>
+ <source>Application Left</source>
+ <translation>应用程序ĺŹĺ·¦</translation>
+ </message>
+ <message>
+ <source>Application Right</source>
+ <translation>应用程序ĺŹĺŹł</translation>
+ </message>
+ <message>
+ <source>Book</source>
+ <translation>书籍</translation>
+ </message>
+ <message>
+ <source>CD</source>
+ <translation>CD</translation>
+ </message>
+ <message>
+ <source>Calculator</source>
+ <translation>计算器</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>清除</translation>
+ </message>
+ <message>
+ <source>Clear Grab</source>
+ <translation>清除抓取</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>复ĺ¶</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <translation>剪ĺ‡</translation>
+ </message>
+ <message>
+ <source>Display</source>
+ <translation>ćľç¤ş</translation>
+ </message>
+ <message>
+ <source>DOS</source>
+ <translation>DOS</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>文档</translation>
+ </message>
+ <message>
+ <source>Spreadsheet</source>
+ <translation>电ĺ­čˇ¨ć Ľ</translation>
+ </message>
+ <message>
+ <source>Browser</source>
+ <translation>浏č§ĺ™¨</translation>
+ </message>
+ <message>
+ <source>Game</source>
+ <translation>游ćŹ</translation>
+ </message>
+ <message>
+ <source>Go</source>
+ <translation>转至</translation>
+ </message>
+ <message>
+ <source>iTouch</source>
+ <translation>iTouch</translation>
+ </message>
+ <message>
+ <source>Logoff</source>
+ <translation>注销</translation>
+ </message>
+ <message>
+ <source>Market</source>
+ <translation>市场</translation>
+ </message>
+ <message>
+ <source>Meeting</source>
+ <translation>会议</translation>
+ </message>
+ <message>
+ <source>Keyboard Menu</source>
+ <translation>é”®ç›ĺŠźč˝čˇ¨</translation>
+ </message>
+ <message>
+ <source>Menu PB</source>
+ <translation>功č˝čˇ¨PB</translation>
+ </message>
+ <message>
+ <source>My Sites</source>
+ <translation>ć‘的站点</translation>
+ </message>
+ <message>
+ <source>News</source>
+ <translation>ć–°é—»</translation>
+ </message>
+ <message>
+ <source>Home Office</source>
+ <translation>家庭办公</translation>
+ </message>
+ <message>
+ <source>Option</source>
+ <translation>选项</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <translation>ç˛č´´</translation>
+ </message>
+ <message>
+ <source>Phone</source>
+ <translation>手机</translation>
+ </message>
+ <message>
+ <source>Reply</source>
+ <translation>回复</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>重新加载</translation>
+ </message>
+ <message>
+ <source>Rotate Windows</source>
+ <translation>旋转视窗</translation>
+ </message>
+ <message>
+ <source>Rotation PB</source>
+ <translation>旋转PB</translation>
+ </message>
+ <message>
+ <source>Rotation KB</source>
+ <translation>旋转KB</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>储ĺ­</translation>
+ </message>
+ <message>
+ <source>Send</source>
+ <translation>发é€</translation>
+ </message>
+ <message>
+ <source>Spellchecker</source>
+ <translation>拼写检查程序</translation>
+ </message>
+ <message>
+ <source>Split Screen</source>
+ <translation>ĺ†ĺ±Ź</translation>
+ </message>
+ <message>
+ <source>Support</source>
+ <translation>支ćŚ</translation>
+ </message>
+ <message>
+ <source>Task Panel</source>
+ <translation>任务面板</translation>
+ </message>
+ <message>
+ <source>Terminal</source>
+ <translation>ç»ç«Ż</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>ĺ·Ąĺ…·</translation>
+ </message>
+ <message>
+ <source>Travel</source>
+ <translation>旅行</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>视频</translation>
+ </message>
+ <message>
+ <source>Word Processor</source>
+ <translation>字处ç†ĺ™¨</translation>
+ </message>
+ <message>
+ <source>XFer</source>
+ <translation>XFer</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>放大</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>缩小</translation>
+ </message>
+ <message>
+ <source>Away</source>
+ <translation>远离</translation>
+ </message>
+ <message>
+ <source>Messenger</source>
+ <translation>##</translation>
+ </message>
+ <message>
+ <source>WebCam</source>
+ <translation>WebCam</translation>
+ </message>
+ <message>
+ <source>Mail Forward</source>
+ <translation>电ĺ­é‚®ä»¶č˝¬ĺŹ‘</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>图片</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>éźłäą</translation>
+ </message>
+ <message>
+ <source>Battery</source>
+ <translation>电池</translation>
+ </message>
+ <message>
+ <source>Bluetooth</source>
+ <translation>蓝牙</translation>
+ </message>
+ <message>
+ <source>Wireless</source>
+ <translation>ć— çşż</translation>
+ </message>
+ <message>
+ <source>Ultra Wide Band</source>
+ <translation>超宽带</translation>
+ </message>
+ <message>
+ <source>Audio Forward</source>
+ <translation>音频前进</translation>
+ </message>
+ <message>
+ <source>Audio Repeat</source>
+ <translation>音频重复</translation>
+ </message>
+ <message>
+ <source>Audio Random Play</source>
+ <translation>音频随机播放</translation>
+ </message>
+ <message>
+ <source>Subtitle</source>
+ <translation>ĺ°Źć ‡é˘</translation>
+ </message>
+ <message>
+ <source>Audio Cycle Track</source>
+ <translation>音频循环轨é“</translation>
+ </message>
+ <message>
+ <source>Time</source>
+ <translation>时间</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>查看</translation>
+ </message>
+ <message>
+ <source>Top Menu</source>
+ <translation>顶端功č˝čˇ¨</translation>
+ </message>
+ <message>
+ <source>Suspend</source>
+ <translation>挂起</translation>
+ </message>
+ <message>
+ <source>Hibernate</source>
+ <translation>休眠</translation>
+ </message>
+ <message>
+ <source>Print Screen</source>
+ <translation>Print Screen</translation>
+ </message>
+ <message>
+ <source>Page Up</source>
+ <translation>Page Up</translation>
+ </message>
+ <message>
+ <source>Page Down</source>
+ <translation>Page Down</translation>
+ </message>
+ <message>
+ <source>Caps Lock</source>
+ <translation>Caps Lock</translation>
+ </message>
+ <message>
+ <source>Num Lock</source>
+ <translation>Num Lock</translation>
+ </message>
+ <message>
+ <source>Number Lock</source>
+ <translation>Number Lock</translation>
+ </message>
+ <message>
+ <source>Scroll Lock</source>
+ <translation>Scroll Lock</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>Insert</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Delete</translation>
+ </message>
+ <message>
+ <source>Escape</source>
+ <translation>Escape</translation>
+ </message>
+ <message>
+ <source>System Request</source>
+ <translation>System Request</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>选择</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>ćŻ</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>ĺ¦</translation>
+ </message>
+ <message>
+ <source>Context1</source>
+ <translation>上下文1</translation>
+ </message>
+ <message>
+ <source>Context2</source>
+ <translation>上下文2</translation>
+ </message>
+ <message>
+ <source>Context3</source>
+ <translation>上下文3</translation>
+ </message>
+ <message>
+ <source>Context4</source>
+ <translation>上下文4</translation>
+ </message>
+ <message>
+ <source>Call</source>
+ <translation>呼叫</translation>
+ </message>
+ <message>
+ <source>Hangup</source>
+ <translation>挂起</translation>
+ </message>
+ <message>
+ <source>Flip</source>
+ <translation>翻转</translation>
+ </message>
+ <message>
+ <source>Ctrl</source>
+ <translation>Ctrl</translation>
+ </message>
+ <message>
+ <source>Shift</source>
+ <translation>Shift</translation>
+ </message>
+ <message>
+ <source>Alt</source>
+ <translation>Alt</translation>
+ </message>
+ <message>
+ <source>Meta</source>
+ <translation>Meta</translation>
+ </message>
+ <message>
+ <source>+</source>
+ <translation>+</translation>
+ </message>
+ <message>
+ <source>F%1</source>
+ <translation>F%1</translation>
+ </message>
+ <message>
+ <source>Home Page</source>
+ <translation>主页</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSlider</name>
+ <message>
+ <source>Page left</source>
+ <translation>左一页</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>上一页</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>位置</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>右一页</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>下一页</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSocks5SocketEngine</name>
+ <message>
+ <source>Connection to proxy refused</source>
+ <translation>代ç†ć‹’绝连接</translation>
+ </message>
+ <message>
+ <source>Connection to proxy closed prematurely</source>
+ <translation>代ç†čżžćŽĄčż‡ć—©ĺ…łé—­</translation>
+ </message>
+ <message>
+ <source>Proxy host not found</source>
+ <translation>代ç†ä¸»ćśşćśŞć‰ľĺ°</translation>
+ </message>
+ <message>
+ <source>Connection to proxy timed out</source>
+ <translation>代ç†čżžćŽĄč¶…ć—¶</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed</source>
+ <translation>代ç†č®¤čŻĺ¤±č´Ą</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed: %1</source>
+ <translation>代ç†č®¤čŻĺ¤±č´Ą: %1</translation>
+ </message>
+ <message>
+ <source>SOCKS version 5 protocol error</source>
+ <translation>SOCKSç‰ćś¬5协议错误</translation>
+ </message>
+ <message>
+ <source>General SOCKSv5 server failure</source>
+ <translation>常规服务器失败</translation>
+ </message>
+ <message>
+ <source>Connection not allowed by SOCKSv5 server</source>
+ <translation>连接不被SOCKSv5服务器ĺ…许</translation>
+ </message>
+ <message>
+ <source>TTL expired</source>
+ <translation>TTL已过期</translation>
+ </message>
+ <message>
+ <source>SOCKSv5 command not supported</source>
+ <translation>不支ćŚçš„SOCKSv5命令</translation>
+ </message>
+ <message>
+ <source>Address type not supported</source>
+ <translation>不支ćŚçš„地址类型</translation>
+ </message>
+ <message>
+ <source>Unknown SOCKSv5 proxy error code 0x%1</source>
+ <translation>未知SOCKSv5代ç†ďĽŚé”™čŻŻä»Łç  0x%1</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>网络操作超时</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSoftKeyManager</name>
+ <message>
+ <source>Ok</source>
+ <translation>确定</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>选择</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>完ć</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>选项</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>退出</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>更多</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>ć›´ĺ°‘</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSql</name>
+ <message>
+ <source>Delete</source>
+ <translation>ĺ é™¤</translation>
+ </message>
+ <message>
+ <source>Delete this record?</source>
+ <translation>ĺ é™¤čż™ćťˇč®°ĺ˝•ďĽź</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>ćŻ</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>ĺ¦</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>插入</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>ć›´ć–°</translation>
+ </message>
+ <message>
+ <source>Save edits?</source>
+ <translation>äżťĺ­çĽ–辑?</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ <message>
+ <source>Confirm</source>
+ <translation>确认</translation>
+ </message>
+ <message>
+ <source>Cancel your edits?</source>
+ <translation>取ć¶ć‚¨çš„编辑?</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSslSocket</name>
+ <message>
+ <source>Unable to write data: %1</source>
+ <translation>不č˝ĺ†™ĺ…Ąć•°ćŤ®ďĽš%1</translation>
+ </message>
+ <message>
+ <source>Unable to decrypt data: %1</source>
+ <translation>无法解密数据:%1</translation>
+ </message>
+ <message>
+ <source>Error while reading: %1</source>
+ <translation>读取时错误:%1</translation>
+ </message>
+ <message>
+ <source>Error during SSL handshake: %1</source>
+ <translation>SSL握手错误:%1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL context (%1)</source>
+ <translation>ĺ›ĺ»şSSL上下文错误ďĽ%1)</translation>
+ </message>
+ <message>
+ <source>Invalid or empty cipher list (%1)</source>
+ <translation>ć— ć•ć–者空白的密ç ĺ—表ďĽ%1)</translation>
+ </message>
+ <message>
+ <source>Private key does not certify public key, %1</source>
+ <translation>ç§é’Ąä¸Ťč˝čŻćŽĺ…¬é’ĄďĽŚ%1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session, %1</source>
+ <translation>ĺ›ĺ»şSSL会话错误,%1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session: %1</source>
+ <translation>ĺ›ĺ»şSSL会话错误:%1</translation>
+ </message>
+ <message>
+ <source>Cannot provide a certificate with no key, %1</source>
+ <translation>不č˝ćŹäľ›ć˛ˇćś‰é”®çš„čŻäą¦ďĽŚ%1</translation>
+ </message>
+ <message>
+ <source>Error loading local certificate, %1</source>
+ <translation>不č˝č˝˝ĺ…Ąćś¬ĺś°čŻäą¦ďĽŚ%1</translation>
+ </message>
+ <message>
+ <source>Error loading private key, %1</source>
+ <translation>不č˝č˝˝ĺ…Ąç§ćś‰é”®ďĽŚ%1</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>无错误</translation>
+ </message>
+ <message>
+ <source>The issuer certificate could not be found</source>
+ <translation>找不ĺ°ĺŹ‘行人čŻäą¦</translation>
+ </message>
+ <message>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>čŻäą¦ç­ľĺŤć— ćł•č§ŁĺŻ†</translation>
+ </message>
+ <message>
+ <source>The public key in the certificate could not be read</source>
+ <translation>无法读取čŻäą¦ä¸­çš„公钥</translation>
+ </message>
+ <message>
+ <source>The signature of the certificate is invalid</source>
+ <translation>čŻäą¦ç­ľĺŤć— ć•</translation>
+ </message>
+ <message>
+ <source>The certificate is not yet valid</source>
+ <translation>čŻäą¦ä¸Ťĺ†Ťĺ¤±ć•</translation>
+ </message>
+ <message>
+ <source>The certificate has expired</source>
+ <translation>čŻäą¦ĺ·˛čż‡ćśź</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>čŻäą¦çš„notBefore字段包ĺ«ć— ć•ć—¶é—´</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>čŻäą¦çš„notAfter字段包ĺ«ć— ć•ć—¶é—´</translation>
+ </message>
+ <message>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation>čŻäą¦ä¸şč‡Şç­ľĺŤďĽŚĺ› č€Śä¸ŤĺŹ—信任</translation>
+ </message>
+ <message>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation>čŻäą¦é“ľçš„ć ąčŻäą¦ä¸şč‡Şç­ľĺŤďĽŚĺ› č€Śä¸ŤĺŹ—信任</translation>
+ </message>
+ <message>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation>无法找ĺ°ĺś¨ćś¬ĺś°ćźĄć‰ľçš„čŻäą¦çš„发行人čŻäą¦</translation>
+ </message>
+ <message>
+ <source>No certificates could be verified</source>
+ <translation>ć— čŻäą¦ĺŹŻéŞŚčŻ</translation>
+ </message>
+ <message>
+ <source>One of the CA certificates is invalid</source>
+ <translation>CAčŻäą¦äą‹ä¸€ć— ć•</translation>
+ </message>
+ <message>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation>已超过basicConstraints路径长度参数</translation>
+ </message>
+ <message>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation>ćŹäľ›çš„čŻäą¦ä¸Ťé€‚ĺ此用途</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation>此用途不信任根CAčŻäą¦</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation>已将根CAčŻäą¦ć ‡č®°ä¸şć‹’绝用于指定用途</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
+ <translation>当前候选发行人čŻäą¦č˘«ć‹’绝,因其ćŚćś‰äşşĺ§“ĺŤä¸Žĺ˝“前čŻäą¦çš„发行人姓ĺŤä¸ŤĺŚąé…Ť</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
+ <translation>当前候选发行人čŻäą¦č˘«ć‹’绝,因其发行人姓ĺŤĺ’ŚĺşŹĺ—号虽ĺ­ĺś¨ďĽŚä˝†ä¸Žĺ˝“前čŻäą¦çš„ćťĺ¨ĺŻ†é’Ąć ‡čŻ†ç¬¦ä¸ŤĺŚąé…Ť</translation>
+ </message>
+ <message>
+ <source>The peer did not present any certificate</source>
+ <translation>对方没有ćŹäľ›ä»»ä˝•čŻäą¦</translation>
+ </message>
+ <message>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>主机ĺŤä¸Žć­¤čŻäą¦çš„任何有ć•ä¸»ćśşé˝ä¸ŤĺŚąé…Ť</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知错误</translation>
+ </message>
+ </context>
+ <context>
+ <name>QStateMachine</name>
+ <message>
+ <source>Missing initial state in compound state &apos;%1&apos;</source>
+ <translation>复ĺ状ć€â€ś%1”缺少ĺťĺ§‹çŠ¶ć€</translation>
+ </message>
+ <message>
+ <source>Missing default state in history state &apos;%1&apos;</source>
+ <translation>历史状ć€â€ś%1”缺少预设状ć€</translation>
+ </message>
+ <message>
+ <source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
+ <translation>从状ć€&quot;%1&quot;过渡,但ćşĺ’Śç›®ć ‡ć— ĺ…±ĺŚç¶čľ</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知错误</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSystemSemaphore</name>
+ <message>
+ <source>%1: does not exist</source>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1:资ćşč€—尽了</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1:ćťé™č˘«ć‹’绝</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1:已经ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1:未知错误 %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTDSDriver</name>
+ <message>
+ <source>Unable to open connection</source>
+ <translation>不č˝ć‰“开连接</translation>
+ </message>
+ <message>
+ <source>Unable to use database</source>
+ <translation>不č˝ä˝żç”¨ć•°ćŤ®ĺş“</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTabBar</name>
+ <message>
+ <source>Scroll Left</source>
+ <translation>ĺ‘左滚动</translation>
+ </message>
+ <message>
+ <source>Scroll Right</source>
+ <translation>ĺ‘右滚动</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTcpServer</name>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>socket操作不被支ćŚ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTextControl</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>ć’¤ć¶(&amp;U)</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>ć˘ĺ¤Ť(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>剪ĺ‡(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>复ĺ¶(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Copy &amp;Link Location</source>
+ <translation>复ĺ¶é“ľćŽĄä˝Ťç˝®(&amp;L)</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>ç˛č´´(&amp;P)</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺ é™¤</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>选择全é¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>QToolButton</name>
+ <message>
+ <source>Press</source>
+ <translation>按下</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>打开</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUdpSocket</name>
+ <message>
+ <source>This platform does not support IPv6</source>
+ <translation>这个平台不支ćŚIPv6</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoGroup</name>
+ <message>
+ <source>Undo</source>
+ <translation>撤销</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>ć˘ĺ¤Ť</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoModel</name>
+ <message>
+ <source>&lt;empty&gt;</source>
+ <translation>&lt;ç©şç™˝&gt;</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoStack</name>
+ <message>
+ <source>Undo</source>
+ <translation>撤销</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>ć˘ĺ¤Ť</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUnicodeControlCharacterMenu</name>
+ <message>
+ <source>LRM Left-to-right mark</source>
+ <translation>LRM 从左ĺ°ĺŹłć ‡č®°</translation>
+ </message>
+ <message>
+ <source>RLM Right-to-left mark</source>
+ <translation>RLM 从右ĺ‘左标记</translation>
+ </message>
+ <message>
+ <source>ZWJ Zero width joiner</source>
+ <translation>ZWJ 零宽度连接器</translation>
+ </message>
+ <message>
+ <source>ZWNJ Zero width non-joiner</source>
+ <translation>ZWNJ 零宽度非连接器</translation>
+ </message>
+ <message>
+ <source>ZWSP Zero width space</source>
+ <translation>ZWSP 零宽度空格</translation>
+ </message>
+ <message>
+ <source>LRE Start of left-to-right embedding</source>
+ <translation>LRE 开始从左ĺ°ĺŹłĺµŚĺ…Ą</translation>
+ </message>
+ <message>
+ <source>RLE Start of right-to-left embedding</source>
+ <translation>RLE 开始从右ĺ‘左嵌入</translation>
+ </message>
+ <message>
+ <source>LRO Start of left-to-right override</source>
+ <translation>LRO 开始从左ĺ‘右覆盖</translation>
+ </message>
+ <message>
+ <source>RLO Start of right-to-left override</source>
+ <translation>RLO 开始从右ĺ‘左覆盖</translation>
+ </message>
+ <message>
+ <source>PDF Pop directional formatting</source>
+ <translation>PDF 弹出方ĺ‘格式</translation>
+ </message>
+ <message>
+ <source>Insert Unicode control character</source>
+ <translation>插入Unicode控ĺ¶ĺ­—符</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebFrame</name>
+ <message>
+ <source>Request cancelled</source>
+ <translation>请求被取ć¶äş†</translation>
+ </message>
+ <message>
+ <source>Request blocked</source>
+ <translation>请求被é»ĺˇžäş†</translation>
+ </message>
+ <message>
+ <source>Cannot show URL</source>
+ <translation>ć— ćł•ćľç¤ş URL</translation>
+ </message>
+ <message>
+ <source>Frame load interrupted by policy change</source>
+ <translation>ç­–ç•ĄĺŹĺŚ–导致帧加载中断</translation>
+ </message>
+ <message>
+ <source>Cannot show mimetype</source>
+ <translation>ć— ćł•ćľç¤ş MIMETYPE</translation>
+ </message>
+ <message>
+ <source>File does not exist</source>
+ <translation>文件不ĺ­ĺś¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebPage</name>
+ <message>
+ <source>Submit</source>
+ <comment>default label for Submit buttons in forms on web pages</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Submit</source>
+ <comment>Submit (input element) alt text for &lt;input&gt; elements with no alt, title, or value</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <comment>default label for Reset buttons in forms on web pages</comment>
+ <translation>重置</translation>
+ </message>
+ <message>
+ <source>Choose File</source>
+ <comment>title for file button used in HTML forms</comment>
+ <translation>选择文件</translation>
+ </message>
+ <message>
+ <source>No file selected</source>
+ <comment>text to display in file button used in HTML forms when no file is selected</comment>
+ <translation>没有文件被选择</translation>
+ </message>
+ <message>
+ <source>Open in New Window</source>
+ <comment>Open in New Window context menu item</comment>
+ <translation>在新窗口中打开</translation>
+ </message>
+ <message>
+ <source>Save Link...</source>
+ <comment>Download Linked File context menu item</comment>
+ <translation>äżťĺ­é“ľćŽĄ...</translation>
+ </message>
+ <message>
+ <source>Copy Link</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>复ĺ¶é“ľćŽĄ</translation>
+ </message>
+ <message>
+ <source>Open Image</source>
+ <comment>Open Image in New Window context menu item</comment>
+ <translation>打开图片</translation>
+ </message>
+ <message>
+ <source>Save Image</source>
+ <comment>Download Image context menu item</comment>
+ <translation>äżťĺ­ĺ›ľç‰‡</translation>
+ </message>
+ <message>
+ <source>Copy Image</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>复ĺ¶ĺ›ľç‰‡</translation>
+ </message>
+ <message>
+ <source>Open Frame</source>
+ <comment>Open Frame in New Window context menu item</comment>
+ <translation>打开框架</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <comment>Copy context menu item</comment>
+ <translation>复ĺ¶</translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <comment>Back context menu item</comment>
+ <translation>ĺŽé€€</translation>
+ </message>
+ <message>
+ <source>Go Forward</source>
+ <comment>Forward context menu item</comment>
+ <translation>前进</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <comment>Stop context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <comment>Reload context menu item</comment>
+ <translation>重新载入</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <comment>Cut context menu item</comment>
+ <translation>剪ĺ‡</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <comment>Paste context menu item</comment>
+ <translation>ç˛č´´</translation>
+ </message>
+ <message>
+ <source>No Guesses Found</source>
+ <comment>No Guesses Found context menu item</comment>
+ <translation>没有找ĺ°çŚśćµ‹</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Spelling context menu item</comment>
+ <translation>忽略</translation>
+ </message>
+ <message>
+ <source>Add To Dictionary</source>
+ <comment>Learn Spelling context menu item</comment>
+ <translation>添加ĺ°ĺ­—ĺ…¸</translation>
+ </message>
+ <message>
+ <source>Search The Web</source>
+ <comment>Search The Web context menu item</comment>
+ <translation>ćśç´˘ç˝‘页</translation>
+ </message>
+ <message>
+ <source>Look Up In Dictionary</source>
+ <comment>Look Up in Dictionary context menu item</comment>
+ <translation>在字典中查找</translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <comment>Open Link context menu item</comment>
+ <translation>打开链接</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Grammar context menu item</comment>
+ <translation>忽略</translation>
+ </message>
+ <message>
+ <source>Spelling</source>
+ <comment>Spelling and Grammar context sub-menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Hide Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation>éšč—Źć‹Ľĺ†™ĺ’ŚčŻ­ćł•</translation>
+ </message>
+ <message>
+ <source>Check Spelling</source>
+ <comment>Check spelling context menu item</comment>
+ <translation>检查拼写</translation>
+ </message>
+ <message>
+ <source>Check Spelling While Typing</source>
+ <comment>Check spelling while typing context menu item</comment>
+ <translation>在输入时检查拼写</translation>
+ </message>
+ <message>
+ <source>Check Grammar With Spelling</source>
+ <comment>Check grammar with spelling context menu item</comment>
+ <translation>检查语法和拼写</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <comment>Font context sub-menu item</comment>
+ <translation>字体</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <comment>Bold context menu item</comment>
+ <translation>粗体</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <comment>Italic context menu item</comment>
+ <translation>意大ĺ©ä˝“</translation>
+ </message>
+ <message>
+ <source>Underline</source>
+ <comment>Underline context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Outline</source>
+ <comment>Outline context menu item</comment>
+ <translation>轮廓</translation>
+ </message>
+ <message>
+ <source>Direction</source>
+ <comment>Writing direction context sub-menu item</comment>
+ <translation>ć–ąĺ‘</translation>
+ </message>
+ <message>
+ <source>Text Direction</source>
+ <comment>Text direction context sub-menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <comment>Default writing direction context menu item</comment>
+ <translation>é»č®¤</translation>
+ </message>
+ <message>
+ <source>Left to Right</source>
+ <comment>Left to Right context menu item</comment>
+ <translation>ĺ·¦ĺ°ĺŹł</translation>
+ </message>
+ <message>
+ <source>Right to Left</source>
+ <comment>Right to Left context menu item</comment>
+ <translation>右ĺ°ĺ·¦</translation>
+ </message>
+ <message>
+ <source>Loading...</source>
+ <comment>Media controller status message when the media is loading</comment>
+ <translation>正在加载...</translation>
+ </message>
+ <message>
+ <source>Live Broadcast</source>
+ <comment>Media controller status message when watching a live broadcast</comment>
+ <translation>手机广播</translation>
+ </message>
+ <message>
+ <source>Audio Element</source>
+ <comment>Media controller element</comment>
+ <translation>音频ĺ…ç´ </translation>
+ </message>
+ <message>
+ <source>Video Element</source>
+ <comment>Media controller element</comment>
+ <translation>视频ĺ…ç´ </translation>
+ </message>
+ <message>
+ <source>Mute Button</source>
+ <comment>Media controller element</comment>
+ <translation>静音按钮</translation>
+ </message>
+ <message>
+ <source>Unmute Button</source>
+ <comment>Media controller element</comment>
+ <translation>取ć¶éť™éźłćŚ‰é’®</translation>
+ </message>
+ <message>
+ <source>Play Button</source>
+ <comment>Media controller element</comment>
+ <translation>播放按钮</translation>
+ </message>
+ <message>
+ <source>Pause Button</source>
+ <comment>Media controller element</comment>
+ <translation>ćš‚ĺśćŚ‰é’®</translation>
+ </message>
+ <message>
+ <source>Slider</source>
+ <comment>Media controller element</comment>
+ <translation>滑块</translation>
+ </message>
+ <message>
+ <source>Slider Thumb</source>
+ <comment>Media controller element</comment>
+ <translation>滑块微缩图ĺŹ</translation>
+ </message>
+ <message>
+ <source>Rewind Button</source>
+ <comment>Media controller element</comment>
+ <translation>倒带按钮</translation>
+ </message>
+ <message>
+ <source>Return to Real-time Button</source>
+ <comment>Media controller element</comment>
+ <translation>返回ĺ°ĺ®žć—¶ćŚ‰é’®</translation>
+ </message>
+ <message>
+ <source>Elapsed Time</source>
+ <comment>Media controller element</comment>
+ <translation>耗时</translation>
+ </message>
+ <message>
+ <source>Remaining Time</source>
+ <comment>Media controller element</comment>
+ <translation>剩余时间</translation>
+ </message>
+ <message>
+ <source>Status Display</source>
+ <comment>Media controller element</comment>
+ <translation>状ć€ćľç¤ş</translation>
+ </message>
+ <message>
+ <source>Fullscreen Button</source>
+ <comment>Media controller element</comment>
+ <translation>全屏按钮</translation>
+ </message>
+ <message>
+ <source>Seek Forward Button</source>
+ <comment>Media controller element</comment>
+ <translation>ĺ‘前寻找按钮</translation>
+ </message>
+ <message>
+ <source>Seek Back Button</source>
+ <comment>Media controller element</comment>
+ <translation>ĺ‘ĺŽĺŻ»ć‰ľćŚ‰é’®</translation>
+ </message>
+ <message>
+ <source>Audio element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>音频ĺ…素播放控件和状ć€ćľç¤ş</translation>
+ </message>
+ <message>
+ <source>Video element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>视频ĺ…素播放控件和状ć€ćľç¤ş</translation>
+ </message>
+ <message>
+ <source>Mute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>静音音轨</translation>
+ </message>
+ <message>
+ <source>Unmute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>取ć¶éť™éźłéźłč˝¨</translation>
+ </message>
+ <message>
+ <source>Begin playback</source>
+ <comment>Media controller element</comment>
+ <translation>开始播放</translation>
+ </message>
+ <message>
+ <source>Pause playback</source>
+ <comment>Media controller element</comment>
+ <translation>ćš‚ĺść’­ć”ľ</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber</source>
+ <comment>Media controller element</comment>
+ <translation>影片时间ĺ·ć–°ĺ™¨</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber thumb</source>
+ <comment>Media controller element</comment>
+ <translation>影片时间ĺ·ć–°ĺ™¨ĺľ®çĽ©ĺ›ľĺŹ</translation>
+ </message>
+ <message>
+ <source>Rewind movie</source>
+ <comment>Media controller element</comment>
+ <translation>影片倒带</translation>
+ </message>
+ <message>
+ <source>Return streaming movie to real-time</source>
+ <comment>Media controller element</comment>
+ <translation>ĺ°†ćµĺĽŹĺ˝±ç‰‡čż”回ĺ°ĺ®žć—¶</translation>
+ </message>
+ <message>
+ <source>Current movie time</source>
+ <comment>Media controller element</comment>
+ <translation>当前影片时间</translation>
+ </message>
+ <message>
+ <source>Remaining movie time</source>
+ <comment>Media controller element</comment>
+ <translation>影片剩余时间</translation>
+ </message>
+ <message>
+ <source>Current movie status</source>
+ <comment>Media controller element</comment>
+ <translation>当前影片状ć€</translation>
+ </message>
+ <message>
+ <source>Play movie in full-screen mode</source>
+ <comment>Media controller element</comment>
+ <translation>以全屏模式播放影片</translation>
+ </message>
+ <message>
+ <source>Seek quickly back</source>
+ <comment>Media controller element</comment>
+ <translation>快速ĺ‘ĺŽĺŻ»ć‰ľ</translation>
+ </message>
+ <message>
+ <source>Seek quickly forward</source>
+ <comment>Media controller element</comment>
+ <translation>快速ĺ‘前寻找</translation>
+ </message>
+ <message>
+ <source>Indefinite time</source>
+ <comment>Media time description</comment>
+ <translation>不定时间</translation>
+ </message>
+ <message>
+ <source>%1 days %2 hours %3 minutes %4 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1天%2ĺ°Źć—¶%3ĺ†%4秒</translation>
+ </message>
+ <message>
+ <source>%1 hours %2 minutes %3 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1ĺ°Źć—¶%2ĺ†%3秒</translation>
+ </message>
+ <message>
+ <source>%1 minutes %2 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1ĺ†%2秒</translation>
+ </message>
+ <message>
+ <source>%1 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1秒</translation>
+ </message>
+ <message>
+ <source>Inspect</source>
+ <comment>Inspect Element context menu item</comment>
+ <translation>检查</translation>
+ </message>
+ <message>
+ <source>No recent searches</source>
+ <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
+ <translation>没有最近的ćśç´˘</translation>
+ </message>
+ <message>
+ <source>Recent searches</source>
+ <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
+ <translation>最近的ćśç´˘</translation>
+ </message>
+ <message>
+ <source>Clear recent searches</source>
+ <comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
+ <translation>清除最近的ćśç´˘</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <comment>Unknown filesize FTP directory listing item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Web Inspector - %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 (%2x%3 pixels)</source>
+ <comment>Title string for images</comment>
+ <translation>%1 ďĽ%2x%3 ĺŹç´ ďĽ‰</translation>
+ </message>
+ <message>
+ <source>Bad HTTP request</source>
+ <translation>错误的 HTTP 请求</translation>
+ </message>
+ <message>
+ <source>This is a searchable index. Enter search keywords: </source>
+ <comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll here</source>
+ <translation>滚动ĺ°čż™é‡Ś</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>左边çĽ</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>右边çĽ</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>ĺş•é¨</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>左一页</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>上一页</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>右一页</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>下一页</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>ĺ‘左滚动</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>ĺ‘上滚动</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>ĺ‘右滚动</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>ĺ‘下滚动</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n file(s)</source>
+ <comment>number of chosen file</comment>
+ <translation>
+ <numerusform>%n 个文件</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>JavaScript Alert - %1</source>
+ <translation>JavaScript警告 - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Confirm - %1</source>
+ <translation>JavaScript确认 - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Prompt - %1</source>
+ <translation>JavaScriptćŹç¤ş - %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Problem - %1</source>
+ <translation>JavaScripté—®é˘ - %1</translation>
+ </message>
+ <message>
+ <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
+ <translation>此页上的脚本似乎有问é˘ă€‚ćŻĺ¦ĺść­˘č„šćś¬ďĽź</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next character</source>
+ <translation>移动光标ĺ°ä¸‹ä¸€ä¸Şĺ­—符</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous character</source>
+ <translation>移动光标ĺ°ä¸Šä¸€ä¸Şĺ­—符</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next word</source>
+ <translation>移动光标ĺ°ä¸‹ä¸€ä¸ŞĺŤ•čŻŤ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous word</source>
+ <translation>移动光标ĺ°ä¸Šä¸€ä¸ŞĺŤ•čŻŤ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next line</source>
+ <translation>移动光标ĺ°ä¸‹ä¸€čˇŚ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous line</source>
+ <translation>移动光标ĺ°ä¸Šä¸€čˇŚ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the line</source>
+ <translation>移动光标ĺ°čˇŚé¦–</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the line</source>
+ <translation>移动光标ĺ°čˇŚĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the block</source>
+ <translation>移动光标ĺ°ĺť—首</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the block</source>
+ <translation>移动光标ĺ°ĺť—ĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the document</source>
+ <translation>移动光标ĺ°ć–‡ä»¶ĺĽ€ĺ¤´</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the document</source>
+ <translation>移动光标ĺ°ć–‡ä»¶ćś«ĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Select all</source>
+ <translation>全选</translation>
+ </message>
+ <message>
+ <source>Select to the next character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the next word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the next line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delete to the start of the word</source>
+ <translation>ĺ é™¤ĺ°ĺŤ•čŻŤé¦–</translation>
+ </message>
+ <message>
+ <source>Delete to the end of the word</source>
+ <translation>ĺ é™¤ĺ°ĺŤ•čŻŤĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Insert a new paragraph</source>
+ <translation>插入新段č˝</translation>
+ </message>
+ <message>
+ <source>Insert a new line</source>
+ <translation>插入新行</translation>
+ </message>
+ <message>
+ <source>Paste and Match Style</source>
+ <translation>ç˛č´´ĺ’ŚĺŚąé…Ťć ·ĺĽŹ</translation>
+ </message>
+ <message>
+ <source>Remove formatting</source>
+ <translation>ĺ é™¤ć ĽĺĽŹč®ľç˝®</translation>
+ </message>
+ <message>
+ <source>Strikethrough</source>
+ <translation>ĺ é™¤çşż</translation>
+ </message>
+ <message>
+ <source>Subscript</source>
+ <translation>下标</translation>
+ </message>
+ <message>
+ <source>Superscript</source>
+ <translation>上标</translation>
+ </message>
+ <message>
+ <source>Insert Bulleted List</source>
+ <translation>插入项目符号ĺ—表</translation>
+ </message>
+ <message>
+ <source>Insert Numbered List</source>
+ <translation>插入编号ĺ—表</translation>
+ </message>
+ <message>
+ <source>Indent</source>
+ <translation>缩进</translation>
+ </message>
+ <message>
+ <source>Outdent</source>
+ <translation>凸出</translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation>中ĺż</translation>
+ </message>
+ <message>
+ <source>Justify</source>
+ <translation>č°ć•´</translation>
+ </message>
+ <message>
+ <source>Align Left</source>
+ <translation>左对é˝</translation>
+ </message>
+ <message>
+ <source>Align Right</source>
+ <translation>右对é˝</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWhatsThisAction</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWidget</name>
+ <message>
+ <source>*</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWizard</name>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Commit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWorkspace</name>
+ <message>
+ <source>&amp;Restore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sh&amp;ade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Unshade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXml</name>
+ <message>
+ <source>no error occurred</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error triggered by consumer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected end of file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>more than one document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>tag mismatch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing content</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>invalid name for processing instruction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>version expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>wrong value for standalone declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>letter is expected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing reference</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>internal general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in attribute value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unparsed entity reference in wrong context</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>recursive entities</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error in the text declaration of an external entity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlPatternistCLI</name>
+ <message>
+ <source>Warning in %1, at line %2, column %3: %4</source>
+ <translation>%1中出现警告,位于%2行,%3ĺ—:%4</translation>
+ </message>
+ <message>
+ <source>Warning in %1: %2</source>
+ <translation>%1中出现警告:%2</translation>
+ </message>
+ <message>
+ <source>Unknown location</source>
+ <translation>未知位置</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2, at line %3, column %4: %5</source>
+ <translation>%2中ĺ­ĺś¨é”™čŻŻ%1,位于%3行,%4ĺ—:%5</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2: %3</source>
+ <translation>%2中ĺ­ĺś¨é”™čŻŻ%1:%3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlStream</name>
+ <message>
+ <source>Extra content at end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid entity value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML character.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix &apos;%1&apos; not declared</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute redefined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected character &apos;%1&apos; in public id literal.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML version string.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsupported XML version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid encoding name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encoding %1 is unsupported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Standalone accepts only yes or no.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid attribute in XML declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Premature end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>, but got &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected character data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Recursive entity detected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start tag expected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>XML declaration not at start of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>NDATA in parameter entity declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Illegal namespace declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Opening and ending tag mismatch.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to unparsed entity &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Entity &apos;%1&apos; not declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to external entity &apos;%1&apos; in attribute value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid character reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encountered incorrectly encoded content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The standalone pseudo attribute must appear after the encoding.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid PUBLIC identifier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QtXmlPatterns</name>
+ <message>
+ <source>At least one component must be present.</source>
+ <translation>至少有一个组件被ĺ‘现。</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 不ćŻç±»ĺž‹ä¸ş %2 的有ć•ĺ€Ľă€‚</translation>
+ </message>
+ <message>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation>当从 %2 ćŠ›ĺ‡şĺ° %1 时,ćşĺ€Ľä¸Ťč˝ćŻ %3。</translation>
+ </message>
+ <message>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation>有ć•çš„ĺ¸ĺ°”值(Effective Boolean Value)不č˝č˘«ç”¨äşŽč®ˇç®—一个包ĺ«ä¸¤ä¸Şć–者更多原ĺ­ĺ€Ľçš„序ĺ—。</translation>
+ </message>
+ <message>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>处ç†ćŚ‡ä»¤çš„数据不č˝ĺŚ…ĺ«ĺ­—符串 %1</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 ćŻä¸€ä¸Şć— ć•çš„ %2。</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>%1 不ćŻä¸€ä¸Şćś‰ć•çš„ XML 1.0 字符。</translation>
+ </message>
+ <message>
+ <source>%1 was called.</source>
+ <translation>%1 被č°ç”¨äş†ă€‚</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>在这个替换字符串中,%1 在没有被转义的时候必须被至少一个数字跟随。</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation>在这个替换字符串中,%1 只č˝č˘«ç”¨äşŽč˝¬äą‰ĺ®ćś¬čş«ć–者 %2ďĽŚč€Śä¸ŤćŻ %3</translation>
+ </message>
+ <message>
+ <source>%1 matches newline characters</source>
+ <translation>%1 匹配了换行符</translation>
+ </message>
+ <message>
+ <source>Matches are case insensitive</source>
+ <translation>匹配ćŻĺ¤§ĺ°Źĺ†™ä¸Ťć•Źć„źçš„</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 ćŻć­Łĺ™čˇ¨čľľĺĽŹä¸­çš„一个无ć•ć¨ˇĺĽŹďĽš%2</translation>
+ </message>
+ <message>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>将不č˝čŽ·ĺŹ– %1。</translation>
+ </message>
+ <message>
+ <source>The default collection is undefined</source>
+ <translation>é»č®¤ć”¶é›†(collection)ćŻćśŞĺ®šäą‰çš„</translation>
+ </message>
+ <message>
+ <source>%1 cannot be retrieved</source>
+ <translation>无法获取 %1</translation>
+ </message>
+ <message>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>项 %1 和所需的类型 %2 不匹配。</translation>
+ </message>
+ <message>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 ćŻä¸€ä¸ŞćśŞçźĄçš„ć–ąćˇç±»ĺž‹ă€‚</translation>
+ </message>
+ <message>
+ <source>A template with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>只有一个 %1 的声ćŽĺŹŻä»Ąĺ‡şçŽ°ĺś¨ćźĄčŻ˘ĺşŹč¨€ä¸­ă€‚</translation>
+ </message>
+ <message>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>ĺŹé‡Ź %1 çš„ĺťĺ§‹ĺŚ–依赖于ĺ®ćś¬čş«</translation>
+ </message>
+ <message>
+ <source>The variable %1 is unused</source>
+ <translation>ĺŹé‡Ź %1 没有被使用</translation>
+ </message>
+ <message>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>不支ćŚç‰ćś¬ %1。被支ćŚçš„ XQuery ç‰ćś¬ćŻ 1.0。</translation>
+ </message>
+ <message>
+ <source>No function with signature %1 is available</source>
+ <translation>没有签ĺŤä¸ş %1 的可用函数。</translation>
+ </message>
+ <message>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>不č˝é‡Ťĺ¤ŤĺŁ°ćŽĺ‰ŤçĽ€ %1。</translation>
+ </message>
+ <message>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>前缀 %1 在序言中已经声ćŽčż‡äş†ă€‚</translation>
+ </message>
+ <message>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>一个选项的ĺŤç§°ĺż…须带有前缀。对于选项没有é»č®¤ĺ‘˝ĺŤç©şé—´ă€‚</translation>
+ </message>
+ <message>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>不支ćŚć–ąćˇĺŻĽĺ…Ą(Schema Import)特性,并且因此 %1 声ćŽä¸Ťč˝ĺ‡şçŽ°ă€‚</translation>
+ </message>
+ <message>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>%1 的目标命ĺŤç©şé—´ä¸Ťč˝ä¸şç©şă€‚</translation>
+ </message>
+ <message>
+ <source>The module import feature is not supported</source>
+ <translation>不支ćŚć¨ˇĺť—导入特性</translation>
+ </message>
+ <message>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation>用ć·ĺś¨ä¸€ä¸Şĺş“模块中定义的函数的命ĺŤç©şé—´ĺż…须和这个模块的命ĺŤç©şé—´ä¸€č‡´ă€‚äąźĺ°±ćŻčŻ´ďĽŚĺ®ĺş”čŻĄćŻ %1ďĽŚč€Śä¸ŤćŻ %2</translation>
+ </message>
+ <message>
+ <source>A function already exists with the signature %1.</source>
+ <translation>ä¸€ä¸Şĺ¸¦ćś‰ç­ľĺŤ %1 的函数已经ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>不支ćŚĺ¤–é¨ĺ‡˝ć•°ă€‚所有支ćŚçš„函数必须可以被直接使用,不č˝ćŠŠĺ®ä»¬ĺŁ°ćŽä¸şĺ¤–é¨çš„</translation>
+ </message>
+ <message>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>这个 %1 轴在 XQuery 中ćŻä¸Ťč˘«ć”ŻćŚçš„。</translation>
+ </message>
+ <message>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>当这个命ĺŤç©şé—´ URI 被绑定ĺ°ä¸€ä¸Şĺ‰ŤçĽ€ %1 时,ĺ®ä¸Ťč˝ćŻç©şĺ­—符串。</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 ćŻä¸€ä¸Şć— ć•çš„ĺ‘˝ĺŤç©şé—´ URI。</translation>
+ </message>
+ <message>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>无法绑定ĺ°čż™ä¸Şĺ‰ŤçĽ€ %1。</translation>
+ </message>
+ <message>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>两个命ĺŤç©şé—´ĺŁ°ćŽĺ±žć€§ä˝żç”¨äş†ç›¸ĺŚçš„ĺŤç§°ďĽš%1。</translation>
+ </message>
+ <message>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>ĺ‘˝ĺŤç©şé—´ URI 必须ćŻä¸€ä¸Şĺ¸¸é‡Źĺą¶ä¸”不č˝ä˝żç”¨ĺ°é—­çš„表达式。</translation>
+ </message>
+ <message>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translation>%1 不ćŻčŚĺ›´ĺ†…属性声ćŽă€‚注意方ćˇĺŻĽĺ…Ąç‰ąć€§ćŻä¸Ťč˘«ć”ŻćŚçš„。</translation>
+ </message>
+ <message>
+ <source>empty</source>
+ <translation>ç©şç™˝</translation>
+ </message>
+ <message>
+ <source>zero or one</source>
+ <translation>零ć–者一</translation>
+ </message>
+ <message>
+ <source>exactly one</source>
+ <translation>确ĺ‡ĺś°ä¸€</translation>
+ </message>
+ <message>
+ <source>one or more</source>
+ <translation>一ć–者更多</translation>
+ </message>
+ <message>
+ <source>zero or more</source>
+ <translation>零ć–者更多</translation>
+ </message>
+ <message>
+ <source>The focus is undefined.</source>
+ <translation>焦点未定义。</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>一个ĺŤç§°ä¸ş %1 的属性已经被ĺ›ĺ»şă€‚</translation>
+ </message>
+ <message>
+ <source>Network timeout.</source>
+ <translation>网络超时。</translation>
+ </message>
+ <message>
+ <source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
+ <translation>ĺ…ç´  %1 不č˝č˘«ä¸˛čˇŚĺŚ–,因为ĺ®ĺ‡şçŽ°ĺś¨ć–‡ćˇŁĺ…素之外。</translation>
+ </message>
+ <message>
+ <source>Year %1 is invalid because it begins with %2.</source>
+ <translation>%1 ĺą´ćŻć— ć•çš„,因为应该从 %2 开始。</translation>
+ </message>
+ <message>
+ <source>Day %1 is outside the range %2..%3.</source>
+ <translation>%1 ć—ĄćŻĺś¨ %2...%3 čŚĺ›´äą‹ĺ¤–的。</translation>
+ </message>
+ <message>
+ <source>Month %1 is outside the range %2..%3.</source>
+ <translation>%1 ćśćŻĺś¨ %2...%3 čŚĺ›´äą‹ĺ¤–的。</translation>
+ </message>
+ <message>
+ <source>Overflow: Can&apos;t represent date %1.</source>
+ <translation>溢出:无法ĺ‘现数据 %1。</translation>
+ </message>
+ <message>
+ <source>Day %1 is invalid for month %2.</source>
+ <translation>%1 日对于 %2 ćśćŻć— ć•çš„。</translation>
+ </message>
+ <message>
+ <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
+ <translation>时间 24:%1:%2.%3 ćŻć— ć•çš„ă€‚ĺ°Źć—¶ćŻ 24,但ćŻĺ†é’źă€ç§’和毫秒不全为 0; </translation>
+ </message>
+ <message>
+ <source>Time %1:%2:%3.%4 is invalid.</source>
+ <translation>时间 %1:%2:%3.%4 ćŻć— ć•çš„。</translation>
+ </message>
+ <message>
+ <source>Overflow: Date can&apos;t be represented.</source>
+ <translation>溢出:数据无法被ĺ‘现。</translation>
+ </message>
+ <message>
+ <source>At least one time component must appear after the %1-delimiter.</source>
+ <translation>至少一个时间组件必须出现在这个 %1 ç•Śé™äą‹ĺŽă€‚</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
+ <translation>一个类型为 %1 的值除以 %2(不ćŻä¸€ä¸Şć•°ĺ€Ľ)ćŻä¸Ťĺ…许的。</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
+ <translation>一个类型为 %1 的值除以 %2 ć–者 %3(正负零)ćŻä¸Ťĺ…许的。</translation>
+ </message>
+ <message>
+ <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
+ <translation>一个类型为 %1 的值äąä»Ą %2 ć–者 %3(ć­Łč´źć— ç©·)ćŻä¸Ťĺ…许的。</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot have an Effective Boolean Value.</source>
+ <translation>一个类型为 %1 的值不č˝ćŻä¸€ä¸Şćś‰ć•çš„ĺ¸ĺ°”值(Effective Boolean Value)。</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 exceeds maximum (%3).</source>
+ <translation>类型为 %2 的值 %1 超过了最大值(%3)。</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 is below minimum (%3).</source>
+ <translation>类型为 %2 的值 %1 超过了最小值(%3)。</translation>
+ </message>
+ <message>
+ <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
+ <translation>类型为 %1 的值必须包ĺ«ĺ¶ć•°ä¸Şć•°ĺ­—。值 %2 不ćŻčż™ć ·çš„。</translation>
+ </message>
+ <message>
+ <source>%1 is not valid as a value of type %2.</source>
+ <translation>%1 不ćŻç±»ĺž‹ä¸ş %2 的有ć•ĺ€Ľă€‚</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on type %2.</source>
+ <translation>操作符 %1 不č˝č˘«ç”¨äşŽç±»ĺž‹ %2。</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
+ <translation>操作符 %1 不č˝č˘«ç”¨äşŽç±»ĺž‹ä¸ş %2 ĺ’Ś %3 的原ĺ­ĺ€Ľă€‚</translation>
+ </message>
+ <message>
+ <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
+ <translation>一个被计算的属性的ĺŤç§°ä¸­çš„ĺ‘˝ĺŤç©şé—´ URI 不č˝ćŻ %1。</translation>
+ </message>
+ <message>
+ <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
+ <translation>一个被计算的属性的ĺŤç§°ä¸Ťč˝ä˝żç”¨ĺ¸¦ćś‰ćś¬ĺś°ĺŤç§° %2 çš„ĺ‘˝ĺŤç©şé—´ URI %1。</translation>
+ </message>
+ <message>
+ <source>Type error in cast, expected %1, received %2.</source>
+ <translation>ćŠ›ĺ‡şç±»ĺž‹é”™čŻŻďĽŚćśźćś›çš„ćŻ %1,收ĺ°çš„ćŻ %2。</translation>
+ </message>
+ <message>
+ <source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
+ <translation>ĺ˝“ćŠ›ĺ‡şĺ° %1 ć–者ĺ®çš„派生类时,ćşç±»ĺž‹ĺż…须ćŻĺŚä¸€ç±»ĺž‹ďĽŚć–者ĺ®ĺż…须ćŻä¸€ä¸Şĺ­—符串类型。类型 %2 ćŻä¸Ťč˘«ĺ…许的。</translation>
+ </message>
+ <message>
+ <source>A comment cannot contain %1</source>
+ <translation>注释不č˝ĺŚ…ĺ« %1</translation>
+ </message>
+ <message>
+ <source>A comment cannot end with a %1.</source>
+ <translation>注释不č˝ä»Ą %1 结尾。</translation>
+ </message>
+ <message>
+ <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
+ <translation>一个属性节点不č˝ćŻä¸€ä¸Şć–‡ćˇŁčŠ‚ç‚ąçš„ĺ­čŠ‚点。因此,这个属性 %1 所在位置ćŻä¸Ťĺ适的。</translation>
+ </message>
+ <message>
+ <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
+ <translation>一个库模块不č˝č˘«ç›´ćŽĄčŻ„估。ĺ®ĺż…须从一个主模块中导入。</translation>
+ </message>
+ <message>
+ <source>No template by name %1 exists.</source>
+ <translation>没有ĺŤä¸ş %1 的模板ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
+ <translation>类型为 %1 的值不č˝č˘«ĺ¤ć–­ă€‚一个ĺ¤ć–­ĺż…须ćŻć•°ĺ€Ľç±»ĺž‹ć–者一个有ć•çš„ĺ¸ĺ°”值(Effective Boolean Value)类型。</translation>
+ </message>
+ <message>
+ <source>A positional predicate must evaluate to a single numeric value.</source>
+ <translation>一个定位ĺ¤ć–­ĺż…须评估一个单一数值。</translation>
+ </message>
+ <message>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
+ <translation>一个处ç†ćŚ‡ä»¤ä¸­çš„目标ĺŤç§°ä¸Ťč˝ćŻä»»ä˝•ĺ¤§ĺ°Źĺ†™ć··ĺçš„ %1。因此,%2 ćŻć— ć•çš„。</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
+ <translation>%1 不ćŻĺ¤„ç†ćŚ‡ä»¤çš„有ć•ç›®ć ‡ĺŤç§°ă€‚ĺ®ĺż…须ćŻĺ€Ľ %2,例如 %3。</translation>
+ </message>
+ <message>
+ <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
+ <translation>一个路径中的最ĺŽä¸€ć­Ąĺż…须包ĺ«čŠ‚ç‚ąć–者原ĺ­ĺ€Ľă€‚ĺ®ä¸Ťč˝ćŻä¸¤č€…的一个组ĺ。</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1</source>
+ <translation>对于前缀 %1,没有ĺ­ĺś¨ç»‘定的命ĺŤç©şé—´ă€‚</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1 in %2</source>
+ <translation>对于 %2 中的前缀 %1,没有ĺ­ĺś¨ç»‘定的命ĺŤç©şé—´ă€‚</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
+ <translation>%1 的第一个参数不č˝ćŻç±»ĺž‹ %2 的。ĺ®ĺż…须ćŻć•°ĺ­—类型的,xs:yearMonthDuration ć–者 xs:dayTimeDuration。</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>%1 的第一个参数不č˝ćŻç±»ĺž‹ %2 的。ĺ®ĺż…须ćŻç±»ĺž‹ %3ă€%4 ć–者 %5 的。</translation>
+ </message>
+ <message>
+ <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>%1 的第二个参数不č˝ćŻç±»ĺž‹ %2 的。ĺ®ĺż…须ćŻç±»ĺž‹ %3ă€%4 ć–者 %5 的。</translation>
+ </message>
+ <message>
+ <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
+ <translation>如果两个值é˝ćś‰ĺŚşĺŹç§»(zone offset),ĺ®ä»¬ĺż…须拥有相ĺŚçš„区ĺŹç§»ă€‚%1 ĺ’Ś %2 的区ĺŹç§»ćŻä¸ŤĺŚçš„。</translation>
+ </message>
+ <message>
+ <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
+ <translation>%1 必须被 %2 ć–者 %3 跟随,不č˝ĺś¨ć›żćŤ˘ĺ­—符串的末尾。</translation>
+ </message>
+ <message>
+ <source>%1 and %2 match the start and end of a line.</source>
+ <translation>%1 和 %2 匹配了一行的头和尾。</translation>
+ </message>
+ <message>
+ <source>Whitespace characters are removed, except when they appear in character classes</source>
+ <translation>空白字符被移除了,除非当ĺ®ä»¬ĺ‡şçŽ°ĺś¨ĺ­—符类中</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
+ <translation>%1 ćŻć­Łĺ™čˇ¨čľľĺĽŹä¸­çš„一个无ć•ć ‡č®°ă€‚有ć•ć ‡č®°ä¸şďĽš</translation>
+ </message>
+ <message>
+ <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
+ <translation>如果第一个参数ćŻç©şĺşŹĺ—ć–者零长度字符串(ć— ĺ‘˝ĺŤç©şé—´),那äąĺ°±ä¸Ťč˝ćŚ‡ĺ®šĺ‰ŤçĽ€ă€‚前缀 %1 被指定了。</translation>
+ </message>
+ <message>
+ <source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
+ <translation>不支ćŚć­Łč§„化(normalization)表单 %1。被支ćŚçš„čˇ¨ĺŤ•ćŻ %2ă€%3ă€%4 ĺ’Ś %5,以及无,例如空字符串(无正规化)。</translation>
+ </message>
+ <message>
+ <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
+ <translation>区ĺŹç§»(zone offset)必须在 %1...%2 čŚĺ›´äą‹ĺ†…。%3 ćŻĺś¨čŚĺ›´äą‹ĺ¤–的。</translation>
+ </message>
+ <message>
+ <source>Required cardinality is %1; got cardinality %2.</source>
+ <translation>所需č¦çš„čˇ¨é—´ĺ…łçł»ćŻ %1;得ĺ°çš„čˇ¨é—´ĺ…łçł»ĺŤ´ćŻ %2。</translation>
+ </message>
+ <message>
+ <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
+ <translation>编ç ć–ąĺĽŹ %1 ćŻć— ć•çš„。ĺ®ĺż…须只包ĺ«ć‹‰ä¸ĺ­—符,必须不包ĺ«ç©şç™˝ç¬¦ĺŹ·ďĽŚĺą¶ä¸”必须和正ĺ™čˇ¨čľľĺĽŹ %2 匹配。</translation>
+ </message>
+ <message>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation>任何其他模式ĺŤç§°ä¸Ťč˝ĺ‡şçŽ°ĺ…łé”®ĺ­—%1。</translation>
+ </message>
+ <message>
+ <source>No variable with name %1 exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>样式表函数必须有一个前缀ĺŤă€‚</translation>
+ </message>
+ <message>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation>ĺ‘˝ĺŤç©şé—´ %1 ćŻäżťç•™çš„;因此用ć·ĺ®šäą‰çš„函数不č˝ä˝żç”¨ĺ®ă€‚请试试预定义的前缀 %2,ĺ®ĺ°±ćŻç”¨äşŽčż™ç§Ťć…况的。</translation>
+ </message>
+ <message>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation>当函数%1被用于样式匹配时,参数必须ćŻĺŹé‡ŹĺŹ‚č€ć–者字符串。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation>在XSL-T样式中,函数%1的第一个参数必须ćŻĺ­—符串,以便用于匹配。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
+ <translation>在XSL-T样式中,函数%1的第一个参数必须ćŻć–‡ĺ­—ć–者ĺŹé‡ŹĺŹ‚č€ďĽŚä»Ąäľżç”¨äşŽĺŚąé…Ťă€‚</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation>在XSL-T样式中,函数%1不č˝ćś‰ç¬¬ä¸‰ä¸ŞĺŹ‚数。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation>在XSL-T样式中,只用函数%1和%2可以用于匹配,%3不可以。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation>在XSL-T仰视中,不č˝ä˝żç”¨%1轴,只č˝ä˝żç”¨%2č˝´ć–者%3轴。</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid template mode name.</source>
+ <translation>%1不ćŻä¸€ä¸Şĺ法的模板模式ĺŤç§°ă€‚</translation>
+ </message>
+ <message>
+ <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
+ <translation>一个在 for 表达式中绑定的ĺŹé‡Źçš„ĺŤç§°ĺż…须和这个定位ĺŹé‡Źä¸ŤĺŚă€‚因此,这两个ĺŤç§°ä¸ş %1 çš„ĺŹé‡Źĺ†˛çŞă€‚</translation>
+ </message>
+ <message>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation>不支ćŚć–ąćˇéŞŚčŻç‰ąć€§(Schema Validation Feature)。因此,也许不č˝ä˝żç”¨ %1 表达式。</translation>
+ </message>
+ <message>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation>不支ćŚä»»ä˝•çĽ–译指示表达式(pragma expression)。因此,必须ĺ‘现一个回č°čˇ¨čľľĺĽŹ(fallback expression)。</translation>
+ </message>
+ <message>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation>每一个模板参数的ĺŤç§°é˝ĺż…须ćŻĺ”Żä¸€çš„;%2ćŻé‡Ťĺ¤Ťçš„。</translation>
+ </message>
+ <message>
+ <source>No function with name %1 is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation>%1 不ćŻä¸€ä¸Şćś‰ć•çš„数字语义。</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>ĺ‘˝ĺŤç©şé—´ %1 只č˝ĺ’Ś %2 绑定(并且如果ćŻčż™ç§Ťć…况,需č¦ćŹĺ‰ŤĺŁ°ćŽ)。</translation>
+ </message>
+ <message>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>前缀 %1 只č˝ĺ’Ś %2 绑定(并且如果ćŻčż™ç§Ťć…况,需č¦ćŹĺ‰ŤĺŁ°ćŽ)。</translation>
+ </message>
+ <message>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation>一个直接ĺ…素构造器没有ĺľĺĄ˝ĺś°ĺ˝˘ć。%1 ĺŽéť˘č·źçť€ %2。</translation>
+ </message>
+ <message>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation>ĺŤç§° %1 没有指ĺ‘任何方ćˇç±»ĺž‹ă€‚</translation>
+ </message>
+ <message>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation>%1 ćŻä¸€ä¸Şĺ¤Ťćť‚类型。无法抛出ĺ°ĺ¤Ťćť‚类型。因此,抛出ĺ°äľ‹ĺ¦‚ %2 这样的原ĺ­ç±»ĺž‹ćŻĺŹŻä»Ąçš„。</translation>
+ </message>
+ <message>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation>%1 不ćŻĺŽźĺ­ç±»ĺž‹ă€‚只č˝ćŠ›ĺ‡şĺ°ĺŽźĺ­ç±»ĺž‹ă€‚</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1不ćŻä¸€ä¸Şĺ¤„ç†ćŚ‡ä»¤çš„ĺćł•ĺŤç§°ă€‚</translation>
+ </message>
+ <message>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation>一个扩展表达式的ĺŤç§°ĺż…须在一个命ĺŤç©şé—´ä¸­ă€‚</translation>
+ </message>
+ <message>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>需č¦çš„ç±»ĺž‹ćŻ %1,但ćŻć‰ľĺ°çš„ćŻ %2。</translation>
+ </message>
+ <message>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>把 %1 升级为 %2 会导致精度的损失。</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation>不č˝ĺś¨ä»»ä˝•ĺ…¶ĺ®ç±»ĺž‹čŠ‚ç‚ąĺŽć·»ĺŠ ĺ±žć€§ă€‚</translation>
+ </message>
+ <message>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>ĺŹŞć”ŻćŚ Unicode 代ç ç‚ąć ˇéŞŚ(Unicode Codepoint Collation)(%1)。%2 ćŻä¸Ťč˘«ć”ŻćŚçš„。</translation>
+ </message>
+ <message>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>整数除法(%1)除零(%2)ćŻćśŞĺ®šäą‰çš„。</translation>
+ </message>
+ <message>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>除法(%1)除零(%2)ćŻćśŞĺ®šäą‰çš„。</translation>
+ </message>
+ <message>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>求模除法(%1)除零(%2)ćŻćśŞĺ®šäą‰çš„。</translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 最多可以有 %n 个参数。因此 %2 ćŻć— ć•çš„。</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 需č¦č‡łĺ°‘ %n 个参数。因此 %2 ćŻć— ć•çš„。</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation>函数 %1 的第二个参数的根节点必须ćŻä¸€ä¸Şć–‡ćˇŁčŠ‚点。%2 不ćŻä¸€ä¸Şć–‡ćˇŁčŠ‚点。</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation>用ć·ĺ®šäą‰ĺ‡˝ć•°çš„ĺŤĺ­—空间不č˝ä¸şç©şďĽčŻ•ç”¨ä¸şčż™ç§Ťć…况而ĺ­ĺś¨çš„预定义前缀%1)</translation>
+ </message>
+ <message>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>é»č®¤ĺ‘˝ĺŤç©şé—´ĺŁ°ćŽĺż…须出现在函数ă€ĺŹé‡Źĺ’Śé€‰éˇąĺŁ°ćŽäą‹ĺ‰Ťă€‚</translation>
+ </message>
+ <message>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>ĺ‘˝ĺŤç©şé—´ĺŁ°ćŽĺż…须出现在函数ă€ĺŹé‡Źĺ’Śé€‰éˇąĺŁ°ćŽäą‹ĺ‰Ťă€‚</translation>
+ </message>
+ <message>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>模块导入不č˝ĺ‡şçŽ°ĺś¨ĺ‡˝ć•°ă€ĺŹé‡Źĺ’Śé€‰éˇąĺŁ°ćŽäą‹ĺ‰Ťă€‚</translation>
+ </message>
+ <message>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 不ćŻĺ†é’źçš„整数。</translation>
+ </message>
+ <message>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation>属性 %1 不č˝č˘«ä¸˛čˇŚĺŚ–,因为ĺ®ĺ‡şçŽ°ĺś¨ćś€éˇ¶ĺ±‚。</translation>
+ </message>
+ <message>
+ <source>%1 is an unsupported encoding.</source>
+ <translation> %1 ćŻä¸Ťč˘«ć”ŻćŚçš„编ç ă€‚</translation>
+ </message>
+ <message>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation>%1包ĺ«äş†ĺś¨čŻ·ć±‚编ç %2中不ĺ…许的八进位值。</translation>
+ </message>
+ <message>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation>在使用编ç %3çš„%2中出现的代ç ç‚ą%1不ćŻä¸€ä¸Şćś‰ć•çš„XML字符。</translation>
+ </message>
+ <message>
+ <source>Ambiguous rule match.</source>
+ <translation>ĺ«çłŠč§„ĺ™ĺŚąé…Ťă€‚</translation>
+ </message>
+ <message>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation>前缀必须ćŻćś‰ć•çš„%1,而%2不ćŻă€‚</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation>前缀%1不č˝č˘«ç»‘定。</translation>
+ </message>
+ <message>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation>只有前缀%1可以绑定ĺ°%2,反之也一样</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation>需č¦ĺŹ‚ć•°%1,但ćŻć˛ˇćś‰ćŹäľ›ĺŻąĺş”çš„%2。</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation>参数%1已传递,但没有相应的%2ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>The URI cannot have a fragment</source>
+ <translation>URI不č˝ćś‰ç‰‡ć®µ</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed at this location.</source>
+ <translation>ĺ…ç´ %1不č˝ĺś¨čż™ä¸Şä˝Ťç˝®ă€‚</translation>
+ </message>
+ <message>
+ <source>Text nodes are not allowed at this location.</source>
+ <translation>文本节点不č˝ĺś¨čż™ä¸Şä˝Ťç˝®ă€‚</translation>
+ </message>
+ <message>
+ <source>Parse error: %1</source>
+ <translation>解ćžé”™čŻŻďĽš%1</translation>
+ </message>
+ <message>
+ <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
+ <translation>XSL-Tç‰ćś¬ĺ±žć€§çš„值必须ćŻ%1类型的值,而%2不ćŻă€‚</translation>
+ </message>
+ <message>
+ <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
+ <translation>在XSL-T 2.0处ç†ĺ™¨ä¸­čżčˇŚä¸€ä¸Ş1.0的样式表。</translation>
+ </message>
+ <message>
+ <source>Unknown XSL-T attribute %1.</source>
+ <translation>未知的XSL-T属性%1。</translation>
+ </message>
+ <message>
+ <source>Attribute %1 and %2 are mutually exclusive.</source>
+ <translation>属性%1和%2彼此互斥。</translation>
+ </message>
+ <message>
+ <source>In a simplified stylesheet module, attribute %1 must be present.</source>
+ <translation>在一个简化样式表模块中,属性%1必须ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
+ <translation>如果ĺ…ç´ %1没有属性%2,那äąĺ®äąźä¸Ťč˝ćś‰ĺ±žć€§%3ć–者%4。</translation>
+ </message>
+ <message>
+ <source>Element %1 must have at least one of the attributes %2 or %3.</source>
+ <translation>ĺ…ç´ %1必须至少有属性%2ć–者%3其中一个。</translation>
+ </message>
+ <message>
+ <source>At least one mode must be specified in the %1-attribute on element %2.</source>
+ <translation>在ĺ…ç´ %2çš„%1属性中至少č¦ćŚ‡ĺ®šä¸€ä¸Şć¨ˇĺĽŹă€‚</translation>
+ </message>
+ <message>
+ <source>Element %1 must come last.</source>
+ <translation>ĺ…ç´ %1必须最ĺŽĺ‡şçŽ°ă€‚</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur before %2.</source>
+ <translation>至少一个ĺ…ç´ %1č¦ĺ‡şçŽ°ĺś¨%2之前。</translation>
+ </message>
+ <message>
+ <source>Only one %1-element can appear.</source>
+ <translation>只č˝ĺ‡şçŽ°ä¸€ä¸Şĺ…ç´ %1。</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur inside %2.</source>
+ <translation>至少一个ĺ…ç´ %1č¦ĺ‡şçŽ°ĺś¨%2之内。</translation>
+ </message>
+ <message>
+ <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
+ <translation>当属性%1出现在%2中时,不č˝ä˝żç”¨éˇşĺşŹćž„造。</translation>
+ </message>
+ <message>
+ <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
+ <translation>ĺ…ç´ %1必须有在一个%2属性ć–者顺序构造。</translation>
+ </message>
+ <message>
+ <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
+ <translation>当需č¦ĺŹ‚数时,不č˝é€ščż‡ĺ±žć€§%1ć–者顺序构造ćŹäľ›é»č®¤ĺ€Ľă€‚</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have children.</source>
+ <translation>ĺ…ç´ %1不č˝ćś‰ĺ­ĺ…素。</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have a sequence constructor.</source>
+ <translation>ĺ…ç´ %1不č˝ćś‰éˇşĺşŹćž„造。</translation>
+ </message>
+ <message>
+ <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
+ <translation>属性%1不č˝ĺ‡şçŽ°ĺś¨%2中,因为ĺ®ćŻ%3çš„ĺ­ĺ…素。</translation>
+ </message>
+ <message>
+ <source>A parameter in a function cannot be declared to be a tunnel.</source>
+ <translation>函数内的参数不č˝č˘«ĺŁ°ćŽä¸şé€šé“(tunnel)。</translation>
+ </message>
+ <message>
+ <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
+ <translation>这个处ç†ĺ™¨ä¸Ťč˝ć„źçźĄSchema,因此%1不č˝č˘«ä˝żç”¨ă€‚</translation>
+ </message>
+ <message>
+ <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
+ <translation>顶级样式表ĺ…素必须ćŻĺś¨éťžç©şĺ‘˝ĺŤç©şé—´ä¸­çš„,而%1不ćŻă€‚</translation>
+ </message>
+ <message>
+ <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
+ <translation>ĺ…ç´ %2中属性%1的值必须ćŻ%3ć–者%4,而不ćŻ%5。</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot have the value %2.</source>
+ <translation>属性%1的值不č˝ćŻ%2。</translation>
+ </message>
+ <message>
+ <source>The attribute %1 can only appear on the first %2 element.</source>
+ <translation>属性%1只č˝ĺ‡şçŽ°ĺś¨ĺ‰Ť%2个ĺ…素中。</translation>
+ </message>
+ <message>
+ <source>At least one %1 element must appear as child of %2.</source>
+ <translation>%2必须至少ĺŹä¸€ä¸Şĺ­ĺ…ç´ %1。</translation>
+ </message>
+ <message>
+ <source>%1 has inheritance loop in its base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of base type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of union %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 cannot be complex type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot have direct base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is not allowed to have base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 can only have simple atomic type as base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of item type of %1 must be either atomic or union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of member types of %1 must be atomic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is only allowed to have %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 must have variety of type list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 has defined derivation by restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of base type does not match item type of %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 contains not allowed facet type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have any facets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 must have variety of union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has duplicated element %2 in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has non-deterministic content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have simple content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have the same simple type as its base class %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived from base type %2%3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have a member type with the same name as itself.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet collides with %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must have the same value as %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be equal or greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid regular expression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown notation %1 used in %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid value %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet and %2 facet cannot appear together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type contains not allowed facet %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only %1 and %2 facets are allowed when derived by union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains %2 facet with invalid data: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of element %1 is not of elements type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of attribute %1 is not of attributes type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 has value constraint but has type derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in derived complex type must be %2 like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of base wildcard must be weaker than derived wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 exists twice with different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Particle contains non-deterministic wildcards.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but derived attribute is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not exist in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not match the wildcard in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but missing in derived definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived definition contains an %1 element that does not exists in the base definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived wildcard is not a subset of the base wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 from base type is missing in derived type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 differs from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base definition contains an %1 element that is missing in the derived definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular group reference for %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this scope</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle is missing element %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Can not process unknown element %1, expected elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Child element is missing in that scope, possible child elements are: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Document is not a XML schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3}.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element has neither %2 attribute nor %3 child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element with %2 child element must not have a %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must be %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must not have %2 and %3 attribute together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must not be %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element requires either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Text or entity references not allowed inside %1 element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this context.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element has larger value than %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must either contain %3 or the other values.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Component with ID %1 has been defined previously.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Identity constraint %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated facets in simple type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not valid according to %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the fractionDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Boolean content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid QName content: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Data of type %1 are not allowed to be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>There is one IDREF value with no corresponding ID: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Loaded schema file is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains invalid data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No schema defined for validation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No definition for element %1 available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not known to the schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not defined in this scope.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for element %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is declared as abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid data: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element contains content although it is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not validly substitutable with element type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 is not allowed to be abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed attributes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed text content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing required attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 does not match the attribute wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for attribute %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains two attributes of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains unknown attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Non-unique value found for constraint %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains absent fields.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains references nillable element %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No referenced value found for key reference %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>More than one value found for field %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Field %1 has no simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>ID value &apos;%1&apos; is not unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+</TS>
diff --git a/config.profiles/symbian/translations/qt_zh_tw_symbian.ts b/config.profiles/symbian/translations/qt_zh_tw_symbian.ts
new file mode 100644
index 0000000..c9eb563
--- /dev/null
+++ b/config.profiles/symbian/translations/qt_zh_tw_symbian.ts
@@ -0,0 +1,8505 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE TS>
+
+<TS version="2.0" language="zh_tw">
+ <context>
+ <name>CloseButton</name>
+ <message>
+ <source>Close Tab</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>FakeReply</name>
+ <message>
+ <source>Fake error !</source>
+ <translation>ĺ‡éŚŻčޤďĽ</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>URL無ć•</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::</name>
+ <message>
+ <source>Notifications</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Communication</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Accessibility</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::AudioOutput</name>
+ <message>
+ <source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;音訊播放裝置&lt;b&gt;%1&lt;/b&gt;無法é‹ä˝śă€‚&lt;br/&gt;正在ĺ‡ćŹ›ĺ›ž&lt;b&gt;%2&lt;/b&gt;。&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;正在ĺ‡ćŹ›ĺ°éźłč¨Šć’­ć”ľčŁťç˝®&lt;b&gt;%1&lt;/b&gt;,&lt;br/&gt;該裝置剛變ć可使用,而且優ĺ…順序čĽé«ă€‚&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation>ĺ‡ćŹ›ĺ›žčŁťç˝®&quot;%1&quot;</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::Backend</name>
+ <message>
+ <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
+ Some video features have been disabled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Warning: You do not seem to have the base GStreamer plugins installed.
+ All audio and video support has been disabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::Gstreamer::MediaObject</name>
+ <message>
+ <source>Cannot start playback.
+
+Check your GStreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not open media source.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid source type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not locate media source.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not open audio device. The device is already in use.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not decode media source.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF</name>
+ <message>
+ <source>Audio Output</source>
+ <translation>音訊輸出</translation>
+ </message>
+ <message>
+ <source>The audio output device</source>
+ <translation>音訊輸出裝置</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>沒有錯誤</translation>
+ </message>
+ <message>
+ <source>Not found</source>
+ <translation>找不ĺ°</translation>
+ </message>
+ <message>
+ <source>Out of memory</source>
+ <translation>č¨ć†¶é«”不足</translation>
+ </message>
+ <message>
+ <source>Not supported</source>
+ <translation>不支援</translation>
+ </message>
+ <message>
+ <source>Overflow</source>
+ <translation>溢位</translation>
+ </message>
+ <message>
+ <source>Underflow</source>
+ <translation>降位</translation>
+ </message>
+ <message>
+ <source>Already exists</source>
+ <translation>已經ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>Path not found</source>
+ <translation>找不ĺ°č·Żĺľ‘</translation>
+ </message>
+ <message>
+ <source>In use</source>
+ <translation>使用中</translation>
+ </message>
+ <message>
+ <source>Not ready</source>
+ <translation>未就緒</translation>
+ </message>
+ <message>
+ <source>Access denied</source>
+ <translation>拒絕ĺ­ĺŹ–</translation>
+ </message>
+ <message>
+ <source>Could not connect</source>
+ <translation>無法連線</translation>
+ </message>
+ <message>
+ <source>Disconnected</source>
+ <translation>已中斷連線</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>權é™ä¸Ťč¶ł</translation>
+ </message>
+ <message>
+ <source>Insufficient bandwidth</source>
+ <translation>頻寬不足</translation>
+ </message>
+ <message>
+ <source>Network unavailable</source>
+ <translation>網路無法使用</translation>
+ </message>
+ <message>
+ <source>Network communication error</source>
+ <translation>網路通訊錯誤</translation>
+ </message>
+ <message>
+ <source>Streaming not supported</source>
+ <translation>不支援串ćµ</translation>
+ </message>
+ <message>
+ <source>Server alert</source>
+ <translation>伺服器警告</translation>
+ </message>
+ <message>
+ <source>Invalid protocol</source>
+ <translation>通訊協定無ć•</translation>
+ </message>
+ <message>
+ <source>Invalid URL</source>
+ <translation>URL無ć•</translation>
+ </message>
+ <message>
+ <source>Multicast error</source>
+ <translation>多點傳é€éŚŻčޤ</translation>
+ </message>
+ <message>
+ <source>Proxy server error</source>
+ <translation>Proxy伺服器錯誤</translation>
+ </message>
+ <message>
+ <source>Proxy server not supported</source>
+ <translation>不支援的Proxy伺服器</translation>
+ </message>
+ <message>
+ <source>Audio output error</source>
+ <translation>音訊輸出錯誤</translation>
+ </message>
+ <message>
+ <source>Video output error</source>
+ <translation>視訊輸出錯誤</translation>
+ </message>
+ <message>
+ <source>Decoder error</source>
+ <translation>解碼器錯誤</translation>
+ </message>
+ <message>
+ <source>Audio or video components could not be played</source>
+ <translation>音訊ć–視訊ĺ…件無法播放</translation>
+ </message>
+ <message>
+ <source>DRM error</source>
+ <translation>DRM錯誤</translation>
+ </message>
+ <message>
+ <source>Unknown error (%1)</source>
+ <translation>不ćŽéŚŻčޤ(%1)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <source>Not ready to play</source>
+ <translation>尚未準備好播放</translation>
+ </message>
+ <message>
+ <source>Error opening file</source>
+ <translation>開啟檔ćˇć™‚發生錯誤</translation>
+ </message>
+ <message>
+ <source>Error opening URL</source>
+ <translation>開啟URL時發生錯誤</translation>
+ </message>
+ <message>
+ <source>Setting volume failed</source>
+ <translation>音量設定失敗</translation>
+ </message>
+ <message>
+ <source>Playback complete</source>
+ <translation>播放完ć</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <source>%1 Hz</source>
+ <translation>%1 Hz</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <source>Getting position failed</source>
+ <translation>取得位置失敗</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>開啟檔ćˇĺ¤±ć•—</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <source>Enabled</source>
+ <translation>已啟用</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <source>Decay HF ratio (%)</source>
+ <translation>衰減HF比率(%)</translation>
+ </message>
+ <message>
+ <source>Decay time (ms)</source>
+ <translation>衰減時間(ms)</translation>
+ </message>
+ <message>
+ <source>Density (%)</source>
+ <translation>密度(%)</translation>
+ </message>
+ <message>
+ <source>Diffusion (%)</source>
+ <translation>ć“´ć•Ł(%)</translation>
+ </message>
+ <message>
+ <source>Reflections delay (ms)</source>
+ <translation>反射延é˛(ms)</translation>
+ </message>
+ <message>
+ <source>Reflections level (mB)</source>
+ <translation>反射電平(mB)</translation>
+ </message>
+ <message>
+ <source>Reverb delay (ms)</source>
+ <translation>ć®éźżĺ»¶é˛(ms)</translation>
+ </message>
+ <message>
+ <source>Reverb level (mB)</source>
+ <translation>ć®éźżé›»ĺął(mB)</translation>
+ </message>
+ <message>
+ <source>Room HF level</source>
+ <translation>空間HF電平</translation>
+ </message>
+ <message>
+ <source>Room level (mB)</source>
+ <translation>空間電平(mB)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::MediaObject</name>
+ <message>
+ <source>Error opening source: type not supported</source>
+ <translation>開啟來ćşć™‚發生錯誤:不支援的類型</translation>
+ </message>
+ <message>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>開啟來ćşć™‚發生錯誤:無法ĺ¤ć–·ĺŞ’é«”éˇžĺž‹</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <source>Level (%)</source>
+ <translation>電平(%)</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation>ćš«ĺśĺ¤±ć•—</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation>ćśĺ°‹ĺ¤±ć•—</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation>取得位置失敗</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation>開啟檔ćˇĺ¤±ć•—</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation>檔ćˇç·©čˇťč™•ç†ĺ¤±ć•—</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation>視訊顯示錯誤</translation>
+ </message>
+ </context>
+ <context>
+ <name>Phonon::VolumeSlider</name>
+ <message>
+ <source>Volume: %1%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Muted</source>
+ <translation>已靜音</translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Accel</name>
+ <message>
+ <source>%1, %2 not defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ambiguous %1 not handled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3DataTable</name>
+ <message>
+ <source>True</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3FileDialog</name>
+ <message>
+ <source>Copy or Move a File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Read: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Write: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>All Files (*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Look &amp;in:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>File &amp;type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>One directory up</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Preview File Info</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Preview File Contents</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Read-write</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Read-only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Write-only</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Inaccessible</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Symlink to File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Symlink to Directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Symlink to Special</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Dir</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Special</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>R&amp;eload</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sort by &amp;Date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Unsorted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sort</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>the file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>the directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>the symlink</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delete %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>New Folder 1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>新資料夾</translation>
+ </message>
+ <message>
+ <source>New Folder %1</source>
+ <translation>新資料夾 %1</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Check path and filename.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select a Directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3LocalFs</name>
+ <message>
+ <source>Could not read directory
+%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not create directory
+%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not remove file or directory
+%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not rename
+%1
+to
+%2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not open
+%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Could not write
+%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3MainWindow</name>
+ <message>
+ <source>Line up</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Customize...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3NetworkProtocol</name>
+ <message>
+ <source>Operation stopped by the user</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TabDialog</name>
+ <message>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Defaults</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TextEdit</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3TitleBar</name>
+ <message>
+ <source>System</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restore up</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restore down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Contains commands to manipulate the window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Puts a minimized window back to normal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Moves the window out of the way</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Puts a maximized window back to normal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Makes the window full screen</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Closes the window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Displays the name of the window and contains controls to manipulate it</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3ToolBar</name>
+ <message>
+ <source>More...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3UrlOperator</name>
+ <message>
+ <source>The protocol `%1&apos; is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support listing directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support creating new directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support removing files or directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support renaming files or directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support getting files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support putting files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The protocol `%1&apos; does not support copying or moving files or directories</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>(unknown)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>Q3Wizard</name>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSocket</name>
+ <message>
+ <source>Host not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Socket operation timed out</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Socket is not connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QAbstractSpinBox</name>
+ <message>
+ <source>&amp;Step up</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Step &amp;down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Select All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QAccessibleButton</name>
+ <message>
+ <source>Press</source>
+ <translation>按</translation>
+ </message>
+ </context>
+ <context>
+ <name>QApplication</name>
+ <message>
+ <source>QT_LAYOUT_DIRECTION</source>
+ <comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Incompatible Qt Library Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Activate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Activates the program&apos;s main window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QAxSelect</name>
+ <message>
+ <source>Select ActiveX Control</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>COM &amp;Object:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QCheckBox</name>
+ <message>
+ <source>Uncheck</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Check</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Toggle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QColorDialog</name>
+ <message>
+ <source>Hu&amp;e:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Sat:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Val:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Red:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Green:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Bl&amp;ue:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A&amp;lpha channel:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select Color</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Basic colors</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Custom colors</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Add to Custom Colors</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QComboBox</name>
+ <message>
+ <source>Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>False</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>True</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QCoreApplication</name>
+ <message>
+ <source>%1: key is empty</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: does not exist</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Driver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to set autocommit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDB2Result</name>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to fetch record %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDateTimeEdit</name>
+ <message>
+ <source>AM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>am</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>PM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>pm</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDial</name>
+ <message>
+ <source>QDial</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>SpeedoMeter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>SliderHandle</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialog</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDialogButtonBox</name>
+ <message>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Apply</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Don&apos;t Save</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Discard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Yes</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Yes to &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;No</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>N&amp;o to All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Save All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Retry</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restore Defaults</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close without Saving</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDirModel</name>
+ <message>
+ <source>Name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDockWidget</name>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Dock</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Float</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QDoubleSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QErrorMessage</name>
+ <message>
+ <source>&amp;Show this message again</source>
+ <translation>再度顯示此訊ćŻ(&amp;S)</translation>
+ </message>
+ <message>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Debug Message:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Warning:</source>
+ <translation>警告:</translation>
+ </message>
+ <message>
+ <source>Fatal Error:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QFile</name>
+ <message>
+ <source>Destination file exists</source>
+ <translation>目標檔已ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>Will not rename sequential file using block copy</source>
+ <translation>使用區塊複製將不ćśé‡Ťć–°ĺ‘˝ĺŤĺľŞĺşŹćŞ”</translation>
+ </message>
+ <message>
+ <source>Cannot remove source file</source>
+ <translation>無法移除來ćşćŞ”</translation>
+ </message>
+ <message>
+ <source>Cannot open %1 for input</source>
+ <translation>無法開啟 %1 以輸入</translation>
+ </message>
+ <message>
+ <source>Cannot open for output</source>
+ <translation>無法開啟 %1 以輸出</translation>
+ </message>
+ <message>
+ <source>Failure to write block</source>
+ <translation>寫入區塊時失敗</translation>
+ </message>
+ <message>
+ <source>Cannot create %1 for output</source>
+ <translation>無法建立 %1 以輸出</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileDialog</name>
+ <message>
+ <source>All Files (*)</source>
+ <translation>ć‰€ćś‰ćŞ”ćˇ (*)</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>返回</translation>
+ </message>
+ <message>
+ <source>List View</source>
+ <translation>ĺ—表檢視</translation>
+ </message>
+ <message>
+ <source>Detail View</source>
+ <translation>詳細檢視</translation>
+ </message>
+ <message>
+ <source>File</source>
+ <translation>檔ćˇ</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>é–‹ĺ•ź</translation>
+ </message>
+ <message>
+ <source>Save As</source>
+ <translation>另ĺ­ć–°ćŞ”</translation>
+ </message>
+ <message>
+ <source>&amp;Open</source>
+ <translation>é–‹ĺ•ź(&amp;O)</translation>
+ </message>
+ <message>
+ <source>&amp;Save</source>
+ <translation>儲ĺ­(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Recent Places</source>
+ <translation>最近的地方</translation>
+ </message>
+ <message>
+ <source>&amp;Rename</source>
+ <translation>重新命ĺŤ(&amp;R)</translation>
+ </message>
+ <message>
+ <source>&amp;Delete</source>
+ <translation>ĺŞé™¤(&amp;D)</translation>
+ </message>
+ <message>
+ <source>Show &amp;hidden files</source>
+ <translation>顯示隱藏檔(&amp;H)</translation>
+ </message>
+ <message>
+ <source>New Folder</source>
+ <translation>新資料夾</translation>
+ </message>
+ <message>
+ <source>Find Directory</source>
+ <translation>尋找目錄</translation>
+ </message>
+ <message>
+ <source>Directories</source>
+ <translation>目錄</translation>
+ </message>
+ <message>
+ <source>All Files (*.*)</source>
+ <translation>ć‰€ćś‰ćŞ”ćˇ (*.*)</translation>
+ </message>
+ <message>
+ <source>Directory:</source>
+ <translation>目錄:</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1 ĺ·˛ĺ­ĺś¨
+您č¦ĺŹ–代ĺ®ĺ—ŽďĽź</translation>
+ </message>
+ <message>
+ <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+ <translation>%1
+找不ĺ°ćŞ”ćˇă€‚
+請檢查檔ĺŤćŻĺ¦ć­Łç˘şă€‚</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>ć‘的電腦</translation>
+ </message>
+ <message>
+ <source>Parent Directory</source>
+ <translation>ç¶ç›®éŚ„</translation>
+ </message>
+ <message>
+ <source>Files of type:</source>
+ <translation>檔ćˇĺž‹ć…‹ďĽš</translation>
+ </message>
+ <message>
+ <source>%1
+Directory not found.
+Please verify the correct directory name was given.</source>
+ <translation>%1
+找不ĺ°ç›®éŚ„。
+請檢查目錄ĺŤç¨±ćŻĺ¦ć­Łç˘şă€‚</translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; is write protected.
+Do you want to delete it anyway?</source>
+ <translation>%1 有寫入保護。
+您確定č¦ĺŞé™¤ĺ®ĺ—ŽďĽź</translation>
+ </message>
+ <message>
+ <source>Are sure you want to delete &apos;%1&apos;?</source>
+ <translation>您確定č¦ĺŞé™¤ %1 嗎?</translation>
+ </message>
+ <message>
+ <source>Could not delete directory.</source>
+ <translation>無法ĺŞé™¤ç›®éŚ„。</translation>
+ </message>
+ <message>
+ <source>Drive</source>
+ <translation>çŁç˘ź</translation>
+ </message>
+ <message>
+ <source>File Folder</source>
+ <comment>Match Windows Explorer</comment>
+ <translation>檔ćˇčł‡ć–™ĺ¤ľ</translation>
+ </message>
+ <message>
+ <source>Folder</source>
+ <comment>All other platforms</comment>
+ <translation>資料夾</translation>
+ </message>
+ <message>
+ <source>Alias</source>
+ <comment>Mac OS X Finder</comment>
+ <translation>ĺĄĺŤ</translation>
+ </message>
+ <message>
+ <source>Shortcut</source>
+ <comment>All other platforms</comment>
+ <translation>捷徑</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>未知</translation>
+ </message>
+ <message>
+ <source>Show </source>
+ <translation>顯示 </translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>往前</translation>
+ </message>
+ <message>
+ <source>&amp;New Folder</source>
+ <translation>新增資料夾(&amp;N)</translation>
+ </message>
+ <message>
+ <source>&amp;Choose</source>
+ <translation>é¸ć“‡(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>移除</translation>
+ </message>
+ <message>
+ <source>File &amp;name:</source>
+ <translation>檔ĺŤ(&amp;N):</translation>
+ </message>
+ <message>
+ <source>Look in:</source>
+ <translation>尋找於:</translation>
+ </message>
+ <message>
+ <source>Create New Folder</source>
+ <translation>建立新資料夾</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFileSystemModel</name>
+ <message>
+ <source>%1 TB</source>
+ <translation>%1 TB</translation>
+ </message>
+ <message>
+ <source>%1 GB</source>
+ <translation>%1 GB</translation>
+ </message>
+ <message>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+ <source>%1 KB</source>
+ <translation>%1 KB</translation>
+ </message>
+ <message>
+ <source>%1 bytes</source>
+ <translation>%1 位ĺ…組</translation>
+ </message>
+ <message>
+ <source>Invalid filename</source>
+ <translation>不ĺ法的檔ĺŤ</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
+ <translation>&lt;b&gt;無法使用ĺŤç¨± &quot;%1&quot;。&lt;/b&gt;&lt;p&gt;請使用其ĺ®ĺŤç¨±ďĽŚĺ­—ĺ…數少一點,ć–ćŻä¸Ťč¦ćś‰ć¨™é»žç¬¦č™źă€‚</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç¨±</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>大小</translation>
+ </message>
+ <message>
+ <source>Kind</source>
+ <comment>Match OS X Finder</comment>
+ <translation>種類</translation>
+ </message>
+ <message>
+ <source>Type</source>
+ <comment>All other platforms</comment>
+ <translation>ĺž‹ć…‹</translation>
+ </message>
+ <message>
+ <source>Date Modified</source>
+ <translation>變更日期</translation>
+ </message>
+ <message>
+ <source>My Computer</source>
+ <translation>ć‘的電腦</translation>
+ </message>
+ <message>
+ <source>Computer</source>
+ <translation>電腦</translation>
+ </message>
+ <message>
+ <source>%1 byte(s)</source>
+ <translation>%1位ĺ…組</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDatabase</name>
+ <message>
+ <source>Normal</source>
+ <translation>正常</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <translation>粗體</translation>
+ </message>
+ <message>
+ <source>Demi Bold</source>
+ <translation>半粗體</translation>
+ </message>
+ <message>
+ <source>Black</source>
+ <translation>黑體</translation>
+ </message>
+ <message>
+ <source>Demi</source>
+ <translation>半體</translation>
+ </message>
+ <message>
+ <source>Light</source>
+ <translation>輕體</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <translation>ć–śé«”</translation>
+ </message>
+ <message>
+ <source>Oblique</source>
+ <translation>ĺ‚ľć–śé«”</translation>
+ </message>
+ <message>
+ <source>Any</source>
+ <translation>任何</translation>
+ </message>
+ <message>
+ <source>Latin</source>
+ <translation>拉ä¸</translation>
+ </message>
+ <message>
+ <source>Greek</source>
+ <translation>希č‡</translation>
+ </message>
+ <message>
+ <source>Cyrillic</source>
+ <translation>斯拉夫</translation>
+ </message>
+ <message>
+ <source>Armenian</source>
+ <translation>亞美尼亞</translation>
+ </message>
+ <message>
+ <source>Hebrew</source>
+ <translation>希伯來</translation>
+ </message>
+ <message>
+ <source>Arabic</source>
+ <translation>éżć‹‰äĽŻ</translation>
+ </message>
+ <message>
+ <source>Syriac</source>
+ <translation>ć•ĺ©äşž</translation>
+ </message>
+ <message>
+ <source>Thaana</source>
+ <translation>Thaana</translation>
+ </message>
+ <message>
+ <source>Devanagari</source>
+ <translation>Devanagari</translation>
+ </message>
+ <message>
+ <source>Bengali</source>
+ <translation>孟加拉</translation>
+ </message>
+ <message>
+ <source>Gurmukhi</source>
+ <translation>Gurmukhi</translation>
+ </message>
+ <message>
+ <source>Gujarati</source>
+ <translation>Gujarati</translation>
+ </message>
+ <message>
+ <source>Oriya</source>
+ <translation>Oriya</translation>
+ </message>
+ <message>
+ <source>Tamil</source>
+ <translation>坦米çľ</translation>
+ </message>
+ <message>
+ <source>Telugu</source>
+ <translation>Telugu</translation>
+ </message>
+ <message>
+ <source>Kannada</source>
+ <translation>坎é”é‚Ł</translation>
+ </message>
+ <message>
+ <source>Malayalam</source>
+ <translation>馬來語</translation>
+ </message>
+ <message>
+ <source>Sinhala</source>
+ <translation>錫č­</translation>
+ </message>
+ <message>
+ <source>Thai</source>
+ <translation>泰語</translation>
+ </message>
+ <message>
+ <source>Lao</source>
+ <translation>寮國</translation>
+ </message>
+ <message>
+ <source>Tibetan</source>
+ <translation>西藏</translation>
+ </message>
+ <message>
+ <source>Myanmar</source>
+ <translation>緬甸</translation>
+ </message>
+ <message>
+ <source>Georgian</source>
+ <translation>喬治亞</translation>
+ </message>
+ <message>
+ <source>Khmer</source>
+ <translation>é«ćŁ‰</translation>
+ </message>
+ <message>
+ <source>Simplified Chinese</source>
+ <translation>簡體中文</translation>
+ </message>
+ <message>
+ <source>Traditional Chinese</source>
+ <translation>çąé«”中文</translation>
+ </message>
+ <message>
+ <source>Japanese</source>
+ <translation>日語</translation>
+ </message>
+ <message>
+ <source>Korean</source>
+ <translation>韓語</translation>
+ </message>
+ <message>
+ <source>Vietnamese</source>
+ <translation>越南</translation>
+ </message>
+ <message>
+ <source>Symbol</source>
+ <translation>符號</translation>
+ </message>
+ <message>
+ <source>Ogham</source>
+ <translation>ć­ç”</translation>
+ </message>
+ <message>
+ <source>Runic</source>
+ <translation>盧ć©</translation>
+ </message>
+ <message>
+ <source>N&apos;Ko</source>
+ <translation>N&apos;Ko</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFontDialog</name>
+ <message>
+ <source>&amp;Font</source>
+ <translation>ĺ­—ĺž‹(&amp;F)</translation>
+ </message>
+ <message>
+ <source>Font st&amp;yle</source>
+ <translation>字型樣式(&amp;Y)</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>大小(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Effects</source>
+ <translation>ć•ćžś</translation>
+ </message>
+ <message>
+ <source>Stri&amp;keout</source>
+ <translation>ĺŞé™¤ç·š(&amp;K)</translation>
+ </message>
+ <message>
+ <source>&amp;Underline</source>
+ <translation>ĺş•ç·š(&amp;U)</translation>
+ </message>
+ <message>
+ <source>Sample</source>
+ <translation>範例</translation>
+ </message>
+ <message>
+ <source>Select Font</source>
+ <translation>é¸ć“‡ĺ­—ĺž‹</translation>
+ </message>
+ <message>
+ <source>Wr&amp;iting System</source>
+ <translation>寫入系統(&amp;I)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QFtp</name>
+ <message>
+ <source>Host %1 found</source>
+ <translation>找ĺ°ä¸»ć©ź %1</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>找ĺ°ä¸»ć©ź</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>已連接ĺ°ä¸»ć©ź %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>已連線ĺ°ä¸»ć©ź</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>ĺ° %1 的連線已關閉</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>連線已關閉</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>找不ĺ°ä¸»ć©ź %1</translation>
+ </message>
+ <message>
+ <source>Connection refused to host %1</source>
+ <translation>連線ĺ°ä¸»ć©ź %1 被拒</translation>
+ </message>
+ <message>
+ <source>Connection timed out to host %1</source>
+ <translation>連線ĺ°ä¸»ć©ź %1 逾時</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ <message>
+ <source>Connecting to host failed:
+%1</source>
+ <translation>連線ĺ°ä¸»ć©źĺ¤±ć•—:
+%1</translation>
+ </message>
+ <message>
+ <source>Login failed:
+%1</source>
+ <translation>登入失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Listing directory failed:
+%1</source>
+ <translation>ĺ—出目錄時失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Changing directory failed:
+%1</source>
+ <translation>變更目錄時失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Downloading file failed:
+%1</source>
+ <translation>下載檔ćˇć™‚失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Uploading file failed:
+%1</source>
+ <translation>上傳檔ćˇć™‚失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Removing file failed:
+%1</source>
+ <translation>移除檔ćˇć™‚失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Creating directory failed:
+%1</source>
+ <translation>建立目錄時失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Removing directory failed:
+%1</source>
+ <translation>移除目錄時失敗:
+%1</translation>
+ </message>
+ <message>
+ <source>Not connected</source>
+ <translation>未連線</translation>
+ </message>
+ <message>
+ <source>Connection refused for data connection</source>
+ <translation>資料連線被拒</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfo</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHostInfoAgent</name>
+ <message>
+ <source>Host not found</source>
+ <translation>找不ĺ°ä¸»ć©ź</translation>
+ </message>
+ <message>
+ <source>Unknown address type</source>
+ <translation>未知的位址型態</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>未ćŹäľ›ä¸»ć©źĺŤç¨±</translation>
+ </message>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>主機ĺŤç¨±ç„ˇć•</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttp</name>
+ <message>
+ <source>Connection refused</source>
+ <translation>連線被拒</translation>
+ </message>
+ <message>
+ <source>Host %1 not found</source>
+ <translation>找不ĺ°ä¸»ć©ź %1</translation>
+ </message>
+ <message>
+ <source>Wrong content length</source>
+ <translation>錯誤的內容長度</translation>
+ </message>
+ <message>
+ <source>HTTP request failed</source>
+ <translation>HTTP č¦ć±‚失敗</translation>
+ </message>
+ <message>
+ <source>Host %1 found</source>
+ <translation>找ĺ°ä¸»ć©ź %1</translation>
+ </message>
+ <message>
+ <source>Host found</source>
+ <translation>找ĺ°ä¸»ć©ź</translation>
+ </message>
+ <message>
+ <source>Connected to host %1</source>
+ <translation>已連接ĺ°ä¸»ć©ź %1</translation>
+ </message>
+ <message>
+ <source>Connected to host</source>
+ <translation>已連線ĺ°ä¸»ć©ź</translation>
+ </message>
+ <message>
+ <source>Connection to %1 closed</source>
+ <translation>ĺ° %1 的連線已關閉</translation>
+ </message>
+ <message>
+ <source>Connection closed</source>
+ <translation>連線已關閉</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ <message>
+ <source>Request aborted</source>
+ <translation>č¦ć±‚中止</translation>
+ </message>
+ <message>
+ <source>No server set to connect to</source>
+ <translation>沒有設定č¦é€Łç·šĺ°ĺ“Şĺ€‹äĽşćśŤĺ™¨</translation>
+ </message>
+ <message>
+ <source>Server closed connection unexpectedly</source>
+ <translation>伺服器無é č­¦é—śé–‰é€Łç·š</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP response header</source>
+ <translation>不ĺćł•çš„ HTTP 回覆標頭</translation>
+ </message>
+ <message>
+ <source>Unknown authentication method</source>
+ <translation>不ćŽçš„驗證方法</translation>
+ </message>
+ <message>
+ <source>Invalid HTTP chunked body</source>
+ <translation>不ĺćł•çš„ HTTP 區塊主體</translation>
+ </message>
+ <message>
+ <source>Error writing response to device</source>
+ <translation>寫入回應ĺ°čŁťç˝®ć™‚發生錯誤</translation>
+ </message>
+ <message>
+ <source>Proxy authentication required</source>
+ <translation>代ç†äĽşćśŤĺ™¨éś€č¦čŞŤč­‰</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>需č¦čŞŤč­‰</translation>
+ </message>
+ <message>
+ <source>Proxy requires authentication</source>
+ <translation>代ç†äĽşćśŤĺ™¨éś€č¦čŞŤč­‰</translation>
+ </message>
+ <message>
+ <source>Host requires authentication</source>
+ <translation>主機需č¦čŞŤč­‰</translation>
+ </message>
+ <message>
+ <source>Data corrupted</source>
+ <translation>資料已ćŤćŻ€</translation>
+ </message>
+ <message>
+ <source>SSL handshake failed</source>
+ <translation>SSL 溝通失敗</translation>
+ </message>
+ <message>
+ <source>Unknown protocol specified</source>
+ <translation>指定了未知的協定</translation>
+ </message>
+ <message>
+ <source>Connection refused (or timed out)</source>
+ <translation>連線被拒ďĽć–連線逾時)</translation>
+ </message>
+ <message>
+ <source>HTTPS connection requested but SSL support not compiled in</source>
+ <translation>HTTPS 連線需č¦çš„ SSL 支援並未編譯進來</translation>
+ </message>
+ </context>
+ <context>
+ <name>QHttpSocketEngine</name>
+ <message>
+ <source>Did not receive HTTP response from proxy</source>
+ <translation>未從代ç†äĽşćśŤĺ™¨ćŽĄć”¶ĺ° HTTP 回應</translation>
+ </message>
+ <message>
+ <source>Error parsing authentication request from proxy</source>
+ <translation>剖ćžĺľžä»Łç†äĽşćśŤĺ™¨ĺ‚łäľ†çš„認證č¦ć±‚時發生錯誤</translation>
+ </message>
+ <message>
+ <source>Authentication required</source>
+ <translation>需č¦čŞŤč­‰</translation>
+ </message>
+ <message>
+ <source>Proxy denied connection</source>
+ <translation>代ç†äĽşćśŤĺ™¨ć‹’絕連線</translation>
+ </message>
+ <message>
+ <source>Error communicating with HTTP proxy</source>
+ <translation>č‡ HTTP 代ç†äĽşćśŤĺ™¨čŻçą«ć™‚發生錯誤</translation>
+ </message>
+ <message>
+ <source>Proxy server not found</source>
+ <translation>找不ĺ°ä»Łç†äĽşćśŤĺ™¨</translation>
+ </message>
+ <message>
+ <source>Proxy connection refused</source>
+ <translation>代ç†äĽşćśŤĺ™¨é€Łç·šč˘«ć‹’</translation>
+ </message>
+ <message>
+ <source>Proxy server connection timed out</source>
+ <translation>代ç†äĽşćśŤĺ™¨é€Łç·šé€ľć™‚</translation>
+ </message>
+ <message>
+ <source>Proxy connection closed prematurely</source>
+ <translation>代ç†äĽşćśŤĺ™¨é€Łç·šĺ·˛ä¸Ťć­Łĺ¸¸é—śé–‰</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>開啟資料庫發生錯誤</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>無法開始事務</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>無法反轉事務</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIBaseResult</name>
+ <message>
+ <source>Unable to create BLOB</source>
+ <translation>無法建立 BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to write BLOB</source>
+ <translation>無法寫入 BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to open BLOB</source>
+ <translation>無法開啟 BLOB</translation>
+ </message>
+ <message>
+ <source>Unable to read BLOB</source>
+ <translation>無法讀取 BLOB</translation>
+ </message>
+ <message>
+ <source>Could not find array</source>
+ <translation>找不ĺ°é™Łĺ—</translation>
+ </message>
+ <message>
+ <source>Could not get array data</source>
+ <translation>無法取得陣ĺ—資料</translation>
+ </message>
+ <message>
+ <source>Could not get query info</source>
+ <translation>無法取得查詢資訊</translation>
+ </message>
+ <message>
+ <source>Could not start transaction</source>
+ <translation>無法開始事務</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Could not allocate statement</source>
+ <translation>無法配置ć•čż°</translation>
+ </message>
+ <message>
+ <source>Could not prepare statement</source>
+ <translation>無法準備ć•čż°</translation>
+ </message>
+ <message>
+ <source>Could not describe input statement</source>
+ <translation>無法描述輸入ć•čż°</translation>
+ </message>
+ <message>
+ <source>Could not describe statement</source>
+ <translation>無法描述ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to close statement</source>
+ <translation>無法關閉ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>無法執行查詢</translation>
+ </message>
+ <message>
+ <source>Could not fetch next item</source>
+ <translation>無法抓取下一個項目</translation>
+ </message>
+ <message>
+ <source>Could not get statement info</source>
+ <translation>無法取得ć•čż°čł‡č¨Š</translation>
+ </message>
+ </context>
+ <context>
+ <name>QIODevice</name>
+ <message>
+ <source>Permission denied</source>
+ <translation>權é™ä¸Ťč¶ł</translation>
+ </message>
+ <message>
+ <source>Too many open files</source>
+ <translation>é–‹ĺ•źéŽĺ¤šćŞ”ćˇ</translation>
+ </message>
+ <message>
+ <source>No such file or directory</source>
+ <translation>找不ĺ°č©˛ćŞ”ćˇć–目錄</translation>
+ </message>
+ <message>
+ <source>No space left on device</source>
+ <translation>裝置上已無空間</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputContext</name>
+ <message>
+ <source>XIM</source>
+ <translation>XIM</translation>
+ </message>
+ <message>
+ <source>FEP</source>
+ <translation>FEP</translation>
+ </message>
+ <message>
+ <source>XIM input method</source>
+ <translation>XIM 輸入法</translation>
+ </message>
+ <message>
+ <source>Windows input method</source>
+ <translation>Windows 輸入法</translation>
+ </message>
+ <message>
+ <source>Mac OS X input method</source>
+ <translation>Mac OS X 輸入法</translation>
+ </message>
+ <message>
+ <source>S60 FEP input method</source>
+ <translation>S60 FEP輸入法</translation>
+ </message>
+ </context>
+ <context>
+ <name>QInputDialog</name>
+ <message>
+ <source>Enter a value:</source>
+ <translation>請輸入值:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLibrary</name>
+ <message>
+ <source>Could not mmap &apos;%1&apos;: %2</source>
+ <translation>無法 mmap &apos;%1&apos;:%2</translation>
+ </message>
+ <message>
+ <source>Plugin verification data mismatch in &apos;%1&apos;</source>
+ <translation>在 %1 中的外掛程式確認資料不符ĺ</translation>
+ </message>
+ <message>
+ <source>Could not unmap &apos;%1&apos;: %2</source>
+ <translation>無法 unmap &apos;%1&apos;:%2</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
+ <translation>外掛程式 %1 使用不相容的 Qt 函式庫ďĽ%2.%3.%4)ă€%5】</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
+ <translation>外掛程式 %1 使用不相容的 Qt 函式庫。é ćśźĺ»şć§‹é‘° %2ďĽŚĺŤ»ĺľ—ĺ° %3</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ <message>
+ <source>The shared library was not found.</source>
+ <translation>找不ĺ°ĺ†äş«ĺ‡˝ĺĽŹĺş«</translation>
+ </message>
+ <message>
+ <source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
+ <translation>ćŞ”ćˇ %1 不ćŻĺćł•çš„ Qt 外掛程式。</translation>
+ </message>
+ <message>
+ <source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
+ <translation>外掛程式 %1 使用不相容的 Qt 函式庫。ďĽä¸Ťč˝ĺ°‡é™¤éŚŻč‡é‡‹ĺ‡şç‰çš„函式庫混在一起。)</translation>
+ </message>
+ <message>
+ <source>Cannot load library %1: %2</source>
+ <translation>無法載入函式庫 %1:%2</translation>
+ </message>
+ <message>
+ <source>Cannot unload library %1: %2</source>
+ <translation>無法卸載函式庫 %1:%2</translation>
+ </message>
+ <message>
+ <source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
+ <translation>無法反解 %2 內的符號 %1:%3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLineEdit</name>
+ <message>
+ <source>Select All</source>
+ <translation>ĺ…¨é¨é¸ć“‡</translation>
+ </message>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>復原(&amp;U)</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>重ĺš(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>剪下(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>複製(&amp;C)</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>貼上(&amp;P)</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺŞé™¤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalServer</name>
+ <message>
+ <source>%1: Name error</source>
+ <translation>%1:ĺŤç¨±éŚŻčޤ</translation>
+ </message>
+ <message>
+ <source>%1: Permission denied</source>
+ <translation>%1:ĺ­ĺŹ–被拒</translation>
+ </message>
+ <message>
+ <source>%1: Address in use</source>
+ <translation>%1:位址使用中</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1:未知的錯誤 %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QLocalSocket</name>
+ <message>
+ <source>%1: Connection refused</source>
+ <translation>%1:連線被拒</translation>
+ </message>
+ <message>
+ <source>%1: Remote closed</source>
+ <translation>%1:é ç«Żĺ·˛é—śé–‰</translation>
+ </message>
+ <message>
+ <source>%1: Invalid name</source>
+ <translation>%1:不ĺćł•çš„ĺŤç¨±</translation>
+ </message>
+ <message>
+ <source>%1: Socket access error</source>
+ <translation>%1:Socket 位址錯誤</translation>
+ </message>
+ <message>
+ <source>%1: Socket resource error</source>
+ <translation>%1:Socket 資ćşéŚŻčޤ</translation>
+ </message>
+ <message>
+ <source>%1: Socket operation timed out</source>
+ <translation>%1:Socket 操作逾時</translation>
+ </message>
+ <message>
+ <source>%1: Datagram too large</source>
+ <translation>%1:資料包éŽĺ¤§</translation>
+ </message>
+ <message>
+ <source>%1: Connection error</source>
+ <translation>%1:連線錯誤</translation>
+ </message>
+ <message>
+ <source>%1: The socket operation is not supported</source>
+ <translation>%1:socket 操作未支援</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error</source>
+ <translation>%1:未知的錯誤</translation>
+ </message>
+ <message>
+ <source>%1: Unknown error %2</source>
+ <translation>%1:未知的錯誤 %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLDriver</name>
+ <message>
+ <source>Unable to open database &apos;</source>
+ <translation>無法開啟資料庫</translation>
+ </message>
+ <message>
+ <source>Unable to connect</source>
+ <translation>無法連線</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>無法開始事務</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>無法反轉事務</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMYSQLResult</name>
+ <message>
+ <source>Unable to fetch data</source>
+ <translation>無法抓取資料</translation>
+ </message>
+ <message>
+ <source>Unable to execute query</source>
+ <translation>無法執行查詢</translation>
+ </message>
+ <message>
+ <source>Unable to store result</source>
+ <translation>無法儲ĺ­çµćžś</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>無法準備ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>無法重置ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>無法çµĺ數值</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>無法執行ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to bind outvalues</source>
+ <translation>無法çµĺ輸出值</translation>
+ </message>
+ <message>
+ <source>Unable to store statement results</source>
+ <translation>無法儲ĺ­ć•čż°çµćžś</translation>
+ </message>
+ <message>
+ <source>Unable to execute next query</source>
+ <translation>無法執行下一個查詢</translation>
+ </message>
+ <message>
+ <source>Unable to store next result</source>
+ <translation>無法儲ĺ­ä¸‹ä¸€ĺ€‹çµćžś</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiArea</name>
+ <message>
+ <source>(Untitled)</source>
+ <translation>ďĽćśŞĺ‘˝ĺŤďĽ‰</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMdiSubWindow</name>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>é—śé–‰</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>最小化</translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation>ĺ‘下ć˘ĺľ©</translation>
+ </message>
+ <message>
+ <source>&amp;Restore</source>
+ <translation>回復(&amp;R)</translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation>移動(&amp;M)</translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation>大小(&amp;S)</translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation>最小化(&amp;N)</translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation>最大化(&amp;X)</translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation>留在頂端(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation>é—śé–‰(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Maximize</source>
+ <translation>最大化</translation>
+ </message>
+ <message>
+ <source>Unshade</source>
+ <translation>取ć¶é®č”˝</translation>
+ </message>
+ <message>
+ <source>Shade</source>
+ <translation>é®č”˝</translation>
+ </message>
+ <message>
+ <source>Restore</source>
+ <translation>回復</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>說ćŽ</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>é¸ĺ–®</translation>
+ </message>
+ <message>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenu</name>
+ <message>
+ <source>Close</source>
+ <translation>é—śé–‰</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>é–‹ĺ•ź</translation>
+ </message>
+ <message>
+ <source>Execute</source>
+ <translation>執行</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMenuBar</name>
+ <message>
+ <source>Actions</source>
+ <translation>動作</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMessageBox</name>
+ <message>
+ <source>OK</source>
+ <translation>確定</translation>
+ </message>
+ <message>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;é—ść–ĽQt&lt;/h3&gt;&lt;p&gt;本程式使用Qt %1ç‰ă€‚&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;&lt;p&gt;Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.&lt;/p&gt;&lt;p&gt;Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;QtćŻä¸€ĺĄ—應用於跨平台應用程式開發的C++工具集。&lt;/p&gt;&lt;p&gt;QtćŹäľ›ć©«č·¨MS&amp;nbsp;Windowsă€Mac&amp;nbsp;OS&amp;nbsp;Xă€Linux及ĺ„主č¦ĺ•†ćĄ­Unix系統的單一來ćşç§»ć¤Ťč˝ĺŠ›ă€‚QtäąźćŹäľ›é©ç”¨ć–ĽĺµŚĺ…ĄĺĽŹčŁťç˝®çš„ç‰ćś¬ďĽŚäľ‹ĺ¦‚Qt for Embedded Linuxĺ’ŚQt for Windows CE。&lt;/p&gt;&lt;p&gt;針對不ĺŚä˝żç”¨č€…的需求,Qt有三種不ĺŚćŽć¬Šć–ąĺĽŹă€‚&lt;/p&gt;&lt;p&gt;商業ćŽć¬Šĺ約下的QtćŽć¬Šé©ç”¨ć–Ľĺ°ĺ©/商業軟體的開發,在這種ć…ćłä¸­ďĽŚć‚¨ĺŹŻč˝ä¸Ťćłč‡ç¬¬ä¸‰ć–ąĺ†äş«ä»»ä˝•ĺŽźĺ§‹ç˘Ľć–無法éµĺľžGNU LGPL 2.1ç‰ć–GNU GPL 3.0ç‰çš„條款。&lt;/p&gt;&lt;p&gt;GNU LGPL 2.1ç‰ä¸‹çš„QtćŽć¬Šé©ç”¨ć–Ľé–‹ç™ĽQt應用程式(ĺ°ĺ©ć–開放原始碼),您必é éµĺľžGNU LGPL 2.1ç‰çš„條款č‡ć˘ťä»¶ă€‚&lt;/p&gt;&lt;p&gt;GNU GPL 3.0ç‰ä¸‹çš„QtćŽć¬Šé©ç”¨ć–Ľé–‹ç™ĽQt應用程式,在這種ć…ćłä¸­ďĽŚć‚¨ĺ¸Śćś›ĺ°‡ć­¤ć‡‰ç”¨ç¨‹ĺĽŹć­é…Ťĺźşć–ĽGNU GPL 3.0ç‰é–‹ç™Ľçš„軟體一起使用,ć–您樂意éµĺľžGNU GPL 3.0ç‰çš„條款。&lt;/p&gt;&lt;p&gt;č«‹ĺŹé–±&lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt;,此é éť˘ĺ°Ťć–ĽQtćŽć¬Šćśćś‰ć¦‚略的介紹。&lt;/p&gt;&lt;p&gt;Copyright (C) 2011 諾基亞公司及/ć–ĺ…¶ĺ­ĺ…¬ĺŹ¸ă€‚&lt;/p&gt;&lt;p&gt;QtćŻä¸€é …諾基亞產ĺ“。如需詳細資訊,請ĺŹé–±&lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt;。&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation>é—ść–Ľ Qt</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>說ćŽ</translation>
+ </message>
+ <message>
+ <source>Show Details...</source>
+ <translation>顯示詳ć…...</translation>
+ </message>
+ <message>
+ <source>Hide Details...</source>
+ <translation>隱藏詳ć…...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContext</name>
+ <message>
+ <source>Select IM</source>
+ <translation>é¸ć“‡čĽ¸ĺ…Ąćł•</translation>
+ </message>
+ </context>
+ <context>
+ <name>QMultiInputContextPlugin</name>
+ <message>
+ <source>Multiple input method switcher</source>
+ <translation>多重輸入法ĺ‡ćŹ›ĺ™¨</translation>
+ </message>
+ <message>
+ <source>Multiple input method switcher that uses the context menu of the text widgets</source>
+ <translation>使用文字ĺ…件中的內文é¸ĺ–®çš„多重輸入法ĺ‡ćŹ›ĺ™¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNativeSocketEngine</name>
+ <message>
+ <source>The remote host closed the connection</source>
+ <translation>é ç«Żä¸»ć©źé—śé–‰äş†é€Łç·š</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>網路操作逾時</translation>
+ </message>
+ <message>
+ <source>Out of resources</source>
+ <translation>資ćşä¸Ťč¶ł</translation>
+ </message>
+ <message>
+ <source>Unsupported socket operation</source>
+ <translation>未支援的 socket 操作</translation>
+ </message>
+ <message>
+ <source>Protocol type not supported</source>
+ <translation>協定型態未支援</translation>
+ </message>
+ <message>
+ <source>Invalid socket descriptor</source>
+ <translation>不ĺćł•çš„ socket 描述ĺ­</translation>
+ </message>
+ <message>
+ <source>Network unreachable</source>
+ <translation>無法使用網路</translation>
+ </message>
+ <message>
+ <source>Permission denied</source>
+ <translation>權é™ä¸Ťč¶ł</translation>
+ </message>
+ <message>
+ <source>Connection timed out</source>
+ <translation>連線逾時</translation>
+ </message>
+ <message>
+ <source>Connection refused</source>
+ <translation>連線被拒</translation>
+ </message>
+ <message>
+ <source>The bound address is already in use</source>
+ <translation>çµĺ的位址已經在使用中</translation>
+ </message>
+ <message>
+ <source>The address is not available</source>
+ <translation>無法取得位址</translation>
+ </message>
+ <message>
+ <source>The address is protected</source>
+ <translation>此位址已被保護</translation>
+ </message>
+ <message>
+ <source>Unable to send a message</source>
+ <translation>無法é€ĺ‡şč¨ŠćŻ</translation>
+ </message>
+ <message>
+ <source>Unable to receive a message</source>
+ <translation>無法接收訊ćŻ</translation>
+ </message>
+ <message>
+ <source>Unable to write</source>
+ <translation>無法寫入</translation>
+ </message>
+ <message>
+ <source>Network error</source>
+ <translation>網路錯誤</translation>
+ </message>
+ <message>
+ <source>Another socket is already listening on the same port</source>
+ <translation>另一個 socket 已經在監č˝ĺŚä¸€ĺ€‹é€ŁćŽĄĺź </translation>
+ </message>
+ <message>
+ <source>Unable to initialize non-blocking socket</source>
+ <translation>無法ĺťĺ§‹ĺŚ–éťžé»ć“‹ć€§ socket</translation>
+ </message>
+ <message>
+ <source>Unable to initialize broadcast socket</source>
+ <translation>無法ĺťĺ§‹ĺŚ–廣播 socket</translation>
+ </message>
+ <message>
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
+ <translation>試圖在沒有 IPv6 支援的平台上使用 IPv6 socket</translation>
+ </message>
+ <message>
+ <source>Host unreachable</source>
+ <translation>無法連線ĺ°ä¸»ć©ź</translation>
+ </message>
+ <message>
+ <source>Datagram was too large to send</source>
+ <translation>資料éŽĺ¤§ç„ˇćł•é€ĺ‡ş</translation>
+ </message>
+ <message>
+ <source>Operation on non-socket</source>
+ <translation>對非 socket 操作</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ <message>
+ <source>The proxy type is invalid for this operation</source>
+ <translation>代ç†äĽşćśŤĺ™¨ĺž‹ć…‹ç„ˇćł•ć”ŻćŹ´ć­¤ć“Ťä˝ś</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessCacheBackend</name>
+ <message>
+ <source>Error opening %1</source>
+ <translation>開啟 %1 發生錯誤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessDebugPipeBackend</name>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>寫入%1時發生寫入錯誤:%2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFileBackend</name>
+ <message>
+ <source>Request for opening non-local file %1</source>
+ <translation>č¦ć±‚é–‹ĺ•źéťžćś¬ĺś°ç«ŻćŞ”ćˇ %1</translation>
+ </message>
+ <message>
+ <source>Error opening %1: %2</source>
+ <translation>開啟 %1 發生錯誤:%2</translation>
+ </message>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation>寫入 %1 時發生錯誤:%2</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: Path is a directory</source>
+ <translation>無法開啟 %1:此路徑ćŻä¸€ĺ€‹ç›®éŚ„</translation>
+ </message>
+ <message>
+ <source>Read error reading from %1: %2</source>
+ <translation>從 %1 讀取錯誤:%2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessFtpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>找不ĺ°ĺé©çš„代ç†äĽşćśŤĺ™¨</translation>
+ </message>
+ <message>
+ <source>Cannot open %1: is a directory</source>
+ <translation>無法開啟 %1:ćŻä¸€ĺ€‹ç›®éŚ„</translation>
+ </message>
+ <message>
+ <source>Logging in to %1 failed: authentication required</source>
+ <translation>登入 %1 失敗:需č¦čŞŤč­‰</translation>
+ </message>
+ <message>
+ <source>Error while downloading %1: %2</source>
+ <translation>下載 %1 時發生錯誤:%2</translation>
+ </message>
+ <message>
+ <source>Error while uploading %1: %2</source>
+ <translation>上傳 %1 時發生錯誤:%2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkAccessHttpBackend</name>
+ <message>
+ <source>No suitable proxy found</source>
+ <translation>找不ĺ°ĺé©çš„代ç†äĽşćśŤĺ™¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReply</name>
+ <message>
+ <source>Error downloading %1 - server replied: %2</source>
+ <translation>下載 %1 時發生錯誤─伺服器回應:%2</translation>
+ </message>
+ <message>
+ <source>Protocol &quot;%1&quot; is unknown</source>
+ <translation>未知的協定 %1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QNetworkReplyImpl</name>
+ <message>
+ <source>Operation canceled</source>
+ <translation>取ć¶ć“Ťä˝ś</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIDriver</name>
+ <message>
+ <source>Unable to logon</source>
+ <translation>無法登入</translation>
+ </message>
+ <message>
+ <source>Unable to initialize</source>
+ <comment>QOCIDriver</comment>
+ <translation>無法ĺťĺ§‹ĺŚ–</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>無法開始事務</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>無法反轉事務</translation>
+ </message>
+ </context>
+ <context>
+ <name>QOCIResult</name>
+ <message>
+ <source>Unable to bind column for batch execute</source>
+ <translation>無法çµĺ欄位以ĺšć‰ąć¬ˇĺź·čˇŚ</translation>
+ </message>
+ <message>
+ <source>Unable to execute batch statement</source>
+ <translation>無法執行批次ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to goto next</source>
+ <translation>無法跳ĺ°ä¸‹ä¸€ĺ€‹</translation>
+ </message>
+ <message>
+ <source>Unable to alloc statement</source>
+ <translation>無法配置ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>無法準備ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to get statement type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unable to bind value</source>
+ <translation>無法çµĺ數值</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>無法執行ć•čż°</translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>無法連接</translation>
+ </message>
+ <message>
+ <source>Unable to disable autocommit</source>
+ <translation>無法關閉自動ćŹäş¤ĺŠźč˝</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>無法反轉事務</translation>
+ </message>
+ <message>
+ <source>Unable to enable autocommit</source>
+ <translation>無法開啟自動ćŹäş¤ĺŠźč˝</translation>
+ </message>
+ <message>
+ <source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QODBCResult</name>
+ <message>
+ <source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
+ <translation>QODBCResult::reset: 無法設定 SQL_CURSOR_STATIC ĺšç‚şć•čż°ĺ±¬ć€§ă€‚請檢查您的 ODBC 驅動程式的設定</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>無法執行ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to fetch next</source>
+ <translation>無法抓取下一筆</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>無法準備ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to bind variable</source>
+ <translation>無法çµĺ變數</translation>
+ </message>
+ <message>
+ <source>Unable to fetch last</source>
+ <translation>無法抓取最後一筆</translation>
+ </message>
+ <message>
+ <source>Unable to fetch</source>
+ <translation>無法抓取</translation>
+ </message>
+ <message>
+ <source>Unable to fetch first</source>
+ <translation>無法抓取第一筆</translation>
+ </message>
+ <message>
+ <source>Unable to fetch previous</source>
+ <translation>無法抓取前一筆</translation>
+ </message>
+ </context>
+ <context>
+ <name>QObject</name>
+ <message>
+ <source>Invalid hostname</source>
+ <translation>主機ĺŤç¨±ç„ˇć•</translation>
+ </message>
+ <message>
+ <source>Operation not supported on %1</source>
+ <translation>在 %1 上不支援此操作</translation>
+ </message>
+ <message>
+ <source>Invalid URI: %1</source>
+ <translation>不ĺ法的網址:%1</translation>
+ </message>
+ <message>
+ <source>Socket error on %1: %2</source>
+ <translation>%1 上發生 socket 錯誤:%2</translation>
+ </message>
+ <message>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>ć–Ľ %1 上é ç«Żä¸»ć©źé—śé–‰äş†ä¸Ťć­Łĺ¸¸çš„連線</translation>
+ </message>
+ <message>
+ <source>No host name given</source>
+ <translation>未指定主機</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPPDOptionsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç¨±</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>值</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLDriver</name>
+ <message>
+ <source>Unable to connect</source>
+ <translation>無法連線</translation>
+ </message>
+ <message>
+ <source>Could not begin transaction</source>
+ <translation>無法開始事務</translation>
+ </message>
+ <message>
+ <source>Could not commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Could not rollback transaction</source>
+ <translation>無法反轉事務</translation>
+ </message>
+ <message>
+ <source>Unable to subscribe</source>
+ <translation>無法訂閱</translation>
+ </message>
+ <message>
+ <source>Unable to unsubscribe</source>
+ <translation>無法取ć¶č¨‚é–±</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPSQLResult</name>
+ <message>
+ <source>Unable to create query</source>
+ <translation>無法建立查詢</translation>
+ </message>
+ <message>
+ <source>Unable to prepare statement</source>
+ <translation>無法準備ć•čż°</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPageSetupWidget</name>
+ <message>
+ <source>Centimeters (cm)</source>
+ <translation>ĺ…¬ĺ†</translation>
+ </message>
+ <message>
+ <source>Millimeters (mm)</source>
+ <translation>ĺ…¬ĺŽ</translation>
+ </message>
+ <message>
+ <source>Inches (in)</source>
+ <translation>英ĺ‹</translation>
+ </message>
+ <message>
+ <source>Points (pt)</source>
+ <translation>點</translation>
+ </message>
+ <message>
+ <source>Form</source>
+ <translation>表單</translation>
+ </message>
+ <message>
+ <source>Paper</source>
+ <translation>紙張</translation>
+ </message>
+ <message>
+ <source>Page size:</source>
+ <translation>紙張大小:</translation>
+ </message>
+ <message>
+ <source>Width:</source>
+ <translation>寬度:</translation>
+ </message>
+ <message>
+ <source>Height:</source>
+ <translation>é«ĺş¦ďĽš</translation>
+ </message>
+ <message>
+ <source>Paper source:</source>
+ <translation>紙張來ćşďĽš</translation>
+ </message>
+ <message>
+ <source>Orientation</source>
+ <translation>ć–ąĺ‘</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>縱ĺ‘</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>ć©«ĺ‘</translation>
+ </message>
+ <message>
+ <source>Reverse landscape</source>
+ <translation>反序橫ĺ‘</translation>
+ </message>
+ <message>
+ <source>Reverse portrait</source>
+ <translation>反序縱ĺ‘</translation>
+ </message>
+ <message>
+ <source>Margins</source>
+ <translation>é‚Šç·Ł</translation>
+ </message>
+ <message>
+ <source>top margin</source>
+ <translation>上緣</translation>
+ </message>
+ <message>
+ <source>left margin</source>
+ <translation>左緣</translation>
+ </message>
+ <message>
+ <source>right margin</source>
+ <translation>右緣</translation>
+ </message>
+ <message>
+ <source>bottom margin</source>
+ <translation>下緣</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPluginLoader</name>
+ <message>
+ <source>Unknown error</source>
+ <translation>未知的錯誤</translation>
+ </message>
+ <message>
+ <source>The plugin was not loaded.</source>
+ <translation>外掛程式未載入。</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintDialog</name>
+ <message>
+ <source>locally connected</source>
+ <translation>本地連接</translation>
+ </message>
+ <message>
+ <source>Aliases: %1</source>
+ <translation>ĺĄĺŤďĽš%1</translation>
+ </message>
+ <message>
+ <source>unknown</source>
+ <translation>未知</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation>確定</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>ĺ…¨é¨ĺ—印</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>ĺ—印範圍</translation>
+ </message>
+ <message>
+ <source>A0 (841 x 1189 mm)</source>
+ <translation>A0 (841 x 1189 mm)</translation>
+ </message>
+ <message>
+ <source>A1 (594 x 841 mm)</source>
+ <translation>A1 (594 x 841 mm)</translation>
+ </message>
+ <message>
+ <source>A2 (420 x 594 mm)</source>
+ <translation>A2 (420 x 594 mm)</translation>
+ </message>
+ <message>
+ <source>A3 (297 x 420 mm)</source>
+ <translation>A3 (297 x 420 mm)</translation>
+ </message>
+ <message>
+ <source>A5 (148 x 210 mm)</source>
+ <translation>A5 (148 x 210 mm)</translation>
+ </message>
+ <message>
+ <source>A6 (105 x 148 mm)</source>
+ <translation>A6 (105 x 148 mm)</translation>
+ </message>
+ <message>
+ <source>A7 (74 x 105 mm)</source>
+ <translation>A7 (74 x 105 mm)</translation>
+ </message>
+ <message>
+ <source>A8 (52 x 74 mm)</source>
+ <translation>A8 (52 x 74 mm)</translation>
+ </message>
+ <message>
+ <source>A9 (37 x 52 mm)</source>
+ <translation>A9 (37 x 52 mm)</translation>
+ </message>
+ <message>
+ <source>B0 (1000 x 1414 mm)</source>
+ <translation>B0 (1000 x 1414 mm)</translation>
+ </message>
+ <message>
+ <source>B1 (707 x 1000 mm)</source>
+ <translation>B1 (707 x 1000 mm)</translation>
+ </message>
+ <message>
+ <source>B2 (500 x 707 mm)</source>
+ <translation>B2 (500 x 707 mm)</translation>
+ </message>
+ <message>
+ <source>B3 (353 x 500 mm)</source>
+ <translation>B3 (353 x 500 mm)</translation>
+ </message>
+ <message>
+ <source>B4 (250 x 353 mm)</source>
+ <translation>B4 (250 x 353 mm)</translation>
+ </message>
+ <message>
+ <source>B6 (125 x 176 mm)</source>
+ <translation>B6 (125 x 176 mm)</translation>
+ </message>
+ <message>
+ <source>B7 (88 x 125 mm)</source>
+ <translation>B7 (88 x 125 mm)</translation>
+ </message>
+ <message>
+ <source>B8 (62 x 88 mm)</source>
+ <translation>B8 (62 x 88 mm)</translation>
+ </message>
+ <message>
+ <source>B9 (44 x 62 mm)</source>
+ <translation>B9 (44 x 62 mm)</translation>
+ </message>
+ <message>
+ <source>B10 (31 x 44 mm)</source>
+ <translation>B10 (31 x 44 mm)</translation>
+ </message>
+ <message>
+ <source>C5E (163 x 229 mm)</source>
+ <translation>C5E (163 x 229 mm)</translation>
+ </message>
+ <message>
+ <source>DLE (110 x 220 mm)</source>
+ <translation>DLE (110 x 220 mm)</translation>
+ </message>
+ <message>
+ <source>Folio (210 x 330 mm)</source>
+ <translation>ĺ°Ťé–‹ (210 x 330 mm)</translation>
+ </message>
+ <message>
+ <source>Ledger (432 x 279 mm)</source>
+ <translation>Ledger (432 x 279 mm)</translation>
+ </message>
+ <message>
+ <source>Tabloid (279 x 432 mm)</source>
+ <translation>Tabloid (279 x 432 mm)</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope (105 x 241 mm)</source>
+ <translation>US 常用 10 č™źäżˇĺ° (105x241 mm)</translation>
+ </message>
+ <message>
+ <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
+ <translation>A4 (210 x 297 mm, 8.26 x 11.7 英ĺ‹)</translation>
+ </message>
+ <message>
+ <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
+ <translation>B5 (176 x 250 mm, 6.93 x 9.84 英ĺ‹)</translation>
+ </message>
+ <message>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (7.5 x 10 英ĺ‹, 191 x 254 mm)</translation>
+ </message>
+ <message>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (8.5 x 14 英ĺ‹, 216 x 356 mm)</translation>
+ </message>
+ <message>
+ <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
+ <translation>Letter (8.5 x 11 英ĺ‹, 216 x 279 mm)</translation>
+ </message>
+ <message>
+ <source>Print selection</source>
+ <translation>ĺ—印é¸ć“‡ĺŤ€</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>ĺ—印</translation>
+ </message>
+ <message>
+ <source>Print To File ...</source>
+ <translation>ĺ—印ĺ°ćŞ”ćˇ...</translation>
+ </message>
+ <message>
+ <source>File %1 is not writable.
+Please choose a different file name.</source>
+ <translation>ćŞ”ćˇ %1 無法寫入。
+č«‹é¸ć“‡ĺ…¶ĺ®ćŞ”ĺŤă€‚</translation>
+ </message>
+ <message>
+ <source>%1 already exists.
+Do you want to overwrite it?</source>
+ <translation>%1 ĺ·˛ĺ­ĺś¨ă€‚
+您č¦č¦†ĺŻ«ĺ®ĺ—ŽďĽź</translation>
+ </message>
+ <message>
+ <source>File exists</source>
+ <translation>檔ćˇĺ·˛ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
+ <translation>&lt;qt&gt;您č¦č¦†ĺŻ«ĺ®ĺ—ŽďĽź&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <source>%1 is a directory.
+Please choose a different file name.</source>
+ <translation>%1 ćŻä¸€ĺ€‹ç›®éŚ„。
+č«‹é¸ć“‡ĺ…¶ä»–檔ĺŤă€‚</translation>
+ </message>
+ <message>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>起始數值不č˝ĺ¤§ć–Ľçµćťźć•¸ĺ€Ľ</translation>
+ </message>
+ <message>
+ <source>A0</source>
+ <translation>A0</translation>
+ </message>
+ <message>
+ <source>A1</source>
+ <translation>A1</translation>
+ </message>
+ <message>
+ <source>A2</source>
+ <translation>A2</translation>
+ </message>
+ <message>
+ <source>A3</source>
+ <translation>A3</translation>
+ </message>
+ <message>
+ <source>A4</source>
+ <translation>A4</translation>
+ </message>
+ <message>
+ <source>A5</source>
+ <translation>A5</translation>
+ </message>
+ <message>
+ <source>A6</source>
+ <translation>A6</translation>
+ </message>
+ <message>
+ <source>A7</source>
+ <translation>A7</translation>
+ </message>
+ <message>
+ <source>A8</source>
+ <translation>A8</translation>
+ </message>
+ <message>
+ <source>A9</source>
+ <translation>A9</translation>
+ </message>
+ <message>
+ <source>B0</source>
+ <translation>B0</translation>
+ </message>
+ <message>
+ <source>B1</source>
+ <translation>B1</translation>
+ </message>
+ <message>
+ <source>B2</source>
+ <translation>B2</translation>
+ </message>
+ <message>
+ <source>B3</source>
+ <translation>B3</translation>
+ </message>
+ <message>
+ <source>B4</source>
+ <translation>B4</translation>
+ </message>
+ <message>
+ <source>B5</source>
+ <translation>B5</translation>
+ </message>
+ <message>
+ <source>B6</source>
+ <translation>B6</translation>
+ </message>
+ <message>
+ <source>B7</source>
+ <translation>B7</translation>
+ </message>
+ <message>
+ <source>B8</source>
+ <translation>B8</translation>
+ </message>
+ <message>
+ <source>B9</source>
+ <translation>B9</translation>
+ </message>
+ <message>
+ <source>B10</source>
+ <translation>B10</translation>
+ </message>
+ <message>
+ <source>C5E</source>
+ <translation>C5E</translation>
+ </message>
+ <message>
+ <source>DLE</source>
+ <translation>DLE</translation>
+ </message>
+ <message>
+ <source>Executive</source>
+ <translation>Executive</translation>
+ </message>
+ <message>
+ <source>Folio</source>
+ <translation>Folio</translation>
+ </message>
+ <message>
+ <source>Ledger</source>
+ <translation>Ledger</translation>
+ </message>
+ <message>
+ <source>Legal</source>
+ <translation>Legal</translation>
+ </message>
+ <message>
+ <source>Letter</source>
+ <translation>Letter</translation>
+ </message>
+ <message>
+ <source>Tabloid</source>
+ <translation>Tabloid</translation>
+ </message>
+ <message>
+ <source>US Common #10 Envelope</source>
+ <translation>US Common #10 Envelope</translation>
+ </message>
+ <message>
+ <source>Custom</source>
+ <translation>自訂</translation>
+ </message>
+ <message>
+ <source>&amp;Options &gt;&gt;</source>
+ <translation>操作 (&amp;O) &gt;&gt;</translation>
+ </message>
+ <message>
+ <source>&amp;Options &lt;&lt;</source>
+ <translation>操作 (&amp;O) &lt;&lt;</translation>
+ </message>
+ <message>
+ <source>Print to File (PDF)</source>
+ <translation>ĺ—印ĺ°ćŞ”ćˇďĽPDF)</translation>
+ </message>
+ <message>
+ <source>Print to File (Postscript)</source>
+ <translation>ĺ—印ĺ°ćŞ”ćˇďĽPostscript)</translation>
+ </message>
+ <message>
+ <source>Local file</source>
+ <translation>本地端檔ćˇ</translation>
+ </message>
+ <message>
+ <source>Write %1 file</source>
+ <translation>寫入 %1 檔ćˇ</translation>
+ </message>
+ <message>
+ <source>&amp;Print</source>
+ <translation>ĺ—印(&amp;P)</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPreviewDialog</name>
+ <message>
+ <source>%1%</source>
+ <translation>%1%</translation>
+ </message>
+ <message>
+ <source>Print Preview</source>
+ <translation>ĺ—印é č¦˝</translation>
+ </message>
+ <message>
+ <source>Next page</source>
+ <translation>下一é </translation>
+ </message>
+ <message>
+ <source>Previous page</source>
+ <translation>前一é </translation>
+ </message>
+ <message>
+ <source>First page</source>
+ <translation>第一é </translation>
+ </message>
+ <message>
+ <source>Last page</source>
+ <translation>最後一é </translation>
+ </message>
+ <message>
+ <source>Fit width</source>
+ <translation>符ĺ寬度</translation>
+ </message>
+ <message>
+ <source>Fit page</source>
+ <translation>符ĺé éť˘</translation>
+ </message>
+ <message>
+ <source>Zoom in</source>
+ <translation>放大</translation>
+ </message>
+ <message>
+ <source>Zoom out</source>
+ <translation>縮小</translation>
+ </message>
+ <message>
+ <source>Portrait</source>
+ <translation>縱ĺ‘</translation>
+ </message>
+ <message>
+ <source>Landscape</source>
+ <translation>ć©«ĺ‘</translation>
+ </message>
+ <message>
+ <source>Show single page</source>
+ <translation>顯示單一é éť˘</translation>
+ </message>
+ <message>
+ <source>Show facing pages</source>
+ <translation>顯示ĺ°éť˘</translation>
+ </message>
+ <message>
+ <source>Show overview of all pages</source>
+ <translation>顯示所有é éť˘é č¦˝</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>ĺ—印</translation>
+ </message>
+ <message>
+ <source>Page setup</source>
+ <translation>ĺ—印設定</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>é—śé–‰</translation>
+ </message>
+ <message>
+ <source>Export to PDF</source>
+ <translation>ĺŚŻĺ‡şĺ° PDF 檔</translation>
+ </message>
+ <message>
+ <source>Export to PostScript</source>
+ <translation>ĺŚŻĺ‡şĺ° PostScript 檔</translation>
+ </message>
+ <message>
+ <source>Page Setup</source>
+ <translation>é éť˘č¨­ĺ®š</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintPropertiesWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>表單</translation>
+ </message>
+ <message>
+ <source>Page</source>
+ <translation>é éť˘</translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>進階</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintSettingsOutput</name>
+ <message>
+ <source>Form</source>
+ <translation>表單</translation>
+ </message>
+ <message>
+ <source>Copies</source>
+ <translation>份數</translation>
+ </message>
+ <message>
+ <source>Print range</source>
+ <translation>ĺ—印範圍</translation>
+ </message>
+ <message>
+ <source>Print all</source>
+ <translation>ĺ…¨é¨ĺ—印</translation>
+ </message>
+ <message>
+ <source>Pages from</source>
+ <translation>指定é éť˘ďĽšĺľž</translation>
+ </message>
+ <message>
+ <source>to</source>
+ <translation>ĺ°</translation>
+ </message>
+ <message>
+ <source>Selection</source>
+ <translation>é¸ć“‡ĺŤ€</translation>
+ </message>
+ <message>
+ <source>Output Settings</source>
+ <translation>輸出設定</translation>
+ </message>
+ <message>
+ <source>Copies:</source>
+ <translation>份數:</translation>
+ </message>
+ <message>
+ <source>Collate</source>
+ <translation>校對</translation>
+ </message>
+ <message>
+ <source>Reverse</source>
+ <translation>反ĺ‘</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>é¸é …</translation>
+ </message>
+ <message>
+ <source>Color Mode</source>
+ <translation>顏色模式</translation>
+ </message>
+ <message>
+ <source>Color</source>
+ <translation>顏色</translation>
+ </message>
+ <message>
+ <source>Grayscale</source>
+ <translation>ç°éšŽ</translation>
+ </message>
+ <message>
+ <source>Duplex Printing</source>
+ <translation>雙工ĺ—印</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation>無</translation>
+ </message>
+ <message>
+ <source>Long side</source>
+ <translation>é•·é‚Š</translation>
+ </message>
+ <message>
+ <source>Short side</source>
+ <translation>çź­é‚Š</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPrintWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>表單</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation>印表機</translation>
+ </message>
+ <message>
+ <source>&amp;Name:</source>
+ <translation>ĺŤç¨±(&amp;N):</translation>
+ </message>
+ <message>
+ <source>P&amp;roperties</source>
+ <translation>屬性(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Location:</source>
+ <translation>位置:</translation>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation>é č¦˝</translation>
+ </message>
+ <message>
+ <source>Type:</source>
+ <translation>型態:</translation>
+ </message>
+ <message>
+ <source>Output &amp;file:</source>
+ <translation>輸出檔ćˇ(&amp;F):</translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProcess</name>
+ <message>
+ <source>Could not open input redirection for reading</source>
+ <translation>無法開啟輸入導ĺ‘以讀取</translation>
+ </message>
+ <message>
+ <source>Could not open output redirection for writing</source>
+ <translation>無法開啟輸出導ĺ‘以寫入</translation>
+ </message>
+ <message>
+ <source>Resource error (fork failure): %1</source>
+ <translation>資ćşéŚŻčޤďĽfork 失敗):%1</translation>
+ </message>
+ <message>
+ <source>Process operation timed out</source>
+ <translation>行程操作逾時</translation>
+ </message>
+ <message>
+ <source>Error reading from process</source>
+ <translation>從行程讀取時發生錯誤</translation>
+ </message>
+ <message>
+ <source>Error writing to process</source>
+ <translation>寫入行程時發生錯誤</translation>
+ </message>
+ <message>
+ <source>Process crashed</source>
+ <translation>行程已崩潰</translation>
+ </message>
+ <message>
+ <source>No program defined</source>
+ <translation>未定義程式</translation>
+ </message>
+ <message>
+ <source>Process failed to start: %1</source>
+ <translation>處ç†ĺşŹĺ•źĺ‹•ĺ¤±ć•—:%1</translation>
+ </message>
+ </context>
+ <context>
+ <name>QProgressDialog</name>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ </context>
+ <context>
+ <name>QPushButton</name>
+ <message>
+ <source>Open</source>
+ <translation>é–‹ĺ•ź</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRadioButton</name>
+ <message>
+ <source>Check</source>
+ <translation>ĺ‹ľé¸</translation>
+ </message>
+ </context>
+ <context>
+ <name>QRegExp</name>
+ <message>
+ <source>no error occurred</source>
+ <translation>沒有發生錯誤</translation>
+ </message>
+ <message>
+ <source>disabled feature used</source>
+ <translation>使用已關閉的功č˝</translation>
+ </message>
+ <message>
+ <source>bad char class syntax</source>
+ <translation>錯誤的字ĺ…類ĺĄčŞžćł•</translation>
+ </message>
+ <message>
+ <source>bad lookahead syntax</source>
+ <translation>錯誤的 lookahead 語法</translation>
+ </message>
+ <message>
+ <source>bad repetition syntax</source>
+ <translation>錯誤的重覆語法</translation>
+ </message>
+ <message>
+ <source>invalid octal value</source>
+ <translation>不ĺ法的八進位值</translation>
+ </message>
+ <message>
+ <source>missing left delim</source>
+ <translation>少了左方的區隔符</translation>
+ </message>
+ <message>
+ <source>unexpected end</source>
+ <translation>未é ćśźé‡ĺ°çµĺ°ľ</translation>
+ </message>
+ <message>
+ <source>met internal limit</source>
+ <translation>é‡ĺ°ĺ…§é¨é™ĺ¶</translation>
+ </message>
+ <message>
+ <source>invalid interval</source>
+ <translation>間隔無ć•</translation>
+ </message>
+ <message>
+ <source>invalid category</source>
+ <translation>類ĺĄç„ˇć•</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Driver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>開啟資料庫時發生錯誤</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>無法開始事務</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>無法復原交ć“</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLite2Result</name>
+ <message>
+ <source>Unable to fetch results</source>
+ <translation>無法抓取çµćžś</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>無法執行ć•čż°</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteDriver</name>
+ <message>
+ <source>Error opening database</source>
+ <translation>開啟資料庫發生錯誤</translation>
+ </message>
+ <message>
+ <source>Error closing database</source>
+ <translation>關閉資料庫發生錯誤</translation>
+ </message>
+ <message>
+ <source>Unable to begin transaction</source>
+ <translation>無法開始事務</translation>
+ </message>
+ <message>
+ <source>Unable to commit transaction</source>
+ <translation>無法ćŹäş¤äş‹ĺ‹™</translation>
+ </message>
+ <message>
+ <source>Unable to rollback transaction</source>
+ <translation>無法反轉事務</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSQLiteResult</name>
+ <message>
+ <source>Unable to fetch row</source>
+ <translation>無法抓取ĺ—</translation>
+ </message>
+ <message>
+ <source>Unable to execute statement</source>
+ <translation>無法執行ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to reset statement</source>
+ <translation>無法重置ć•čż°</translation>
+ </message>
+ <message>
+ <source>Unable to bind parameters</source>
+ <translation>無法çµĺĺŹć•¸</translation>
+ </message>
+ <message>
+ <source>Parameter count mismatch</source>
+ <translation>ĺŹć•¸ć•¸é‡Źä¸Ťç¬¦ĺ</translation>
+ </message>
+ <message>
+ <source>No query</source>
+ <translation>沒有查詢</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsModel</name>
+ <message>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>位置</translation>
+ </message>
+ <message>
+ <source>Condition</source>
+ <translation>條件</translation>
+ </message>
+ <message>
+ <source>Ignore-count</source>
+ <translation>忽略次數</translation>
+ </message>
+ <message>
+ <source>Single-shot</source>
+ <translation>單次</translation>
+ </message>
+ <message>
+ <source>Hit-count</source>
+ <translation>叫用次數</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptBreakpointsWidget</name>
+ <message>
+ <source>New</source>
+ <translation>新增</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺŞé™¤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebugger</name>
+ <message>
+ <source>Go to Line</source>
+ <translation>跳至指定行</translation>
+ </message>
+ <message>
+ <source>Line:</source>
+ <translation>行:</translation>
+ </message>
+ <message>
+ <source>Interrupt</source>
+ <translation>插斷</translation>
+ </message>
+ <message>
+ <source>Shift+F5</source>
+ <translation>Shift+F5</translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>繼續</translation>
+ </message>
+ <message>
+ <source>F5</source>
+ <translation>F5</translation>
+ </message>
+ <message>
+ <source>Step Into</source>
+ <translation>é€ć­Ąĺź·čˇŚ</translation>
+ </message>
+ <message>
+ <source>F11</source>
+ <translation>F11</translation>
+ </message>
+ <message>
+ <source>Step Over</source>
+ <translation>不進入函式</translation>
+ </message>
+ <message>
+ <source>F10</source>
+ <translation>F10</translation>
+ </message>
+ <message>
+ <source>Step Out</source>
+ <translation>跳出函式</translation>
+ </message>
+ <message>
+ <source>Shift+F11</source>
+ <translation>Shift+F11</translation>
+ </message>
+ <message>
+ <source>Run to Cursor</source>
+ <translation>執行至游標處</translation>
+ </message>
+ <message>
+ <source>Ctrl+F10</source>
+ <translation>Ctrl+F10</translation>
+ </message>
+ <message>
+ <source>Run to New Script</source>
+ <translation>執行至新指令碼</translation>
+ </message>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>ĺ‡ćŹ›ä¸­ć–·é»ž</translation>
+ </message>
+ <message>
+ <source>F9</source>
+ <translation>F9</translation>
+ </message>
+ <message>
+ <source>Clear Debug Output</source>
+ <translation>清除ĺµéŚŻčĽ¸ĺ‡ş</translation>
+ </message>
+ <message>
+ <source>Clear Error Log</source>
+ <translation>清除錯誤č¨éŚ„</translation>
+ </message>
+ <message>
+ <source>Clear Console</source>
+ <translation>清除主控台</translation>
+ </message>
+ <message>
+ <source>&amp;Find in Script...</source>
+ <translation>在指令碼中尋找(&amp;F)...</translation>
+ </message>
+ <message>
+ <source>Ctrl+F</source>
+ <translation>Ctrl+F</translation>
+ </message>
+ <message>
+ <source>Find &amp;Next</source>
+ <translation>尋找下一個(&amp;N)</translation>
+ </message>
+ <message>
+ <source>F3</source>
+ <translation>F3</translation>
+ </message>
+ <message>
+ <source>Find &amp;Previous</source>
+ <translation>尋找上一個(&amp;P)</translation>
+ </message>
+ <message>
+ <source>Shift+F3</source>
+ <translation>Shift+F3</translation>
+ </message>
+ <message>
+ <source>Ctrl+G</source>
+ <translation>Ctrl+G</translation>
+ </message>
+ <message>
+ <source>Debug</source>
+ <translation>ĺµéŚŻ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerCodeFinderWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>é—śé–‰</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation>上一個</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation>下一個</translation>
+ </message>
+ <message>
+ <source>Case Sensitive</source>
+ <translation>區ĺ†ĺ¤§ĺ°ŹĺŻ«</translation>
+ </message>
+ <message>
+ <source>Whole words</source>
+ <translation>全字</translation>
+ </message>
+ <message>
+ <source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;ćśĺ°‹ĺ·˛çąžĺ›ž</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerLocalsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç¨±</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>值</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptDebuggerStackModel</name>
+ <message>
+ <source>Level</source>
+ <translation>層級</translation>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>ĺŤç¨±</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>位置</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEdit</name>
+ <message>
+ <source>Toggle Breakpoint</source>
+ <translation>ĺ‡ćŹ›ä¸­ć–·é»ž</translation>
+ </message>
+ <message>
+ <source>Disable Breakpoint</source>
+ <translation>ĺśç”¨ä¸­ć–·é»ž</translation>
+ </message>
+ <message>
+ <source>Enable Breakpoint</source>
+ <translation>啟用中斷點</translation>
+ </message>
+ <message>
+ <source>Breakpoint Condition:</source>
+ <translation>中斷點條件:</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptEngineDebugger</name>
+ <message>
+ <source>Loaded Scripts</source>
+ <translation>載入的指令碼</translation>
+ </message>
+ <message>
+ <source>Breakpoints</source>
+ <translation>中斷點</translation>
+ </message>
+ <message>
+ <source>Stack</source>
+ <translation>堆疊</translation>
+ </message>
+ <message>
+ <source>Locals</source>
+ <translation>區域變數</translation>
+ </message>
+ <message>
+ <source>Console</source>
+ <translation>主控台</translation>
+ </message>
+ <message>
+ <source>Debug Output</source>
+ <translation>ĺµéŚŻčĽ¸ĺ‡ş</translation>
+ </message>
+ <message>
+ <source>Error Log</source>
+ <translation>錯誤č¨éŚ„</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>檢視</translation>
+ </message>
+ <message>
+ <source>Qt Script Debugger</source>
+ <translation>Qt指令碼ĺµéŚŻç¨‹ĺĽŹ</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScriptNewBreakpointWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>é—śé–‰</translation>
+ </message>
+ </context>
+ <context>
+ <name>QScrollBar</name>
+ <message>
+ <source>Scroll here</source>
+ <translation>在此捲軸</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>左邊緣</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation>é ‚ç«Ż</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>右邊緣</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>ĺş•ç«Ż</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>é éť˘ĺ·¦ć–ą</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>é éť˘ä¸Šć–ą</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>é éť˘ĺŹłć–ą</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>é éť˘ä¸‹ć–ą</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>往左捲軸</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>往上捲軸</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>往右捲軸</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>往下捲軸</translation>
+ </message>
+ <message>
+ <source>Line up</source>
+ <translation>對上排ĺ—</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>位置</translation>
+ </message>
+ <message>
+ <source>Line down</source>
+ <translation>對下排ĺ—</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSharedMemory</name>
+ <message>
+ <source>%1: create size is less then 0</source>
+ <translation>%1:建立大小小於 0</translation>
+ </message>
+ <message>
+ <source>%1: unable to lock</source>
+ <translation>%1:無法鎖定</translation>
+ </message>
+ <message>
+ <source>%1: unable to unlock</source>
+ <translation>%1:無法解除鎖定</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1:ĺ­ĺŹ–被拒</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1:已ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exists</source>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1:資ćşä¸Ťč¶ł</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1:未知的錯誤 %2</translation>
+ </message>
+ <message>
+ <source>%1: key is empty</source>
+ <translation>%1:鍵值ćŻç©şçš„</translation>
+ </message>
+ <message>
+ <source>%1: ftok failed</source>
+ <translation>%1:ftok 失敗</translation>
+ </message>
+ <message>
+ <source>%1: unable to make key</source>
+ <translation>%1:無法產生鍵值</translation>
+ </message>
+ <message>
+ <source>%1: doesn&apos;t exist</source>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: UNIX key file doesn&apos;t exist</source>
+ <translation>%1:UNIX金鑰檔不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: system-imposed size restrictions</source>
+ <translation>%1:系統大小é™ĺ¶</translation>
+ </message>
+ <message>
+ <source>%1: not attached</source>
+ <translation>%1:未附加</translation>
+ </message>
+ <message>
+ <source>%1: invalid size</source>
+ <translation>%1:不ĺ法的大小</translation>
+ </message>
+ <message>
+ <source>%1: key error</source>
+ <translation>%1:鍵值錯誤</translation>
+ </message>
+ <message>
+ <source>%1: size query failed</source>
+ <translation>%1:大小查詢失敗</translation>
+ </message>
+ <message>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1:無法設定鍵值</translation>
+ </message>
+ </context>
+ <context>
+ <name>QShortcut</name>
+ <message>
+ <source>Space</source>
+ <translation>空白鍵</translation>
+ </message>
+ <message>
+ <source>Esc</source>
+ <translation>Esc</translation>
+ </message>
+ <message>
+ <source>Tab</source>
+ <translation>Tab</translation>
+ </message>
+ <message>
+ <source>Backtab</source>
+ <translation>Backtab</translation>
+ </message>
+ <message>
+ <source>Backspace</source>
+ <translation>Backspace</translation>
+ </message>
+ <message>
+ <source>Return</source>
+ <translation>Return</translation>
+ </message>
+ <message>
+ <source>Enter</source>
+ <translation>Enter</translation>
+ </message>
+ <message>
+ <source>Ins</source>
+ <translation>Ins</translation>
+ </message>
+ <message>
+ <source>Del</source>
+ <translation>Del</translation>
+ </message>
+ <message>
+ <source>Pause</source>
+ <translation>Pause</translation>
+ </message>
+ <message>
+ <source>Print</source>
+ <translation>Print</translation>
+ </message>
+ <message>
+ <source>SysReq</source>
+ <translation>SysReq</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Home</translation>
+ </message>
+ <message>
+ <source>End</source>
+ <translation>End</translation>
+ </message>
+ <message>
+ <source>Left</source>
+ <translation>左鍵</translation>
+ </message>
+ <message>
+ <source>Up</source>
+ <translation>上鍵</translation>
+ </message>
+ <message>
+ <source>Right</source>
+ <translation>右鍵</translation>
+ </message>
+ <message>
+ <source>Down</source>
+ <translation>下鍵</translation>
+ </message>
+ <message>
+ <source>PgUp</source>
+ <translation>PgUp</translation>
+ </message>
+ <message>
+ <source>PgDown</source>
+ <translation>PgDown</translation>
+ </message>
+ <message>
+ <source>CapsLock</source>
+ <translation>大寫鎖定</translation>
+ </message>
+ <message>
+ <source>NumLock</source>
+ <translation>數字鎖定</translation>
+ </message>
+ <message>
+ <source>ScrollLock</source>
+ <translation>捲軸鎖定</translation>
+ </message>
+ <message>
+ <source>Menu</source>
+ <translation>é¸ĺ–®</translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation>說ćŽ</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation>返回</translation>
+ </message>
+ <message>
+ <source>Forward</source>
+ <translation>往前</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <translation>ĺść­˘</translation>
+ </message>
+ <message>
+ <source>Refresh</source>
+ <translation>ĺ·ć–°</translation>
+ </message>
+ <message>
+ <source>Volume Down</source>
+ <translation>音量降低</translation>
+ </message>
+ <message>
+ <source>Volume Mute</source>
+ <translation>éťśéźł</translation>
+ </message>
+ <message>
+ <source>Volume Up</source>
+ <translation>音量ćŹé«</translation>
+ </message>
+ <message>
+ <source>Bass Boost</source>
+ <translation>重低音</translation>
+ </message>
+ <message>
+ <source>Bass Up</source>
+ <translation>Bass Up</translation>
+ </message>
+ <message>
+ <source>Bass Down</source>
+ <translation>Bass Down</translation>
+ </message>
+ <message>
+ <source>Treble Up</source>
+ <translation>Treble Up</translation>
+ </message>
+ <message>
+ <source>Treble Down</source>
+ <translation>Treble Down</translation>
+ </message>
+ <message>
+ <source>Media Play</source>
+ <translation>媒體播放</translation>
+ </message>
+ <message>
+ <source>Media Stop</source>
+ <translation>媒體ĺść­˘</translation>
+ </message>
+ <message>
+ <source>Media Previous</source>
+ <translation>媒體前一首</translation>
+ </message>
+ <message>
+ <source>Media Next</source>
+ <translation>媒體下一首</translation>
+ </message>
+ <message>
+ <source>Media Record</source>
+ <translation>媒體錄音</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>ć‘的最愛</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>Standby</source>
+ <translation>ĺľ…ĺ‘˝</translation>
+ </message>
+ <message>
+ <source>Open URL</source>
+ <translation>開啟網址</translation>
+ </message>
+ <message>
+ <source>Launch Mail</source>
+ <translation>ĺ•źĺ‹•éµä»¶ç¨‹ĺĽŹ</translation>
+ </message>
+ <message>
+ <source>Launch Media</source>
+ <translation>啟動媒體程式</translation>
+ </message>
+ <message>
+ <source>Launch (0)</source>
+ <translation>ĺ•źĺ‹•ďĽ0)</translation>
+ </message>
+ <message>
+ <source>Launch (1)</source>
+ <translation>ĺ•źĺ‹•ďĽ1)</translation>
+ </message>
+ <message>
+ <source>Launch (2)</source>
+ <translation>ĺ•źĺ‹•ďĽ2)</translation>
+ </message>
+ <message>
+ <source>Launch (3)</source>
+ <translation>ĺ•źĺ‹•ďĽ3)</translation>
+ </message>
+ <message>
+ <source>Launch (4)</source>
+ <translation>ĺ•źĺ‹•ďĽ4)</translation>
+ </message>
+ <message>
+ <source>Launch (5)</source>
+ <translation>ĺ•źĺ‹•ďĽ5)</translation>
+ </message>
+ <message>
+ <source>Launch (6)</source>
+ <translation>ĺ•źĺ‹•ďĽ6)</translation>
+ </message>
+ <message>
+ <source>Launch (7)</source>
+ <translation>ĺ•źĺ‹•ďĽ7)</translation>
+ </message>
+ <message>
+ <source>Launch (8)</source>
+ <translation>ĺ•źĺ‹•ďĽ8)</translation>
+ </message>
+ <message>
+ <source>Launch (9)</source>
+ <translation>ĺ•źĺ‹•ďĽ9)</translation>
+ </message>
+ <message>
+ <source>Launch (A)</source>
+ <translation>ĺ•źĺ‹•ďĽA)</translation>
+ </message>
+ <message>
+ <source>Launch (B)</source>
+ <translation>ĺ•źĺ‹•ďĽB)</translation>
+ </message>
+ <message>
+ <source>Launch (C)</source>
+ <translation>ĺ•źĺ‹•ďĽC)</translation>
+ </message>
+ <message>
+ <source>Launch (D)</source>
+ <translation>ĺ•źĺ‹•ďĽD)</translation>
+ </message>
+ <message>
+ <source>Launch (E)</source>
+ <translation>ĺ•źĺ‹•ďĽE)</translation>
+ </message>
+ <message>
+ <source>Launch (F)</source>
+ <translation>ĺ•źĺ‹•ďĽF)</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Up</source>
+ <translation>螢幕亮度ćŹé«</translation>
+ </message>
+ <message>
+ <source>Monitor Brightness Down</source>
+ <translation>螢幕亮度降低</translation>
+ </message>
+ <message>
+ <source>Keyboard Light On/Off</source>
+ <translation>鍵盤ç‡ĺ…‰é–‹/é—ś</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Up</source>
+ <translation>鍵盤亮度ćŹé«</translation>
+ </message>
+ <message>
+ <source>Keyboard Brightness Down</source>
+ <translation>鍵盤亮度降低</translation>
+ </message>
+ <message>
+ <source>Power Off</source>
+ <translation>關閉電ćş</translation>
+ </message>
+ <message>
+ <source>Wake Up</source>
+ <translation>喚醒</translation>
+ </message>
+ <message>
+ <source>Eject</source>
+ <translation>退出</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>螢幕保護</translation>
+ </message>
+ <message>
+ <source>WWW</source>
+ <translation>WWW</translation>
+ </message>
+ <message>
+ <source>Sleep</source>
+ <translation>睡眠</translation>
+ </message>
+ <message>
+ <source>LightBulb</source>
+ <translation>ç‡ćłˇ</translation>
+ </message>
+ <message>
+ <source>Shop</source>
+ <translation>商店</translation>
+ </message>
+ <message>
+ <source>History</source>
+ <translation>č¨éŚ„</translation>
+ </message>
+ <message>
+ <source>Add Favorite</source>
+ <translation>加入ć‘的最愛</translation>
+ </message>
+ <message>
+ <source>Hot Links</source>
+ <translation>熱門連çµ</translation>
+ </message>
+ <message>
+ <source>Adjust Brightness</source>
+ <translation>調整亮度</translation>
+ </message>
+ <message>
+ <source>Finance</source>
+ <translation>財務</translation>
+ </message>
+ <message>
+ <source>Community</source>
+ <translation>社群</translation>
+ </message>
+ <message>
+ <source>Audio Rewind</source>
+ <translation>音訊倒轉</translation>
+ </message>
+ <message>
+ <source>Back Forward</source>
+ <translation>上一個下一個</translation>
+ </message>
+ <message>
+ <source>Application Left</source>
+ <translation>應用程式靠左</translation>
+ </message>
+ <message>
+ <source>Application Right</source>
+ <translation>應用程式靠右</translation>
+ </message>
+ <message>
+ <source>Book</source>
+ <translation>書籍</translation>
+ </message>
+ <message>
+ <source>CD</source>
+ <translation>CD</translation>
+ </message>
+ <message>
+ <source>Calculator</source>
+ <translation>č¨ç®—ć©ź</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>清除</translation>
+ </message>
+ <message>
+ <source>Clear Grab</source>
+ <translation>清除抓取內容</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>é—śé–‰</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>複製</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <translation>剪下</translation>
+ </message>
+ <message>
+ <source>Display</source>
+ <translation>顯示</translation>
+ </message>
+ <message>
+ <source>DOS</source>
+ <translation>DOS</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>文件</translation>
+ </message>
+ <message>
+ <source>Spreadsheet</source>
+ <translation>試算表</translation>
+ </message>
+ <message>
+ <source>Browser</source>
+ <translation>瀏覽器</translation>
+ </message>
+ <message>
+ <source>Game</source>
+ <translation>éŠć˛</translation>
+ </message>
+ <message>
+ <source>Go</source>
+ <translation>ĺ°</translation>
+ </message>
+ <message>
+ <source>iTouch</source>
+ <translation>iTouch</translation>
+ </message>
+ <message>
+ <source>Logoff</source>
+ <translation>登出</translation>
+ </message>
+ <message>
+ <source>Market</source>
+ <translation>市場</translation>
+ </message>
+ <message>
+ <source>Meeting</source>
+ <translation>ćśč­°</translation>
+ </message>
+ <message>
+ <source>Keyboard Menu</source>
+ <translation>鍵盤功č˝čˇ¨</translation>
+ </message>
+ <message>
+ <source>Menu PB</source>
+ <translation>功č˝čˇ¨PB</translation>
+ </message>
+ <message>
+ <source>My Sites</source>
+ <translation>ć‘的網站</translation>
+ </message>
+ <message>
+ <source>News</source>
+ <translation>ć–°čž</translation>
+ </message>
+ <message>
+ <source>Home Office</source>
+ <translation>Home Office</translation>
+ </message>
+ <message>
+ <source>Option</source>
+ <translation>é¸é …</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <translation>貼上</translation>
+ </message>
+ <message>
+ <source>Phone</source>
+ <translation>手機</translation>
+ </message>
+ <message>
+ <source>Reply</source>
+ <translation>回覆</translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <translation>重新載入</translation>
+ </message>
+ <message>
+ <source>Rotate Windows</source>
+ <translation>旋轉視窗</translation>
+ </message>
+ <message>
+ <source>Rotation PB</source>
+ <translation>循環PB</translation>
+ </message>
+ <message>
+ <source>Rotation KB</source>
+ <translation>循環KB</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>儲ĺ­</translation>
+ </message>
+ <message>
+ <source>Send</source>
+ <translation>ĺ‚łé€</translation>
+ </message>
+ <message>
+ <source>Spellchecker</source>
+ <translation>拼字檢查</translation>
+ </message>
+ <message>
+ <source>Split Screen</source>
+ <translation>ĺ†ĺ‰˛ç•«éť˘</translation>
+ </message>
+ <message>
+ <source>Support</source>
+ <translation>支援</translation>
+ </message>
+ <message>
+ <source>Task Panel</source>
+ <translation>工作面板</translation>
+ </message>
+ <message>
+ <source>Terminal</source>
+ <translation>終端機</translation>
+ </message>
+ <message>
+ <source>Tools</source>
+ <translation>ĺ·Ąĺ…·</translation>
+ </message>
+ <message>
+ <source>Travel</source>
+ <translation>旅行</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>視訊</translation>
+ </message>
+ <message>
+ <source>Word Processor</source>
+ <translation>文字處ç†ĺ™¨</translation>
+ </message>
+ <message>
+ <source>XFer</source>
+ <translation>XFer</translation>
+ </message>
+ <message>
+ <source>Zoom In</source>
+ <translation>放大</translation>
+ </message>
+ <message>
+ <source>Zoom Out</source>
+ <translation>縮小</translation>
+ </message>
+ <message>
+ <source>Away</source>
+ <translation>離開</translation>
+ </message>
+ <message>
+ <source>Messenger</source>
+ <translation>Messenger</translation>
+ </message>
+ <message>
+ <source>WebCam</source>
+ <translation>網路攝影機</translation>
+ </message>
+ <message>
+ <source>Mail Forward</source>
+ <translation>éµä»¶č˝‰ĺŻ„</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>圖片</translation>
+ </message>
+ <message>
+ <source>Music</source>
+ <translation>音樂</translation>
+ </message>
+ <message>
+ <source>Battery</source>
+ <translation>電池</translation>
+ </message>
+ <message>
+ <source>Bluetooth</source>
+ <translation>藍牙</translation>
+ </message>
+ <message>
+ <source>Wireless</source>
+ <translation>無線</translation>
+ </message>
+ <message>
+ <source>Ultra Wide Band</source>
+ <translation>超寬頻</translation>
+ </message>
+ <message>
+ <source>Audio Forward</source>
+ <translation>音訊轉é€</translation>
+ </message>
+ <message>
+ <source>Audio Repeat</source>
+ <translation>音訊重複</translation>
+ </message>
+ <message>
+ <source>Audio Random Play</source>
+ <translation>音訊機播放</translation>
+ </message>
+ <message>
+ <source>Subtitle</source>
+ <translation>副標題</translation>
+ </message>
+ <message>
+ <source>Audio Cycle Track</source>
+ <translation>音訊循環軌跡</translation>
+ </message>
+ <message>
+ <source>Time</source>
+ <translation>時間</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation>檢視</translation>
+ </message>
+ <message>
+ <source>Top Menu</source>
+ <translation>上層功č˝čˇ¨</translation>
+ </message>
+ <message>
+ <source>Suspend</source>
+ <translation>ćš«ć­˘</translation>
+ </message>
+ <message>
+ <source>Hibernate</source>
+ <translation>休眠</translation>
+ </message>
+ <message>
+ <source>Print Screen</source>
+ <translation>ĺ—印螢幕</translation>
+ </message>
+ <message>
+ <source>Page Up</source>
+ <translation>往上一é </translation>
+ </message>
+ <message>
+ <source>Page Down</source>
+ <translation>往下一é </translation>
+ </message>
+ <message>
+ <source>Caps Lock</source>
+ <translation>大寫鎖定</translation>
+ </message>
+ <message>
+ <source>Num Lock</source>
+ <translation>數字鎖定</translation>
+ </message>
+ <message>
+ <source>Number Lock</source>
+ <translation>數字鎖定</translation>
+ </message>
+ <message>
+ <source>Scroll Lock</source>
+ <translation>捲軸鎖定</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>插入</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺŞé™¤</translation>
+ </message>
+ <message>
+ <source>Escape</source>
+ <translation>Escape</translation>
+ </message>
+ <message>
+ <source>System Request</source>
+ <translation>系統č¦ć±‚ SysRq</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>é¸ć“‡</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>ćŻ</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>ĺ¦</translation>
+ </message>
+ <message>
+ <source>Context1</source>
+ <translation>內文1</translation>
+ </message>
+ <message>
+ <source>Context2</source>
+ <translation>內文2</translation>
+ </message>
+ <message>
+ <source>Context3</source>
+ <translation>內文3</translation>
+ </message>
+ <message>
+ <source>Context4</source>
+ <translation>內文4</translation>
+ </message>
+ <message>
+ <source>Call</source>
+ <translation>呼叫</translation>
+ </message>
+ <message>
+ <source>Hangup</source>
+ <translation>掛斷</translation>
+ </message>
+ <message>
+ <source>Flip</source>
+ <translation>反轉</translation>
+ </message>
+ <message>
+ <source>Ctrl</source>
+ <translation>Ctrl</translation>
+ </message>
+ <message>
+ <source>Shift</source>
+ <translation>Shift</translation>
+ </message>
+ <message>
+ <source>Alt</source>
+ <translation>Alt</translation>
+ </message>
+ <message>
+ <source>Meta</source>
+ <translation>Meta</translation>
+ </message>
+ <message>
+ <source>+</source>
+ <translation>+</translation>
+ </message>
+ <message>
+ <source>F%1</source>
+ <translation>F%1</translation>
+ </message>
+ <message>
+ <source>Home Page</source>
+ <translation>首é </translation>
+ </message>
+ </context>
+ <context>
+ <name>QSlider</name>
+ <message>
+ <source>Page left</source>
+ <translation>é éť˘ĺ·¦ć–ą</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>é éť˘ä¸Šć–ą</translation>
+ </message>
+ <message>
+ <source>Position</source>
+ <translation>位置</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>é éť˘ĺŹłć–ą</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>é éť˘ä¸‹ć–ą</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSocks5SocketEngine</name>
+ <message>
+ <source>Connection to proxy refused</source>
+ <translation>代ç†äĽşćśŤĺ™¨é€Łç·šč˘«ć‹’</translation>
+ </message>
+ <message>
+ <source>Connection to proxy closed prematurely</source>
+ <translation>代ç†äĽşćśŤĺ™¨é€Łç·šĺ·˛ä¸Ťć­Łĺ¸¸é—śé–‰</translation>
+ </message>
+ <message>
+ <source>Proxy host not found</source>
+ <translation>找不ĺ°ä»Łç†äĽşćśŤĺ™¨</translation>
+ </message>
+ <message>
+ <source>Connection to proxy timed out</source>
+ <translation>代ç†äĽşćśŤĺ™¨é€Łç·šé€ľć™‚</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed</source>
+ <translation>代ç†äĽşćśŤĺ™¨čŞŤč­‰ĺ¤±ć•—</translation>
+ </message>
+ <message>
+ <source>Proxy authentication failed: %1</source>
+ <translation>代ç†äĽşćśŤĺ™¨čŞŤč­‰ĺ¤±ć•—ďĽš%1</translation>
+ </message>
+ <message>
+ <source>SOCKS version 5 protocol error</source>
+ <translation>SOCKS 5 的協定錯誤</translation>
+ </message>
+ <message>
+ <source>General SOCKSv5 server failure</source>
+ <translation>一č¬çš„ SOCKSv5 伺服器錯誤</translation>
+ </message>
+ <message>
+ <source>Connection not allowed by SOCKSv5 server</source>
+ <translation>連線未被 SOCKSv5 伺服器ĺ…許</translation>
+ </message>
+ <message>
+ <source>TTL expired</source>
+ <translation>TTL 逾時</translation>
+ </message>
+ <message>
+ <source>SOCKSv5 command not supported</source>
+ <translation>SOCKSv5 指令未被支援</translation>
+ </message>
+ <message>
+ <source>Address type not supported</source>
+ <translation>位址型態未被支援</translation>
+ </message>
+ <message>
+ <source>Unknown SOCKSv5 proxy error code 0x%1</source>
+ <translation>未知的 SOCKSv5 代ç†äĽşćśŤĺ™¨éŚŻčŞ¤ä»Łç˘Ľ 0x%1</translation>
+ </message>
+ <message>
+ <source>Network operation timed out</source>
+ <translation>網路操作逾時</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSoftKeyManager</name>
+ <message>
+ <source>Ok</source>
+ <translation>確定</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation>é¸ĺŹ–</translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation>完ć</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation>é¸é …</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation>退出</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSpinBox</name>
+ <message>
+ <source>More</source>
+ <translation>更多</translation>
+ </message>
+ <message>
+ <source>Less</source>
+ <translation>čĽĺ°‘</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSql</name>
+ <message>
+ <source>Delete</source>
+ <translation>ĺŞé™¤</translation>
+ </message>
+ <message>
+ <source>Delete this record?</source>
+ <translation>č¦ĺŞé™¤é€™ç­†ç´€éŚ„嗎?</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation>ćŻ</translation>
+ </message>
+ <message>
+ <source>No</source>
+ <translation>ĺ¦</translation>
+ </message>
+ <message>
+ <source>Insert</source>
+ <translation>插入</translation>
+ </message>
+ <message>
+ <source>Update</source>
+ <translation>ć›´ć–°</translation>
+ </message>
+ <message>
+ <source>Save edits?</source>
+ <translation>č¦ĺ„˛ĺ­ç·¨čĽŻéŽçš„內容嗎?</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>取ć¶</translation>
+ </message>
+ <message>
+ <source>Confirm</source>
+ <translation>確認</translation>
+ </message>
+ <message>
+ <source>Cancel your edits?</source>
+ <translation>č¦ĺŹ–ć¶ç·¨čĽŻĺ—ŽďĽź</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSslSocket</name>
+ <message>
+ <source>Unable to write data: %1</source>
+ <translation>無法寫入資料:%1</translation>
+ </message>
+ <message>
+ <source>Unable to decrypt data: %1</source>
+ <translation>無法解密資料:%1</translation>
+ </message>
+ <message>
+ <source>Error while reading: %1</source>
+ <translation>讀取時發生錯誤:%1</translation>
+ </message>
+ <message>
+ <source>Error during SSL handshake: %1</source>
+ <translation>SSL ĺŚć­Ąć™‚發生錯誤:%1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL context (%1)</source>
+ <translation>建立 SSL 內文時發生錯誤ďĽ%1)</translation>
+ </message>
+ <message>
+ <source>Invalid or empty cipher list (%1)</source>
+ <translation>不ĺćł•ć–空白的加密清單ďĽ%1)</translation>
+ </message>
+ <message>
+ <source>Private key does not certify public key, %1</source>
+ <translation>ç§ĺŻ†é‡‘鑰無法認證公開金鑰,%1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session, %1</source>
+ <translation>建立 SSL 工作階段時發生錯誤:%1</translation>
+ </message>
+ <message>
+ <source>Error creating SSL session: %1</source>
+ <translation>建立 SSL 工作階段時發生錯誤:%1</translation>
+ </message>
+ <message>
+ <source>Cannot provide a certificate with no key, %1</source>
+ <translation>沒有金鑰無法ćŹäľ›ć†‘證:%1</translation>
+ </message>
+ <message>
+ <source>Error loading local certificate, %1</source>
+ <translation>載入本地憑證時發生錯誤:%1</translation>
+ </message>
+ <message>
+ <source>Error loading private key, %1</source>
+ <translation>載入ç§é‘°ć™‚發生錯誤:%1</translation>
+ </message>
+ <message>
+ <source>No error</source>
+ <translation>沒有錯誤</translation>
+ </message>
+ <message>
+ <source>The issuer certificate could not be found</source>
+ <translation>找不ĺ°ç™ĽčˇŚč€…憑證</translation>
+ </message>
+ <message>
+ <source>The certificate signature could not be decrypted</source>
+ <translation>無法解密憑證簽ĺŤ</translation>
+ </message>
+ <message>
+ <source>The public key in the certificate could not be read</source>
+ <translation>憑證中的公開金鑰無法讀取</translation>
+ </message>
+ <message>
+ <source>The signature of the certificate is invalid</source>
+ <translation>憑證的簽ĺŤç„ˇć•</translation>
+ </message>
+ <message>
+ <source>The certificate is not yet valid</source>
+ <translation>憑證尚未生ć•</translation>
+ </message>
+ <message>
+ <source>The certificate has expired</source>
+ <translation>憑證已逾期</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notBefore field contains an invalid time</source>
+ <translation>憑證的notBefore欄位包ĺ«ç„ˇć•çš„時間</translation>
+ </message>
+ <message>
+ <source>The certificate&apos;s notAfter field contains an invalid time</source>
+ <translation>憑證的notAfter欄位包ĺ«ç„ˇć•çš„時間</translation>
+ </message>
+ <message>
+ <source>The certificate is self-signed, and untrusted</source>
+ <translation>憑證ćŻč‡Şć‘簽署的,而且不受信任</translation>
+ </message>
+ <message>
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
+ <translation>憑證éŹçš„根憑證ćŻč‡Şć‘簽署的,而且不受信任</translation>
+ </message>
+ <message>
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
+ <translation>找不ĺ°ćś¬ć©źćźĄč©˘ć†‘證的發行者憑證</translation>
+ </message>
+ <message>
+ <source>No certificates could be verified</source>
+ <translation>沒有可確認的憑證</translation>
+ </message>
+ <message>
+ <source>One of the CA certificates is invalid</source>
+ <translation>CA憑證的其中之一無ć•</translation>
+ </message>
+ <message>
+ <source>The basicConstraints path length parameter has been exceeded</source>
+ <translation>basicConstraints路徑長度ĺŹć•¸ĺ·˛č¶…出é™ĺ¶</translation>
+ </message>
+ <message>
+ <source>The supplied certificate is unsuitable for this purpose</source>
+ <translation>ćŹäľ›çš„憑證不é©ç”¨ć–Ľć­¤ç›®çš„</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is not trusted for this purpose</source>
+ <translation>根CA憑證在此目的中不受信任</translation>
+ </message>
+ <message>
+ <source>The root CA certificate is marked to reject the specified purpose</source>
+ <translation>ć ąCA憑證已註č¨ć‹’絕該特定目的</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
+ <translation>目前候é¸ç™ĽčˇŚč€…的憑證已é­ć‹’絕,因為其主旨ĺŤç¨±ĺ’Śç›®ĺ‰Ťć†‘證的發行者ĺŤç¨±ä¸Ťç¬¦</translation>
+ </message>
+ <message>
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
+ <translation>目前候é¸ç™ĽčˇŚč€…的憑證已é­ć‹’絕,因為其發行者ĺŤç¨±ĺŹŠćŹĺ‡şçš„序號和目前憑證的ćŽć¬Šĺ–®ä˝Ťé‡‘é‘°č­ĺĄĺ…不符</translation>
+ </message>
+ <message>
+ <source>The peer did not present any certificate</source>
+ <translation>對等節點未ćŹĺ‡şä»»ä˝•ć†‘č­‰</translation>
+ </message>
+ <message>
+ <source>The host name did not match any of the valid hosts for this certificate</source>
+ <translation>主機ĺŤç¨±ä¸Ťç¬¦ĺ此憑證任何有ć•çš„主機</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>不ćŽçš„錯誤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QStateMachine</name>
+ <message>
+ <source>Missing initial state in compound state &apos;%1&apos;</source>
+ <translation>在複ĺ狀態&quot;%1&quot;中éşĺ¤±ĺťĺ§‹ç‹€ć…‹</translation>
+ </message>
+ <message>
+ <source>Missing default state in history state &apos;%1&apos;</source>
+ <translation>在č¨éŚ„狀態&quot;%1&quot;中éşĺ¤±é č¨­ç‹€ć…‹</translation>
+ </message>
+ <message>
+ <source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
+ <translation>從狀態&quot;%1&quot;的轉換中,目標和來ćşć˛’有共ĺŚçš„上階</translation>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation>不ćŽçš„錯誤</translation>
+ </message>
+ </context>
+ <context>
+ <name>QSystemSemaphore</name>
+ <message>
+ <source>%1: does not exist</source>
+ <translation>%1:不ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: out of resources</source>
+ <translation>%1:資ćşä¸Ťč¶ł</translation>
+ </message>
+ <message>
+ <source>%1: permission denied</source>
+ <translation>%1:ĺ­ĺŹ–被拒</translation>
+ </message>
+ <message>
+ <source>%1: already exists</source>
+ <translation>%1:已ĺ­ĺś¨</translation>
+ </message>
+ <message>
+ <source>%1: unknown error %2</source>
+ <translation>%1:未知的錯誤 %2</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTDSDriver</name>
+ <message>
+ <source>Unable to open connection</source>
+ <translation>無法開啟連線</translation>
+ </message>
+ <message>
+ <source>Unable to use database</source>
+ <translation>無法使用資料庫</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTabBar</name>
+ <message>
+ <source>Scroll Left</source>
+ <translation>往左捲軸</translation>
+ </message>
+ <message>
+ <source>Scroll Right</source>
+ <translation>往右捲軸</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTcpServer</name>
+ <message>
+ <source>Operation on socket is not supported</source>
+ <translation>Socket 的操作未被支援</translation>
+ </message>
+ </context>
+ <context>
+ <name>QTextControl</name>
+ <message>
+ <source>&amp;Undo</source>
+ <translation>復原(&amp;U)</translation>
+ </message>
+ <message>
+ <source>&amp;Redo</source>
+ <translation>重ĺš(&amp;R)</translation>
+ </message>
+ <message>
+ <source>Cu&amp;t</source>
+ <translation>剪下(&amp;T)</translation>
+ </message>
+ <message>
+ <source>&amp;Copy</source>
+ <translation>複製(&amp;C)</translation>
+ </message>
+ <message>
+ <source>Copy &amp;Link Location</source>
+ <translation>複製連çµä˝Ťĺť€(&amp;L)</translation>
+ </message>
+ <message>
+ <source>&amp;Paste</source>
+ <translation>貼上(&amp;P)</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>ĺŞé™¤</translation>
+ </message>
+ <message>
+ <source>Select All</source>
+ <translation>ĺ…¨é¨é¸ć“‡</translation>
+ </message>
+ </context>
+ <context>
+ <name>QToolButton</name>
+ <message>
+ <source>Press</source>
+ <translation>按下</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>é–‹ĺ•ź</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUdpSocket</name>
+ <message>
+ <source>This platform does not support IPv6</source>
+ <translation>此平台不支援 IPv6</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoGroup</name>
+ <message>
+ <source>Undo</source>
+ <translation>復原</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>重ĺš</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoModel</name>
+ <message>
+ <source>&lt;empty&gt;</source>
+ <translation><空白></translation>
+ </message>
+ </context>
+ <context>
+ <name>QUndoStack</name>
+ <message>
+ <source>Undo</source>
+ <translation>復原</translation>
+ </message>
+ <message>
+ <source>Redo</source>
+ <translation>重ĺš</translation>
+ </message>
+ </context>
+ <context>
+ <name>QUnicodeControlCharacterMenu</name>
+ <message>
+ <source>LRM Left-to-right mark</source>
+ <translation>LRM ĺ·¦ĺ°ĺŹłć¨™č¨</translation>
+ </message>
+ <message>
+ <source>RLM Right-to-left mark</source>
+ <translation>RLM 右ĺ°ĺ·¦ć¨™č¨</translation>
+ </message>
+ <message>
+ <source>ZWJ Zero width joiner</source>
+ <translation>ZWJ 零寬度連接器</translation>
+ </message>
+ <message>
+ <source>ZWNJ Zero width non-joiner</source>
+ <translation>ZWNJ 零寬度非連接器</translation>
+ </message>
+ <message>
+ <source>ZWSP Zero width space</source>
+ <translation>ZWSP 零寬度空白</translation>
+ </message>
+ <message>
+ <source>LRE Start of left-to-right embedding</source>
+ <translation>LRE ĺ·¦ĺ°ĺŹłĺµŚĺ…Ąčµ·é»ž</translation>
+ </message>
+ <message>
+ <source>RLE Start of right-to-left embedding</source>
+ <translation>RLE 右ĺ°ĺ·¦ĺµŚĺ…Ąčµ·é»ž</translation>
+ </message>
+ <message>
+ <source>LRO Start of left-to-right override</source>
+ <translation>LRO ĺ·¦ĺ°ĺŹłč¦†ĺŻ«čµ·é»ž</translation>
+ </message>
+ <message>
+ <source>RLO Start of right-to-left override</source>
+ <translation>RLO 右ĺ°ĺ·¦č¦†ĺŻ«čµ·é»ž</translation>
+ </message>
+ <message>
+ <source>PDF Pop directional formatting</source>
+ <translation>PDF ĺ˝ĺ‡şć–ąĺ‘格式</translation>
+ </message>
+ <message>
+ <source>Insert Unicode control character</source>
+ <translation>插入č¬ĺś‹ç˘ĽćŽ§ĺ¶ĺ­—ĺ…</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebFrame</name>
+ <message>
+ <source>Request cancelled</source>
+ <translation>請求已取ć¶</translation>
+ </message>
+ <message>
+ <source>Request blocked</source>
+ <translation>請求已被é»ć“‹</translation>
+ </message>
+ <message>
+ <source>Cannot show URL</source>
+ <translation>無法顯示網址</translation>
+ </message>
+ <message>
+ <source>Frame load interrupted by policy change</source>
+ <translation>框架載入因為原則變更而中斷</translation>
+ </message>
+ <message>
+ <source>Cannot show mimetype</source>
+ <translation>無法顯示 MIME 型態</translation>
+ </message>
+ <message>
+ <source>File does not exist</source>
+ <translation>檔ćˇä¸Ťĺ­ĺś¨</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWebPage</name>
+ <message>
+ <source>Submit</source>
+ <comment>default label for Submit buttons in forms on web pages</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Submit</source>
+ <comment>Submit (input element) alt text for &lt;input&gt; elements with no alt, title, or value</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reset</source>
+ <comment>default label for Reset buttons in forms on web pages</comment>
+ <translation>重置</translation>
+ </message>
+ <message>
+ <source>Choose File</source>
+ <comment>title for file button used in HTML forms</comment>
+ <translation>é¸ć“‡ćŞ”ćˇ</translation>
+ </message>
+ <message>
+ <source>No file selected</source>
+ <comment>text to display in file button used in HTML forms when no file is selected</comment>
+ <translation>未é¸ĺŹ–任何檔ćˇ</translation>
+ </message>
+ <message>
+ <source>Open in New Window</source>
+ <comment>Open in New Window context menu item</comment>
+ <translation>在新視窗開啟</translation>
+ </message>
+ <message>
+ <source>Save Link...</source>
+ <comment>Download Linked File context menu item</comment>
+ <translation>儲ĺ­é€Łçµ...</translation>
+ </message>
+ <message>
+ <source>Copy Link</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>複製連çµ</translation>
+ </message>
+ <message>
+ <source>Open Image</source>
+ <comment>Open Image in New Window context menu item</comment>
+ <translation>é–‹ĺ•źĺ˝±ĺŹ</translation>
+ </message>
+ <message>
+ <source>Save Image</source>
+ <comment>Download Image context menu item</comment>
+ <translation>儲ĺ­ĺ˝±ĺŹ</translation>
+ </message>
+ <message>
+ <source>Copy Image</source>
+ <comment>Copy Link context menu item</comment>
+ <translation>複製影ĺŹ</translation>
+ </message>
+ <message>
+ <source>Open Frame</source>
+ <comment>Open Frame in New Window context menu item</comment>
+ <translation>開啟框架</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <comment>Copy context menu item</comment>
+ <translation>複製</translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <comment>Back context menu item</comment>
+ <translation>往回</translation>
+ </message>
+ <message>
+ <source>Go Forward</source>
+ <comment>Forward context menu item</comment>
+ <translation>往前</translation>
+ </message>
+ <message>
+ <source>Stop</source>
+ <comment>Stop context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reload</source>
+ <comment>Reload context menu item</comment>
+ <translation>重新載入</translation>
+ </message>
+ <message>
+ <source>Cut</source>
+ <comment>Cut context menu item</comment>
+ <translation>剪下</translation>
+ </message>
+ <message>
+ <source>Paste</source>
+ <comment>Paste context menu item</comment>
+ <translation>貼上</translation>
+ </message>
+ <message>
+ <source>No Guesses Found</source>
+ <comment>No Guesses Found context menu item</comment>
+ <translation>找不ĺ°ĺŹŻč˝çš„內容</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Spelling context menu item</comment>
+ <translation>忽略</translation>
+ </message>
+ <message>
+ <source>Add To Dictionary</source>
+ <comment>Learn Spelling context menu item</comment>
+ <translation>新增ĺ°ĺ­—ĺ…¸</translation>
+ </message>
+ <message>
+ <source>Search The Web</source>
+ <comment>Search The Web context menu item</comment>
+ <translation>ćśĺ°‹ç«™ĺŹ°</translation>
+ </message>
+ <message>
+ <source>Look Up In Dictionary</source>
+ <comment>Look Up in Dictionary context menu item</comment>
+ <translation>在字典裡ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <comment>Open Link context menu item</comment>
+ <translation>開啟連çµ</translation>
+ </message>
+ <message>
+ <source>Ignore</source>
+ <comment>Ignore Grammar context menu item</comment>
+ <translation>忽略</translation>
+ </message>
+ <message>
+ <source>Spelling</source>
+ <comment>Spelling and Grammar context sub-menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Show Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Hide Spelling and Grammar</source>
+ <comment>menu item title</comment>
+ <translation>隱藏拼字č‡ć–‡ćł•</translation>
+ </message>
+ <message>
+ <source>Check Spelling</source>
+ <comment>Check spelling context menu item</comment>
+ <translation>檢查拼字</translation>
+ </message>
+ <message>
+ <source>Check Spelling While Typing</source>
+ <comment>Check spelling while typing context menu item</comment>
+ <translation>打字時立即檢查拼字</translation>
+ </message>
+ <message>
+ <source>Check Grammar With Spelling</source>
+ <comment>Check grammar with spelling context menu item</comment>
+ <translation>檢查拼字č‡ć–‡ćł•</translation>
+ </message>
+ <message>
+ <source>Fonts</source>
+ <comment>Font context sub-menu item</comment>
+ <translation>ĺ­—ĺž‹</translation>
+ </message>
+ <message>
+ <source>Bold</source>
+ <comment>Bold context menu item</comment>
+ <translation>粗體</translation>
+ </message>
+ <message>
+ <source>Italic</source>
+ <comment>Italic context menu item</comment>
+ <translation>ć–śé«”</translation>
+ </message>
+ <message>
+ <source>Underline</source>
+ <comment>Underline context menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Outline</source>
+ <comment>Outline context menu item</comment>
+ <translation>外框線</translation>
+ </message>
+ <message>
+ <source>Direction</source>
+ <comment>Writing direction context sub-menu item</comment>
+ <translation>ć–ąĺ‘</translation>
+ </message>
+ <message>
+ <source>Text Direction</source>
+ <comment>Text direction context sub-menu item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Default</source>
+ <comment>Default writing direction context menu item</comment>
+ <translation>é č¨­</translation>
+ </message>
+ <message>
+ <source>Left to Right</source>
+ <comment>Left to Right context menu item</comment>
+ <translation>從左至右</translation>
+ </message>
+ <message>
+ <source>Right to Left</source>
+ <comment>Right to Left context menu item</comment>
+ <translation>從右至左</translation>
+ </message>
+ <message>
+ <source>Loading...</source>
+ <comment>Media controller status message when the media is loading</comment>
+ <translation>載入中...</translation>
+ </message>
+ <message>
+ <source>Live Broadcast</source>
+ <comment>Media controller status message when watching a live broadcast</comment>
+ <translation>即時廣播</translation>
+ </message>
+ <message>
+ <source>Audio Element</source>
+ <comment>Media controller element</comment>
+ <translation>音訊ĺ…ç´ </translation>
+ </message>
+ <message>
+ <source>Video Element</source>
+ <comment>Media controller element</comment>
+ <translation>視訊ĺ…ç´ </translation>
+ </message>
+ <message>
+ <source>Mute Button</source>
+ <comment>Media controller element</comment>
+ <translation>靜音按é•</translation>
+ </message>
+ <message>
+ <source>Unmute Button</source>
+ <comment>Media controller element</comment>
+ <translation>取ć¶éťśéźłćŚ‰é•</translation>
+ </message>
+ <message>
+ <source>Play Button</source>
+ <comment>Media controller element</comment>
+ <translation>播放按é•</translation>
+ </message>
+ <message>
+ <source>Pause Button</source>
+ <comment>Media controller element</comment>
+ <translation>ćš«ĺśćŚ‰é•</translation>
+ </message>
+ <message>
+ <source>Slider</source>
+ <comment>Media controller element</comment>
+ <translation>滑桿</translation>
+ </message>
+ <message>
+ <source>Slider Thumb</source>
+ <comment>Media controller element</comment>
+ <translation>滑桿縮圖</translation>
+ </message>
+ <message>
+ <source>Rewind Button</source>
+ <comment>Media controller element</comment>
+ <translation>倒轉按é•</translation>
+ </message>
+ <message>
+ <source>Return to Real-time Button</source>
+ <comment>Media controller element</comment>
+ <translation>回復ć即時按é•</translation>
+ </message>
+ <message>
+ <source>Elapsed Time</source>
+ <comment>Media controller element</comment>
+ <translation>經éŽć™‚é–“</translation>
+ </message>
+ <message>
+ <source>Remaining Time</source>
+ <comment>Media controller element</comment>
+ <translation>剩é¤ć™‚é–“</translation>
+ </message>
+ <message>
+ <source>Status Display</source>
+ <comment>Media controller element</comment>
+ <translation>狀態顯示</translation>
+ </message>
+ <message>
+ <source>Fullscreen Button</source>
+ <comment>Media controller element</comment>
+ <translation>全螢幕按é•</translation>
+ </message>
+ <message>
+ <source>Seek Forward Button</source>
+ <comment>Media controller element</comment>
+ <translation>往前ćśĺ°‹ćŚ‰é•</translation>
+ </message>
+ <message>
+ <source>Seek Back Button</source>
+ <comment>Media controller element</comment>
+ <translation>往回ćśĺ°‹ćŚ‰é•</translation>
+ </message>
+ <message>
+ <source>Audio element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>音訊ĺ…素播放控ĺ¶ĺ’Śç‹€ć…‹éˇŻç¤ş</translation>
+ </message>
+ <message>
+ <source>Video element playback controls and status display</source>
+ <comment>Media controller element</comment>
+ <translation>視訊ĺ…素播放控ĺ¶ĺ’Śç‹€ć…‹éˇŻç¤ş</translation>
+ </message>
+ <message>
+ <source>Mute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>音軌靜音</translation>
+ </message>
+ <message>
+ <source>Unmute audio tracks</source>
+ <comment>Media controller element</comment>
+ <translation>音軌取ć¶éťśéźł</translation>
+ </message>
+ <message>
+ <source>Begin playback</source>
+ <comment>Media controller element</comment>
+ <translation>開始播放</translation>
+ </message>
+ <message>
+ <source>Pause playback</source>
+ <comment>Media controller element</comment>
+ <translation>ćš«ĺść’­ć”ľ</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber</source>
+ <comment>Media controller element</comment>
+ <translation>影片時間清除器</translation>
+ </message>
+ <message>
+ <source>Movie time scrubber thumb</source>
+ <comment>Media controller element</comment>
+ <translation>影片時間清除器縮圖</translation>
+ </message>
+ <message>
+ <source>Rewind movie</source>
+ <comment>Media controller element</comment>
+ <translation>倒轉影片</translation>
+ </message>
+ <message>
+ <source>Return streaming movie to real-time</source>
+ <comment>Media controller element</comment>
+ <translation>串ćµĺ˝±ç‰‡ĺ›žĺľ©ć即時播放</translation>
+ </message>
+ <message>
+ <source>Current movie time</source>
+ <comment>Media controller element</comment>
+ <translation>目前的影片時間</translation>
+ </message>
+ <message>
+ <source>Remaining movie time</source>
+ <comment>Media controller element</comment>
+ <translation>剩é¤çš„影片時間</translation>
+ </message>
+ <message>
+ <source>Current movie status</source>
+ <comment>Media controller element</comment>
+ <translation>目前的影片狀態</translation>
+ </message>
+ <message>
+ <source>Play movie in full-screen mode</source>
+ <comment>Media controller element</comment>
+ <translation>以全螢幕模式播放影片</translation>
+ </message>
+ <message>
+ <source>Seek quickly back</source>
+ <comment>Media controller element</comment>
+ <translation>快速往回ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>Seek quickly forward</source>
+ <comment>Media controller element</comment>
+ <translation>快速往前ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>Indefinite time</source>
+ <comment>Media time description</comment>
+ <translation>不é™ĺ®šć™‚é–“</translation>
+ </message>
+ <message>
+ <source>%1 days %2 hours %3 minutes %4 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1天%2小時%3ĺ†é%4秒é</translation>
+ </message>
+ <message>
+ <source>%1 hours %2 minutes %3 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1小時%2ĺ†é%3秒é</translation>
+ </message>
+ <message>
+ <source>%1 minutes %2 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1ĺ†é%2秒é</translation>
+ </message>
+ <message>
+ <source>%1 seconds</source>
+ <comment>Media time description</comment>
+ <translation>%1秒é</translation>
+ </message>
+ <message>
+ <source>Inspect</source>
+ <comment>Inspect Element context menu item</comment>
+ <translation>查驗</translation>
+ </message>
+ <message>
+ <source>No recent searches</source>
+ <comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
+ <translation>沒有最近的ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>Recent searches</source>
+ <comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
+ <translation>最近的ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>Clear recent searches</source>
+ <comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
+ <translation>清除最近的ćśĺ°‹</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <comment>Unknown filesize FTP directory listing item</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Web Inspector - %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 (%2x%3 pixels)</source>
+ <comment>Title string for images</comment>
+ <translation>%1ďĽ%2x%3 ĺŹç´ ďĽ‰</translation>
+ </message>
+ <message>
+ <source>Bad HTTP request</source>
+ <translation>不良的 HTTP 請求</translation>
+ </message>
+ <message>
+ <source>This is a searchable index. Enter search keywords: </source>
+ <comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Scroll here</source>
+ <translation>在此捲軸</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation>左邊緣</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation>右邊緣</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation>ĺş•ç«Ż</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation>é éť˘ĺ·¦ć–ą</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation>é éť˘ä¸Šć–ą</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation>é éť˘ĺŹłć–ą</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation>é éť˘ä¸‹ć–ą</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation>往左捲軸</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation>往上捲軸</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation>往右捲軸</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation>往下捲軸</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n file(s)</source>
+ <comment>number of chosen file</comment>
+ <translation>
+ <numerusform>%n 個檔ćˇ</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>JavaScript Alert - %1</source>
+ <translation>JavaScript 警告 ─ %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Confirm - %1</source>
+ <translation>JavaScript 確認 ─ %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Prompt - %1</source>
+ <translation>JavaScript ćŹç¤ş ─ %1</translation>
+ </message>
+ <message>
+ <source>JavaScript Problem - %1</source>
+ <translation>JavaScript問題 - %1</translation>
+ </message>
+ <message>
+ <source>The script on this page appears to have a problem. Do you want to stop the script?</source>
+ <translation>ć­¤é éť˘ä¸Šçš„指令碼似乎有問題。ćŻĺ¦č¦ĺść­˘ćŚ‡ä»¤ç˘ĽďĽź</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next character</source>
+ <translation>移動游標ĺ°ä¸‹ä¸€ĺ€‹ĺ­—ĺ…</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous character</source>
+ <translation>移動游標ĺ°ĺ‰Ťä¸€ĺ€‹ĺ­—ĺ…</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next word</source>
+ <translation>移動游標ĺ°ä¸‹ä¸€ĺ€‹ĺ–®ĺ­—</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous word</source>
+ <translation>移動游標ĺ°ĺ‰Ťä¸€ĺ€‹ĺ–®ĺ­—</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the next line</source>
+ <translation>移動游標ĺ°ä¸‹ä¸€čˇŚ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the previous line</source>
+ <translation>移動游標ĺ°ĺ‰Ťä¸€čˇŚ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the line</source>
+ <translation>移動游標ĺ°é€™ä¸€čˇŚçš„čµ·é ­</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the line</source>
+ <translation>移動游標ĺ°é€™ä¸€čˇŚçš„çµĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the block</source>
+ <translation>移動游標ĺ°é€™ä¸€ĺ€‹ĺŤ€ĺˇŠçš„čµ·é ­</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the block</source>
+ <translation>移動游標ĺ°é€™ä¸€ĺ€‹ĺŤ€ĺˇŠçš„çµĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the start of the document</source>
+ <translation>移動游標ĺ°é€™ä¸€ĺ€‹ć–‡ä»¶çš„čµ·é ­</translation>
+ </message>
+ <message>
+ <source>Move the cursor to the end of the document</source>
+ <translation>移動游標ĺ°é€™ä¸€ĺ€‹ć–‡ä»¶çš„çµĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Select all</source>
+ <translation>ĺ…¨é¸</translation>
+ </message>
+ <message>
+ <source>Select to the next character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the next word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous word</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the next line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the previous line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the block</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the start of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select to the end of the document</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Delete to the start of the word</source>
+ <translation>ĺŞé™¤ĺ°ć­¤ĺ–®ĺ­—çš„čµ·é ­</translation>
+ </message>
+ <message>
+ <source>Delete to the end of the word</source>
+ <translation>ĺŞé™¤ĺ°ć­¤ĺ–®ĺ­—çš„çµĺ°ľ</translation>
+ </message>
+ <message>
+ <source>Insert a new paragraph</source>
+ <translation>插入新段č˝</translation>
+ </message>
+ <message>
+ <source>Insert a new line</source>
+ <translation>插入新行</translation>
+ </message>
+ <message>
+ <source>Paste and Match Style</source>
+ <translation>貼上並符ĺ樣式</translation>
+ </message>
+ <message>
+ <source>Remove formatting</source>
+ <translation>移除格式設定</translation>
+ </message>
+ <message>
+ <source>Strikethrough</source>
+ <translation>ĺŞé™¤ç·š</translation>
+ </message>
+ <message>
+ <source>Subscript</source>
+ <translation>下標</translation>
+ </message>
+ <message>
+ <source>Superscript</source>
+ <translation>上標</translation>
+ </message>
+ <message>
+ <source>Insert Bulleted List</source>
+ <translation>插入項目符號清單</translation>
+ </message>
+ <message>
+ <source>Insert Numbered List</source>
+ <translation>插入編號清單</translation>
+ </message>
+ <message>
+ <source>Indent</source>
+ <translation>縮排</translation>
+ </message>
+ <message>
+ <source>Outdent</source>
+ <translation>凸排</translation>
+ </message>
+ <message>
+ <source>Center</source>
+ <translation>置中</translation>
+ </message>
+ <message>
+ <source>Justify</source>
+ <translation>左右對齊</translation>
+ </message>
+ <message>
+ <source>Align Left</source>
+ <translation>靠左對齊</translation>
+ </message>
+ <message>
+ <source>Align Right</source>
+ <translation>靠右對齊</translation>
+ </message>
+ </context>
+ <context>
+ <name>QWhatsThisAction</name>
+ <message>
+ <source>What&apos;s This?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWidget</name>
+ <message>
+ <source>*</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWizard</name>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt; &amp;Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Finish</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Go Back</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Commit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Done</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Next &gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QWorkspace</name>
+ <message>
+ <source>&amp;Restore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Move</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Size</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Mi&amp;nimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Ma&amp;ximize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Stay on &amp;Top</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Restore Down</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sh&amp;ade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 - [%2]</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&amp;Unshade</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXml</name>
+ <message>
+ <source>no error occurred</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error triggered by consumer</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected end of file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>more than one document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>tag mismatch</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing content</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unexpected character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>invalid name for processing instruction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>version expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>wrong value for standalone declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing document type definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>letter is expected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error occurred while parsing reference</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>internal general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in attribute value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>external parsed general entity reference not allowed in DTD</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>unparsed entity reference in wrong context</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>recursive entities</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>error in the text declaration of an external entity</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlPatternistCLI</name>
+ <message>
+ <source>Warning in %1, at line %2, column %3: %4</source>
+ <translation>%1中的警告,位於行%2,欄%3:%4</translation>
+ </message>
+ <message>
+ <source>Warning in %1: %2</source>
+ <translation>%1中的警告:%2</translation>
+ </message>
+ <message>
+ <source>Unknown location</source>
+ <translation>不ćŽçš„位置</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2, at line %3, column %4: %5</source>
+ <translation>在%2發生%1錯誤,位於行%3,欄%4:%5</translation>
+ </message>
+ <message>
+ <source>Error %1 in %2: %3</source>
+ <translation>在%2發生%1錯誤:%3</translation>
+ </message>
+ </context>
+ <context>
+ <name>QXmlStream</name>
+ <message>
+ <source>Extra content at end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid entity value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML character.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix &apos;%1&apos; not declared</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute redefined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected character &apos;%1&apos; in public id literal.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML version string.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsupported XML version.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid encoding name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encoding %1 is unsupported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Standalone accepts only yes or no.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid attribute in XML declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Premature end of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>, but got &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unexpected &apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Expected character data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Recursive entity detected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Start tag expected.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>XML declaration not at start of document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>NDATA in parameter entity declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid processing instruction name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Illegal namespace declaration.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid XML name.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Opening and ending tag mismatch.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to unparsed entity &apos;%1&apos;.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Entity &apos;%1&apos; not declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference to external entity &apos;%1&apos; in attribute value.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid character reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Encountered incorrectly encoded content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The standalone pseudo attribute must appear after the encoding.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is an invalid PUBLIC identifier.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+ <context>
+ <name>QtXmlPatterns</name>
+ <message>
+ <source>At least one component must be present.</source>
+ <translation>ĺż…é čˇ¨é”至少一個組件。</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 不ćŻĺćł•çš„ %2 型態的值。</translation>
+ </message>
+ <message>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation>ĺľž %2 轉換型態為 %1 的時候,來ćşć•¸ĺ€Ľä¸Ťč˝ćŻ %3。</translation>
+ </message>
+ <message>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation>實際ĺ¸ćž—值ďĽEffective Boolean)無法用在兩個ć–兩個以上的原數值ďĽatomic value)的č¨ç®—。</translation>
+ </message>
+ <message>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>處ç†ćŚ‡ä»¤çš„資料不č˝ĺŚ…ĺ«ĺ­—串 %1</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 ćŻä¸Ťĺćł•çš„ %2</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>%1 不ćŻĺćł•çš„ XML 1.0 ĺ­—ĺ…。</translation>
+ </message>
+ <message>
+ <source>%1 was called.</source>
+ <translation>%1 已被呼叫。</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>在取代字串中,在未脫逸的ć…形下 %1 ĺż…é č‡łĺ°‘跟著一位數字。</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation>在取代字串中,%1 只č˝ç”¨ć–Ľč‡Şčş«ć– %2 的脫逸,而非 %3。</translation>
+ </message>
+ <message>
+ <source>%1 matches newline characters</source>
+ <translation>%1 符ĺ了換行字ĺ…</translation>
+ </message>
+ <message>
+ <source>Matches are case insensitive</source>
+ <translation>比對為區ĺ†ĺ¤§ĺ°ŹĺŻ«</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 ćŻä¸Ťĺ法的正規表示式樣式:%2</translation>
+ </message>
+ <message>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>無法取得 %1。</translation>
+ </message>
+ <message>
+ <source>The default collection is undefined</source>
+ <translation>é č¨­çš„收藏未定義</translation>
+ </message>
+ <message>
+ <source>%1 cannot be retrieved</source>
+ <translation>%1 無法取得</translation>
+ </message>
+ <message>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>é …ç›® %1 未符ĺ需č¦çš„ĺž‹ć…‹ %2。</translation>
+ </message>
+ <message>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 ćŻćśŞçźĄçš„ć©źĺ¶ĺž‹ć…‹ă€‚</translation>
+ </message>
+ <message>
+ <source>A template with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>只有一個 %1 宣告可以在查詢中。</translation>
+ </message>
+ <message>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>變數 %1 çš„ĺťĺ§‹ĺŚ–č‡č‡Şčş«ç›¸äľťă€‚</translation>
+ </message>
+ <message>
+ <source>The variable %1 is unused</source>
+ <translation>變數 %1 未使用</translation>
+ </message>
+ <message>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>ç‰ćś¬ %1 未支援。支援的 XQuery ç‰ćś¬ç‚ş 1.0。</translation>
+ </message>
+ <message>
+ <source>No function with signature %1 is available</source>
+ <translation>沒有簽章為 %1 的函式可使用</translation>
+ </message>
+ <message>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>無法重宣告前置字串 %1。</translation>
+ </message>
+ <message>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>前置字串 %1 已在 prolog 中宣告。</translation>
+ </message>
+ <message>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>é¸é …ĺŤç¨±ĺż…é ćś‰ĺ‰Ťç˝®ĺ­—串。沒有é¸é …çš„é č¨­ĺ‘˝ĺŤç©şé–“。</translation>
+ </message>
+ <message>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>ć©źĺ¶ĺŚŻĺ…ĄĺŠźč˝ćśŞć”ŻćŹ´ďĽŚĺ› ć­¤ćś‰ %1 個宣告無法é”ć。</translation>
+ </message>
+ <message>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>%1 的目標命ĺŤç©şé–“不č˝ćŻç©şçš„。</translation>
+ </message>
+ <message>
+ <source>The module import feature is not supported</source>
+ <translation>模組匯入功č˝ćśŞć”ŻćŹ´ă€‚</translation>
+ </message>
+ <message>
+ <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
+ <translation>在函式模組中的使用者定義函式的命ĺŤç©şé–“ĺż…é č‡ć¨ˇçµ„çš„ĺ‘˝ĺŤç©şé–“相ĺŚă€‚äąźĺ°±ćŻďĽŚć‡‰č©˛ç‚ş %1 č€Śä¸ŤćŻ %2。</translation>
+ </message>
+ <message>
+ <source>A function already exists with the signature %1.</source>
+ <translation>已經有簽章為 %1 的函式ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>未支援外é¨ĺ‡˝ĺĽŹă€‚所有支援的ĺ«ĺĽŹĺŹŻä»Ąç›´ćŽĄä˝żç”¨č€Śä¸Ťéś€č¦ĺ…宣告為外é¨ĺ‡˝ĺĽŹă€‚</translation>
+ </message>
+ <message>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>XQuery 中未支援 %1 軸</translation>
+ </message>
+ <message>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>č¦č‡ĺ‰Ťç˝®ĺ­—串 %1 çµĺçš„ĺ‘˝ĺŤç©şé–“網址不č˝ćŻç©şĺ­—串。</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 ćŻä¸Ťĺćł•çš„ĺ‘˝ĺŤç©şé–“網址。</translation>
+ </message>
+ <message>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>無法č‡ĺ‰Ťç˝®ĺ­—串 %1 çµĺ。</translation>
+ </message>
+ <message>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>有兩個命ĺŤç©şé–“宣告的屬性有相ĺŚçš„ĺŤç¨±ďĽš%1</translation>
+ </message>
+ <message>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>ĺ‘˝ĺŤç©şé–“網址必é ćŻĺ¸¸ć•¸ďĽŚä¸¦ä¸”不č˝ä˝żç”¨ĺ°é–‰ć•čż°ă€‚</translation>
+ </message>
+ <message>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translation>%1 不ćŻçŻ„圍內屬性宣告。注意機ĺ¶ĺŚŻĺ…ĄĺŠźč˝ćśŞć”ŻćŹ´ă€‚</translation>
+ </message>
+ <message>
+ <source>empty</source>
+ <translation>ç©şç™˝</translation>
+ </message>
+ <message>
+ <source>zero or one</source>
+ <translation>0 ć– 1 個</translation>
+ </message>
+ <message>
+ <source>exactly one</source>
+ <translation>剛好一個</translation>
+ </message>
+ <message>
+ <source>one or more</source>
+ <translation>一個以上</translation>
+ </message>
+ <message>
+ <source>zero or more</source>
+ <translation>0 個以上</translation>
+ </message>
+ <message>
+ <source>The focus is undefined.</source>
+ <translation>焦點未定義。</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>ĺŤç‚ş %1 的屬性已被建立。</translation>
+ </message>
+ <message>
+ <source>Network timeout.</source>
+ <translation>網路逾時。</translation>
+ </message>
+ <message>
+ <source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
+ <translation>ĺ…ç´  %1 無法序ĺ—化,因為似乎ćŻĺś¨ć–‡ä»¶ĺ…素之外。</translation>
+ </message>
+ <message>
+ <source>Year %1 is invalid because it begins with %2.</source>
+ <translation>ĺą´ä»˝ %1 不ĺ法,因為ćŻĺľž %2 開始的。</translation>
+ </message>
+ <message>
+ <source>Day %1 is outside the range %2..%3.</source>
+ <translation>ć—Ąćśź %1 已超出 %2 ĺ° %3 的範圍。</translation>
+ </message>
+ <message>
+ <source>Month %1 is outside the range %2..%3.</source>
+ <translation>ćśä»˝ %1 已超出 %2 ĺ° %3 的範圍。</translation>
+ </message>
+ <message>
+ <source>Overflow: Can&apos;t represent date %1.</source>
+ <translation>溢位:無法表示日期 %1。</translation>
+ </message>
+ <message>
+ <source>Day %1 is invalid for month %2.</source>
+ <translation>ćśä»˝ %2 中沒有日期 %1。</translation>
+ </message>
+ <message>
+ <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
+ <translation>時間 24:%1:%2.%3 不ĺ法。小時為 24 則ĺ†ă€ç§’č‡ćŻ«ç§’é˝ĺż…é ćŻ 0。
+</translation>
+ </message>
+ <message>
+ <source>Time %1:%2:%3.%4 is invalid.</source>
+ <translation>時間 %1:%2:%3.%4 不ĺ法。</translation>
+ </message>
+ <message>
+ <source>Overflow: Date can&apos;t be represented.</source>
+ <translation>溢位:無法表示日期。</translation>
+ </message>
+ <message>
+ <source>At least one time component must appear after the %1-delimiter.</source>
+ <translation>在ĺ†éš”符 %1 後必é č‡łĺ°‘有一個時間組件。</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
+ <translation>將型態 %1 除以 %2ďĽéťžć•¸ĺ€ĽďĽ‰ćŻä¸Ťĺ…許的。</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
+ <translation>將型態 %1 除以 %2 ć– %3ďĽć­Łć–負零)ćŻä¸Ťĺ…許的。</translation>
+ </message>
+ <message>
+ <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
+ <translation>將型態 %1 äąä»Ą %2 ć– %3ďĽć­Łć–負無é™ĺ¤§ďĽ‰ćŻä¸Ťĺ…許的。</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot have an Effective Boolean Value.</source>
+ <translation>ĺž‹ć…‹ %1 不č˝ćś‰ĺŻ¦éš›ĺ¸ćž—值。</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 exceeds maximum (%3).</source>
+ <translation>ĺž‹ć…‹ %2 的數值 %1 已超éŽćś€ĺ¤§ĺ€ĽďĽ%3)。</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 is below minimum (%3).</source>
+ <translation>ĺž‹ć…‹ %2 的數值 %1 已低éŽćś€ĺ°Źĺ€ĽďĽ%3)。</translation>
+ </message>
+ <message>
+ <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
+ <translation>ĺž‹ć…‹ %1 的值必é ĺŚ…ĺ«ĺ¶ć•¸ĺ€‹ć•¸ĺ­—。數值 %2 未符ĺ此條件。</translation>
+ </message>
+ <message>
+ <source>%1 is not valid as a value of type %2.</source>
+ <translation>%1 不ćŻĺćł•çš„ %2 型態的值。</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on type %2.</source>
+ <translation>ć“Ťä˝śĺ… %1 不č˝ç”¨ć–Ľĺž‹ć…‹ %2。</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
+ <translation>ć“Ťä˝śĺ… %1 不č˝ç”¨ć–Ľĺž‹ć…‹ %2 č‡ %3 的原數值。</translation>
+ </message>
+ <message>
+ <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
+ <translation>在已č¨ç®—屬性的ĺŤç¨±çš„ĺ‘˝ĺŤç©şé–“網址不č˝ćŻ %1。</translation>
+ </message>
+ <message>
+ <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
+ <translation>在已č¨ç®—屬性的ĺŤç¨±ä¸Ťč˝ĺŚć™‚有命ĺŤç©şé–“網址 %1 č‡ćś¬ĺś°ç«ŻĺŤç¨± %2。</translation>
+ </message>
+ <message>
+ <source>Type error in cast, expected %1, received %2.</source>
+ <translation>轉換型態錯誤,應為 %1 ä˝†ćŽĄć”¶ĺ° %2。</translation>
+ </message>
+ <message>
+ <source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
+ <translation>轉換為型態 %1 ć–其衍生型態時,來ćşć•¸ĺ€Ľĺż…é ćŻç›¸ĺŚĺž‹ć…‹ďĽŚć–者ćŻĺ­—串。型態 %2 ćŻä¸Ťč˘«ĺ…許的。</translation>
+ </message>
+ <message>
+ <source>A comment cannot contain %1</source>
+ <translation>註解不č˝ĺŚ…ĺ« %1</translation>
+ </message>
+ <message>
+ <source>A comment cannot end with a %1.</source>
+ <translation>註解不č˝ä»Ą %1 ĺšçµĺ°ľ</translation>
+ </message>
+ <message>
+ <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
+ <translation>屬性點不č˝ĺšç‚şć–‡ä»¶é»žçš„ĺ­çŻ€é»žă€‚因此,屬性 %1 的位置不ĺé©ă€‚</translation>
+ </message>
+ <message>
+ <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
+ <translation>不č˝ç›´ćŽĄč¨ç®—函式模組。必é č¦ĺľžä¸»ć¨ˇçµ„匯入。</translation>
+ </message>
+ <message>
+ <source>No template by name %1 exists.</source>
+ <translation>沒有ĺŤç‚ş %1 的樣本ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
+ <translation>ĺž‹ć…‹ %1 的值不č˝ćŻč¬‚č©žďĽpredicate)。謂詞必é ćŻć•¸ĺ€Ľĺž‹ć…‹ďĽŚć–ćŻĺŻ¦éš›ĺ¸ćž—值。</translation>
+ </message>
+ <message>
+ <source>A positional predicate must evaluate to a single numeric value.</source>
+ <translation>位置謂詞必é č˝č¨ç®—出單一的數值。</translation>
+ </message>
+ <message>
+ <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source>
+ <translation>處ç†ćŚ‡ä»¤çš„目標ĺŤç¨±ä¸Ťč˝ćŻä»»ä˝•ĺ¤§ĺ°ŹĺŻ«çµ„ĺçš„ %1。因此,%2 ćŻä¸Ťĺ法的值。</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
+ <translation>%1 不ćŻä¸€ĺ€‹ĺ法的處ç†ćŚ‡ä»¤çš„目標ĺŤç¨±ă€‚ĺż…é ćŻ %2 的值,例如 %3。</translation>
+ </message>
+ <message>
+ <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
+ <translation>路徑的最後一步必é ćŻçŻ€é»žć–原值,而不č˝ĺś¨ĺ…©č€…之間。</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1</source>
+ <translation>前置字串 %1 沒有çµĺĺ‘˝ĺŤç©şé–“</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1 in %2</source>
+ <translation>在 %2 的前置字串 %1 沒有çµĺĺ‘˝ĺŤç©şé–“</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
+ <translation>呼叫 %1 的第一個ĺŹć•¸ä¸Ťč˝ćŻ %2 型態。必é ćŻć•¸ĺ€Ľĺž‹ć…‹ďĽŚxs.yearMonthDuration ć– xs.dayTimeDuration。</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>呼叫 %1 的第一個ĺŹć•¸ä¸Ťč˝ćŻ %2 型態。必é ćŻ %3ă€%4 ć– %5 型態。</translation>
+ </message>
+ <message>
+ <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation>呼叫 %1 的第二個ĺŹć•¸ä¸Ťč˝ćŻ %2 型態。必é ćŻ %3ă€%4 ć– %5 型態。</translation>
+ </message>
+ <message>
+ <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
+ <translation>如果兩個值é˝ćś‰ĺŤ€ĺźźä˝Ťç§»ďĽŚĺ‰‡ĺż…é ćŻç›¸ĺŚçš„區域位移。%1 č‡ %2 並不相ĺŚă€‚</translation>
+ </message>
+ <message>
+ <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
+ <translation>%1 後面必é č·źč‘— %2 ć– %3,而非取代字串的çµĺ°ľă€‚</translation>
+ </message>
+ <message>
+ <source>%1 and %2 match the start and end of a line.</source>
+ <translation>%1 č‡ %2 符ĺ了一行的開始č‡çµĺ°ľă€‚</translation>
+ </message>
+ <message>
+ <source>Whitespace characters are removed, except when they appear in character classes</source>
+ <translation>空白字ĺ…已移除,除非ĺ®ĺ€‘出現在字ĺ…類ĺĄ</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
+ <translation>%1 ćŻć­Łč¦Źčˇ¨ç¤şĺĽŹä¸­ä¸Ťĺ法的旗標。ĺ法的旗標有:</translation>
+ </message>
+ <message>
+ <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
+ <translation>如果第一個ĺŹć•¸ćŻç©şĺşŹĺ—,ć–ćŻé•·ĺş¦ç‚ş 0 的字串ďĽć˛’有命ĺŤç©şé–“),則無法指定前置字串。但ćŻć‚¨ćŚ‡ĺ®šäş† %1。</translation>
+ </message>
+ <message>
+ <source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
+ <translation>未支援常態化表單 %1。支援的表單有 %2ă€%3ă€%4ă€%5,以及無ďĽäąźĺ°±ćŻç©şĺ­—串,未常態化)。</translation>
+ </message>
+ <message>
+ <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
+ <translation>區域位移必é ćŻĺś¨ %1 ĺ° %2 範圍之內。%3 已超出範圍。</translation>
+ </message>
+ <message>
+ <source>Required cardinality is %1; got cardinality %2.</source>
+ <translation>需č¦çš„基數為 %1;得ĺ°çš„ćŻ %2。</translation>
+ </message>
+ <message>
+ <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
+ <translation>編碼 %1 不ĺ法。必é ĺŹŞč˝ĺŚ…ĺ«ć‹‰ä¸ĺ­—ĺ…,不ĺ«ç©şç™˝ďĽŚä¸¦ä¸”č¦ç¬¦ĺ正規表示式 %2。</translation>
+ </message>
+ <message>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation>關鍵字 %1 不č˝č‡ä»»ä˝•ĺ…¶ĺ®ć¨ˇĺĽŹĺŤç¨±ä¸€čµ·ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>No variable with name %1 exists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>樣式表函式必é ćś‰ĺ‰Ťç˝®ĺŤç¨±ă€‚</translation>
+ </message>
+ <message>
+ <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
+ <translation>ĺ‘˝ĺŤç©şé–“ %1 已被保留,因此使用者定義函式不č˝ä˝żç”¨ĺ®ă€‚請試試é ĺ®šçľ©ĺ‰Ťç˝®ĺ­—串 %2。</translation>
+ </message>
+ <message>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation>當函式 %1 用於樣式比對時,ĺŹć•¸ĺż…é ćŻč®Šć•¸ĺŹč€ć–字串。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation>在 XSL-T 樣式內,函式 %1 的第一個ĺŹć•¸ĺż…é ćŻĺ­—串,以便用於比對。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
+ <translation>在 XSL-T 樣式內,函式 %1 的第一個ĺŹć•¸ĺż…é ćŻć–‡ĺ­—ć–變數ĺŹč€ďĽŚä»Ąäľżç”¨ć–ĽćŻ”對。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation>在 XSL-T 樣式內,函式 %1 的不č˝ćś‰ç¬¬ä¸‰ĺ€‹ĺŹć•¸ă€‚</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation>在 XSL-T 樣式內,只有函式 %1,%2 可以用於比對。%3 不行。</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation>在 XSL-T 樣式內,不č˝ç”¨ %1 軸,只č˝ç”¨ %2 ć– %3。</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid template mode name.</source>
+ <translation>%1 不ćŻĺ法的樣本模式ĺŤç¨±ă€‚</translation>
+ </message>
+ <message>
+ <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
+ <translation>č‡ for ć•čż°çµĺ的變數ĺŤç¨±ĺż…é č‡ä˝Ťç˝®č®Šć•¸ä¸ŤĺŚă€‚因此,有兩個ĺŤç‚ş %1 的變數衝çŞäş†ă€‚</translation>
+ </message>
+ <message>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation>未支援機ĺ¶ç˘şčŞŤĺŠźč˝ă€‚%1 ć•čż°ç„ˇćł•ä˝żç”¨ă€‚</translation>
+ </message>
+ <message>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation>未支援 pragma ć•čż°ă€‚因次,必é ćś‰é č¨­çš„ć•čż°ă€‚</translation>
+ </message>
+ <message>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation>每個樣本ĺŹć•¸çš„ĺŤç¨±ĺż…é ĺ”Żä¸€ďĽ›%1 已經被使用。</translation>
+ </message>
+ <message>
+ <source>No function with name %1 is available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation>%1 不ćŻĺ法的數值。</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>ĺ‘˝ĺŤç©şé–“ %1 只č˝č‡ %2 çµĺďĽäąźĺ°±ćŻčŞŞďĽŚč¦é ĺ…定義)。</translation>
+ </message>
+ <message>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>前置字串 %1 只č˝č‡ %2 çµĺďĽäąźĺ°±ćŻčŞŞďĽŚč¦é ĺ…定義)。</translation>
+ </message>
+ <message>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation>直接ĺ…素建構器沒有完整產生。%1 以 %2 çµćťźă€‚</translation>
+ </message>
+ <message>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation>ĺŤç¨± %1 未指ĺ‘任何機ĺ¶ĺž‹ć…‹ă€‚</translation>
+ </message>
+ <message>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation>%1 ćŻč¤‡ć•¸ĺž‹ć…‹ďĽŚç„ˇćł•č˝‰ćŹ›ć複數型態。然而,轉換為原型態,如 %2 ćŻĺŹŻčˇŚçš„。</translation>
+ </message>
+ <message>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation>%1 不ćŻä¸€ĺ€‹ĺŽźĺž‹ć…‹ă€‚只č˝č˝‰ćŹ›ç‚şĺŽźĺž‹ć…‹ă€‚</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1 不ćŻč™•ç†ćŚ‡ä»¤çš„ĺćł•ĺŤç¨±ă€‚</translation>
+ </message>
+ <message>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation>延伸ć•čż°çš„ĺŤç¨±ĺż…é ĺś¨ĺ‘˝ĺŤç©şé–“內。</translation>
+ </message>
+ <message>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>需č¦çš„ĺž‹ć…‹ç‚ş %1ďĽŚä˝†ć‰ľĺ° %2。</translation>
+ </message>
+ <message>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>ĺ°‡ %1 抬升為 %2 可č˝ćśĺ¤±ĺŽ»ç˛ľç˘şĺş¦ă€‚</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation>不č˝ĺś¨ä»»ä˝•ĺ…¶ĺ®ç¨®éˇžçš„節點後面加入屬性。</translation>
+ </message>
+ <message>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>只支援 Unicode Codepoint CollationďĽ%1)。%2 未支援。;</translation>
+ </message>
+ <message>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>整數除法 %1 除以零ďĽ%2)的行為未定義。</translation>
+ </message>
+ <message>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>除法 %1 除以零ďĽ%2)的行為未定義。</translation>
+ </message>
+ <message>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>é¤ć•¸é™¤ćł• %1 除以零ďĽ%2)的行為未定義。</translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 最多只č˝ćś‰ %n 個ĺŹć•¸ďĽŚĺ› ć­¤ %2 ćŻä¸Ťĺ法的。</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation>
+ <numerusform>%1 č‡łĺ°‘éś€č¦ %n 個ĺŹć•¸ďĽŚĺ› ć­¤ %2 ćŻä¸Ťĺ法的。</numerusform>
+ </translation>
+ </message>
+ <message>
+ <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
+ <translation>函式 %1 的第二個ĺŹć•¸çš„根節點必é ćŻć–‡ä»¶çŻ€é»žă€‚%2 不ćŻć–‡ä»¶çŻ€é»žă€‚</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation>使用者定義函式的命ĺŤç©şé–“不č˝ç‚şç©şç™˝ďĽč«‹č©¦č‘—用é ĺ…定義的前置字串 %1)</translation>
+ </message>
+ <message>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>é č¨­çš„ĺ‘˝ĺŤç©şé–“宣告必é ĺś¨ĺ‡˝ĺĽŹă€č®Šć•¸č‡é¸é …宣告之前。</translation>
+ </message>
+ <message>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>ĺ‘˝ĺŤç©şé–“宣告必é ĺś¨ĺ‡˝ĺĽŹă€č®Šć•¸č‡é¸é …宣告之前。</translation>
+ </message>
+ <message>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>模組匯入必é ĺś¨ĺ‡˝ĺĽŹă€č®Šć•¸č‡é¸é …宣告之前。</translation>
+ </message>
+ <message>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 不ćŻĺ†é的數值。</translation>
+ </message>
+ <message>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation>屬性ĺ…ç´  %1 無法序ĺ—化,因為似乎ćŻĺś¨é ‚層。</translation>
+ </message>
+ <message>
+ <source>%1 is an unsupported encoding.</source>
+ <translation>%1 ćŻĺ€‹ćśŞč˘«ć”ŻćŹ´çš„編碼。</translation>
+ </message>
+ <message>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation>%1 包ĺ«äş†ĺś¨č¦ć±‚的編碼 %2 內不ĺ…許的八進位值。</translation>
+ </message>
+ <message>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation>在 %2 內的代碼點 %1ďĽç·¨ç˘Ľ %3)ćŻä¸€ĺ€‹ä¸Ťĺćł•çš„ XML ĺ­—ĺ…。</translation>
+ </message>
+ <message>
+ <source>Ambiguous rule match.</source>
+ <translation>不ćŽç˘şçš„規則符ĺ。</translation>
+ </message>
+ <message>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation>前置字串必é ćŻĺćł•çš„ %1,但 %2 不ćŻă€‚</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation>前置字串 %1 不č˝č˘«çµĺ。</translation>
+ </message>
+ <message>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation>只有前置字串 %1 č˝č‡ %2 çµĺ。反之亦然。</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation>需č¦ĺŹć•¸ %1,但ćŻć˛’有ćŹäľ›ç›¸é—śçš„ %2。</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation>ĺŹć•¸ %1 已傳é€ďĽŚä˝†ć‰ľä¸Ťĺ°ç›¸é—śçš„ %2。</translation>
+ </message>
+ <message>
+ <source>The URI cannot have a fragment</source>
+ <translation>URI 不č˝ćś‰ç‰‡ć®µă€‚</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed at this location.</source>
+ <translation>ĺ…ç´  %1 不č˝ĺś¨ć­¤ä˝Ťç˝®ă€‚</translation>
+ </message>
+ <message>
+ <source>Text nodes are not allowed at this location.</source>
+ <translation>文字節點不č˝ĺś¨ć­¤ä˝Ťç˝®ă€‚</translation>
+ </message>
+ <message>
+ <source>Parse error: %1</source>
+ <translation>剖ćžéŚŻčŞ¤ďĽš%1</translation>
+ </message>
+ <message>
+ <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
+ <translation>XLS-T ç‰ćś¬ĺ±¬ć€§çš„值必é ćŻĺž‹ć…‹ %1 的值,而 %2 不ćŻă€‚</translation>
+ </message>
+ <message>
+ <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
+ <translation>使用 2.0 處ç†ĺ™¨ĺź·čˇŚ XSL-T 1.0 樣式表中。</translation>
+ </message>
+ <message>
+ <source>Unknown XSL-T attribute %1.</source>
+ <translation>未知的 XSL-T 屬性 %1。</translation>
+ </message>
+ <message>
+ <source>Attribute %1 and %2 are mutually exclusive.</source>
+ <translation>屬性 %1 č‡ %2 彼此互斥。</translation>
+ </message>
+ <message>
+ <source>In a simplified stylesheet module, attribute %1 must be present.</source>
+ <translation>在簡化的樣式表模組中,屬性 %1 ĺż…é ĺ­ĺś¨ă€‚</translation>
+ </message>
+ <message>
+ <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
+ <translation>č‹Ąĺ…ç´  %1 沒有屬性 %2,則也不č˝ćś‰ĺ±¬ć€§ %3 ć– %4。</translation>
+ </message>
+ <message>
+ <source>Element %1 must have at least one of the attributes %2 or %3.</source>
+ <translation>ĺ…ç´  %1 ĺż…é č‡łĺ°‘有屬性 %2 ć– %3 其中一個。</translation>
+ </message>
+ <message>
+ <source>At least one mode must be specified in the %1-attribute on element %2.</source>
+ <translation>在ĺ…ç´  %2 çš„ %1 屬性中至少č¦ćŚ‡ĺ®šä¸€ĺ€‹ć¨ˇĺĽŹă€‚</translation>
+ </message>
+ <message>
+ <source>Element %1 must come last.</source>
+ <translation>ĺ…ç´  %1 ĺż…é ćś€ĺľŚĺ‡şçŹľă€‚</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur before %2.</source>
+ <translation>至少一個ĺ…ç´  %1 č¦ĺ‡şçŹľĺś¨ %2 之前。</translation>
+ </message>
+ <message>
+ <source>Only one %1-element can appear.</source>
+ <translation>只č˝ĺ‡şçŹľä¸€ĺ€‹ĺ…ç´  %1。</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur inside %2.</source>
+ <translation>至少一個ĺ…ç´  %1 č¦ĺ‡şçŹľĺś¨ %2 之內。</translation>
+ </message>
+ <message>
+ <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
+ <translation>當屬性 %1 出現在 %2 內時,不č˝ä˝żç”¨ĺşŹĺ—建構ĺ­ă€‚</translation>
+ </message>
+ <message>
+ <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
+ <translation>ĺ…ç´  %1 ĺż…é č‡łĺ°‘有一個屬性 %2 ć–一個序ĺ—建構ĺ­ă€‚</translation>
+ </message>
+ <message>
+ <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
+ <translation>當需č¦ĺŹć•¸ć™‚,不č˝é€ŹéŽĺ±¬ć€§ %1 ć–序ĺ—建構ĺ­ćŹäľ›é č¨­ĺ€Ľă€‚</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have children.</source>
+ <translation>ĺ…ç´  %1 不č˝ćś‰ĺ­ĺ…素。</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have a sequence constructor.</source>
+ <translation>ĺ…ç´  %1不č˝ćś‰ĺşŹĺ—建構ĺ­ă€‚</translation>
+ </message>
+ <message>
+ <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
+ <translation>屬性 %1 不č˝ĺ‡şçŹľĺś¨ %2,因為ĺ®ćŻ %3 çš„ĺ­ĺ…素。</translation>
+ </message>
+ <message>
+ <source>A parameter in a function cannot be declared to be a tunnel.</source>
+ <translation>函式內的ĺŹć•¸ä¸Ťč˝č˘«ĺ®Łĺ‘Šç‚şé€šé“ďĽtunnel)。</translation>
+ </message>
+ <message>
+ <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
+ <translation>此處ç†ĺ™¨ä¸ŤćŻ Schema-aware,因此不č˝ä˝żç”¨ %1。</translation>
+ </message>
+ <message>
+ <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
+ <translation>頂層樣式表ĺ…ç´ ĺż…é ćŻéťžç©şç™˝çš„ĺ‘˝ĺŤç©şé–“,而 %1 不ćŻă€‚</translation>
+ </message>
+ <message>
+ <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
+ <translation>ĺ…ç´  %2 內屬性 %1 的值必é ćŻ %3 ć– %4ďĽŚč€Śä¸ŤćŻ %5。</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot have the value %2.</source>
+ <translation>屬性 %1 的值不č˝ç‚ş %2。</translation>
+ </message>
+ <message>
+ <source>The attribute %1 can only appear on the first %2 element.</source>
+ <translation>屬性 %1 只č˝ĺ‡şçŹľĺś¨ĺ‰Ť %2 個ĺ…素內。</translation>
+ </message>
+ <message>
+ <source>At least one %1 element must appear as child of %2.</source>
+ <translation>%2 ĺż…é č‡łĺ°‘有一個ĺ­ĺ…ç´  %1。</translation>
+ </message>
+ <message>
+ <source>%1 has inheritance loop in its base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of base type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular inheritance of union %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 cannot be complex type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot have direct base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is not allowed to have base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 can only have simple atomic type as base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of item type of %1 must be either atomic or union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Variety of member types of %1 must be atomic.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 is only allowed to have %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 must have variety of type list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type of simple type %1 has defined derivation by restriction as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of base type does not match item type of %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type %1 contains not allowed facet type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have any facets.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 must have variety of union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has duplicated element %2 in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 has non-deterministic content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have simple content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 must have the same simple type as its base class %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived from base type %2%3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type of simple type %1 cannot be a complex type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not allowed to have a member type with the same name as itself.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet collides with %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must have the same value as %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be equal or greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid regular expression</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unknown notation %1 used in %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet contains invalid value %2: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than or equal to %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet and %2 facet cannot appear together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be less than %2 facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 facet must be greater than or equal to %2 facet of base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type contains not allowed facet %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Only %1 and %2 facets are allowed when derived by union.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains %2 facet with invalid data: %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 twice.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of element %1 is not of elements type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of attribute %1 is not of attributes type: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 has value constraint but has type derived from %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in derived complex type must be %2 like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 in derived complex type must have %2 value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of base wildcard must be weaker than derived wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 exists twice with different types.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Particle contains non-deterministic wildcards.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but derived attribute is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not exist in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived attribute %1 does not match the wildcard in the base definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base attribute %1 is required but missing in derived definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived definition contains an %1 element that does not exists in the base definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived wildcard is not a subset of the base wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 from base type is missing in derived type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of derived attribute %1 differs from type of base attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base definition contains an %1 element that is missing in the derived definition</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Circular group reference for %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this scope</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle is missing element %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Can not process unknown element %1, expected elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Child element is missing in that scope, possible child elements are: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Document is not a XML schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element contains invalid content: {%3}.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element has neither %2 attribute nor %3 child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element with %2 child element must not have a %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must be %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have a value of %3 or %4.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must not have %2 and %3 attribute together.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must not be %3.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element requires either %2 or %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Text or entity references not allowed inside %1 element</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 element is not allowed in this context.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element has larger value than %3 attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Prefix of qualified name %1 is not defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 attribute of %2 element must either contain %3 or the other values.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Component with ID %1 has been defined previously.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Type %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element group %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Identity constraint %1 already defined.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duplicated facets in simple type %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 is not valid according to %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>String content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Signed integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Unsigned integer content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Double content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the fractionDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Decimal content does not match in the totalDigits facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Date time content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the maxExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minInclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match the minExclusive facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Duration content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Boolean content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content does not match the maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Binary content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Invalid QName content: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>QName content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Notation content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match length facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match minLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match maxLength facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>List content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content is not listed in the enumeration facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Union content does not match pattern facet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Data of type %1 are not allowed to be empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>There is one IDREF value with no corresponding ID: %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Loaded schema file is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>%1 contains invalid data.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No schema defined for validation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No definition for element %1 available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not known to the schema.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not defined in this scope.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for element %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is declared as abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is not nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid data: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element contains content although it is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Fixed value constraint not allowed if element is nillable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Specified type %1 is not validly substitutable with element type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Complex type %1 is not allowed to be abstract.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed attributes.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child element.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of element %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed child content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains not allowed text content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 is missing required attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 does not match the attribute wildcard.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Declaration for attribute %1 does not exist.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains two attributes of type %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Attribute %1 contains invalid content.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Element %1 contains unknown attribute %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match its type definition: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Content of attribute %1 does not match defined value constraint.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Non-unique value found for constraint %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains absent fields.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key constraint %1 contains references nillable element %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>No referenced value found for key reference %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>More than one value found for field %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Field %1 has no simple type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>ID value &apos;%1&apos; is not unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ </context>
+</TS>
diff --git a/config.profiles/symbian/translations_symbian/translations.pro b/config.profiles/symbian/translations_symbian/translations.pro
new file mode 100644
index 0000000..832af21
--- /dev/null
+++ b/config.profiles/symbian/translations_symbian/translations.pro
@@ -0,0 +1,8 @@
+TEMPLATE = subdirs
+
+symbian: {
+SYMBIANTRANSLATIONSFILES = qt
+SYMBIANTRANSLATIONS = ur fa ar he fr pl ru zh_cn zh_tw cs da de es gl hu ja pt sk sl sv uk
+CONFIG = loc_source_string
+load(loc.prf)
+} \ No newline at end of file
diff --git a/config.tests/mac/coreservices/coreservices.mm b/config.tests/mac/coreservices/coreservices.mm
new file mode 100644
index 0000000..9fc45298
--- /dev/null
+++ b/config.tests/mac/coreservices/coreservices.mm
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <CoreServices/CoreServices.h>
+
+int main()
+{
+ FSRef ref;
+ return 0;
+}
diff --git a/config.tests/mac/coreservices/coreservices.pro b/config.tests/mac/coreservices/coreservices.pro
new file mode 100644
index 0000000..c9bf8ec
--- /dev/null
+++ b/config.tests/mac/coreservices/coreservices.pro
@@ -0,0 +1,3 @@
+SOURCES = coreservices.mm
+LIBS += -framework CoreServices
+CONFIG -= app_bundle qt
diff --git a/config.tests/mac/corewlan/corewlan.pro b/config.tests/mac/corewlan/corewlan.pro
index 8451af3..a9c2560 100644
--- a/config.tests/mac/corewlan/corewlan.pro
+++ b/config.tests/mac/corewlan/corewlan.pro
@@ -1,3 +1,3 @@
-SOURCES = corewlantest.mm
+OBJECTIVE_SOURCES = corewlantest.mm
LIBS += -framework CoreWLAN -framework Foundation
CONFIG -= app_bundle qt
diff --git a/config.tests/qpa/wayland/wayland.cpp b/config.tests/qpa/wayland/wayland.cpp
new file mode 100644
index 0000000..d0ecdac
--- /dev/null
+++ b/config.tests/qpa/wayland/wayland.cpp
@@ -0,0 +1,46 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <wayland-client.h>
+
+int main(int, char **)
+{
+ return 0;
+}
diff --git a/config.tests/qpa/wayland/wayland.pro b/config.tests/qpa/wayland/wayland.pro
new file mode 100644
index 0000000..0c2b899
--- /dev/null
+++ b/config.tests/qpa/wayland/wayland.pro
@@ -0,0 +1,4 @@
+SOURCES = wayland.cpp
+CONFIG -= qt
+INCLUDEPATH += $$QMAKE_INCDIR_WAYLAND
+LIBS += $$QMAKE_LIBS_WAYLAND
diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
index 29ddea7..f4a7f29 100755
--- a/config.tests/unix/compile.test
+++ b/config.tests/unix/compile.test
@@ -11,9 +11,9 @@ TEST=$6
EXE=`basename "$6"`
DESCRIPTION=$7
shift 7
-LFLAGS=""
+LFLAGS="$SYSROOT_FLAG"
INCLUDEPATH=""
-CXXFLAGS=""
+CXXFLAGS="$SYSROOT_FLAG"
MAC_ARCH_CXXFLAGS=""
MAC_ARCH_LFLAGS=""
while [ "$#" -gt 0 ]; do
diff --git a/config.tests/unix/icu/icu.cpp b/config.tests/unix/icu/icu.cpp
new file mode 100644
index 0000000..657d860
--- /dev/null
+++ b/config.tests/unix/icu/icu.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <unicode/utypes.h>
+#include <unicode/ucol.h>
+#include <unicode/ustring.h>
+
+int main(int, char **)
+{
+ UErrorCode status = U_ZERO_ERROR;
+ UCollator *collator = ucol_open("ru_RU", &status);
+ if (U_FAILURE(status))
+ return 0;
+ ucol_close(collator);
+ return 0;
+}
diff --git a/config.tests/unix/icu/icu.pro b/config.tests/unix/icu/icu.pro
new file mode 100644
index 0000000..8e58334
--- /dev/null
+++ b/config.tests/unix/icu/icu.pro
@@ -0,0 +1,4 @@
+SOURCES = icu.cpp
+CONFIG -= qt dylib app_bundle
+unix:LIBS += -licuuc -licui18n
+win32:LIBS += -licuin
diff --git a/config.tests/unix/ipc_posix/ipc.cpp b/config.tests/unix/ipc_posix/ipc.cpp
new file mode 100644
index 0000000..09c2fe2
--- /dev/null
+++ b/config.tests/unix/ipc_posix/ipc.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/mman.h>
+#include <semaphore.h>
+#include <fcntl.h>
+
+int main(int, char **)
+{
+ sem_t *semaphore = sem_open("test", O_CREAT | O_EXCL, 0666, 0);
+ if (semaphore != SEM_FAILED)
+ sem_close(semaphore);
+
+ shm_open("test", O_RDWR | O_CREAT | O_EXCL, 0666);
+ shm_unlink("test");
+
+ return 0;
+}
diff --git a/config.tests/unix/ipc_posix/ipc_posix.pro b/config.tests/unix/ipc_posix/ipc_posix.pro
new file mode 100644
index 0000000..1b6de02
--- /dev/null
+++ b/config.tests/unix/ipc_posix/ipc_posix.pro
@@ -0,0 +1,3 @@
+SOURCES = ipc.cpp
+CONFIG -= qt dylib
+mac:CONFIG -= app_bundle
diff --git a/config.tests/unix/ipc_sysv/ipc.cpp b/config.tests/unix/ipc_sysv/ipc.cpp
new file mode 100644
index 0000000..3ea7508
--- /dev/null
+++ b/config.tests/unix/ipc_sysv/ipc.cpp
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#include <sys/shm.h>
+#include <fcntl.h>
+
+int main(int, char **)
+{
+ key_t unix_key = ftok("test", 'Q');
+ int semaphore = semget(unix_key, 1, 0666 | IPC_CREAT | IPC_EXCL);
+ if (semaphore != -1)
+ semctl(semaphore, 0, IPC_RMID, 0);
+
+ shmget(unix_key, 0, 0666 | IPC_CREAT | IPC_EXCL);
+ shmctl(0, 0, static_cast<struct shmid_ds *>(0));
+
+ return 0;
+}
diff --git a/config.tests/unix/ipc_sysv/ipc_sysv.pro b/config.tests/unix/ipc_sysv/ipc_sysv.pro
new file mode 100644
index 0000000..1b6de02
--- /dev/null
+++ b/config.tests/unix/ipc_sysv/ipc_sysv.pro
@@ -0,0 +1,3 @@
+SOURCES = ipc.cpp
+CONFIG -= qt dylib
+mac:CONFIG -= app_bundle
diff --git a/config.tests/unix/opengldesktop/opengldesktop.cpp b/config.tests/unix/opengldesktop/opengldesktop.cpp
new file mode 100644
index 0000000..54860fe
--- /dev/null
+++ b/config.tests/unix/opengldesktop/opengldesktop.cpp
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the config.tests of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <GL/gl.h>
+
+int main(int, char **)
+{
+ glBegin(GL_TRIANGLES);
+ glVertex2f(20.0f, 10.0f);
+ glVertex2f(10.0f, 30.0f);
+ glVertex2f(20.0f, 50.0f);
+ glEnd();
+ return 0;
+}
diff --git a/config.tests/unix/opengldesktop/opengldesktop.pro b/config.tests/unix/opengldesktop/opengldesktop.pro
new file mode 100644
index 0000000..ac70ca3
--- /dev/null
+++ b/config.tests/unix/opengldesktop/opengldesktop.pro
@@ -0,0 +1,9 @@
+SOURCES = opengldesktop.cpp
+INCLUDEPATH += $$QMAKE_INCDIR_OPENGL
+
+for(p, QMAKE_LIBDIR_OPENGL) {
+ exists($$p):LIBS += -L$$p
+}
+
+CONFIG -= qt
+LIBS += $$QMAKE_LIBS_OPENGL
diff --git a/config.tests/unix/opengles1/opengles1.cpp b/config.tests/unix/opengles1/opengles1.cpp
index 69526b6..837bed4 100644
--- a/config.tests/unix/opengles1/opengles1.cpp
+++ b/config.tests/unix/opengles1/opengles1.cpp
@@ -39,7 +39,11 @@
**
****************************************************************************/
-#include <GLES/gl.h>
+#ifdef BUILD_ON_MAC
+ #include <OpenGLES/ES1/gl.h>
+#else
+ #include <GLES/gl.h>
+#endif
int main(int, char **)
{
diff --git a/config.tests/unix/opengles1/opengles1.pro b/config.tests/unix/opengles1/opengles1.pro
index 1469aa9..9e60124 100644
--- a/config.tests/unix/opengles1/opengles1.pro
+++ b/config.tests/unix/opengles1/opengles1.pro
@@ -7,3 +7,7 @@ for(p, QMAKE_LIBDIR_OPENGL_ES1) {
CONFIG -= qt
LIBS += $$QMAKE_LIBS_OPENGL_ES1
+mac {
+ DEFINES += BUILD_ON_MAC
+ CONFIG -= app_bundle
+}
diff --git a/config.tests/unix/opengles2/opengles2.cpp b/config.tests/unix/opengles2/opengles2.cpp
index 50bea92..89c1e2d 100644
--- a/config.tests/unix/opengles2/opengles2.cpp
+++ b/config.tests/unix/opengles2/opengles2.cpp
@@ -39,7 +39,11 @@
**
****************************************************************************/
-#include <GLES2/gl2.h>
+#ifdef BUILD_ON_MAC
+ #include <OpenGLES/ES2/gl.h>
+#else
+ #include <GLES2/gl2.h>
+#endif
int main(int, char **)
{
diff --git a/config.tests/unix/opengles2/opengles2.pro b/config.tests/unix/opengles2/opengles2.pro
index c383fd0..34d7737 100644
--- a/config.tests/unix/opengles2/opengles2.pro
+++ b/config.tests/unix/opengles2/opengles2.pro
@@ -7,3 +7,7 @@ for(p, QMAKE_LIBDIR_OPENGL_ES2) {
CONFIG -= qt
LIBS += $$QMAKE_LIBS_OPENGL_ES2
+mac {
+ DEFINES += BUILD_ON_MAC
+ CONFIG -= app_bundle
+}
diff --git a/config.tests/x11/glxfbconfig/glxfbconfig.pro b/config.tests/x11/glxfbconfig/glxfbconfig.pro
index 4705ca6..65f855a 100644
--- a/config.tests/x11/glxfbconfig/glxfbconfig.pro
+++ b/config.tests/x11/glxfbconfig/glxfbconfig.pro
@@ -7,4 +7,4 @@ for(p, QMAKE_LIBDIR_OPENGL) {
}
CONFIG -= qt
-LIBS += -lGL -lGLU
+LIBS += -lGL
diff --git a/config.tests/x11/opengl/opengl.cpp b/config.tests/x11/opengl/opengl.cpp
index e2da13c..ffcaff3 100644
--- a/config.tests/x11/opengl/opengl.cpp
+++ b/config.tests/x11/opengl/opengl.cpp
@@ -40,11 +40,6 @@
****************************************************************************/
#include <GL/gl.h>
-#include <GL/glu.h>
-
-#ifndef GLU_VERSION_1_2
-# error "Required GLU version 1.2 not found."
-#endif
int main(int, char **)
{
diff --git a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro
index 5fd41d3..5c3a1c5 100644
--- a/config.tests/x11/opengl/opengl.pro
+++ b/config.tests/x11/opengl/opengl.pro
@@ -8,4 +8,4 @@ for(p, QMAKE_LIBDIR_OPENGL) {
CONFIG -= qt
win32-g++*:LIBS += -lopengl32
-else:LIBS += -lGL -lGLU
+else:LIBS += -lGL
diff --git a/configure b/configure
index 3b7a1f3..ec04414 100755
--- a/configure
+++ b/configure
@@ -186,8 +186,11 @@ fi
PLATFORM_X11=no
PLATFORM_QWS=maybe
+PLATFORM_QPA=maybe
+BUILD_ON_MAC=no
if [ -d /System/Library/Frameworks/Carbon.framework ]; then
PLATFORM_MAC=maybe
+ BUILD_ON_MAC=yes
else
PLATFORM_MAC=no
fi
@@ -267,6 +270,22 @@ earlyArgParse()
VAL=$1
fi
;;
+ -embedded-lite|-qpa)
+ VAR=qpa
+ # this option may or may not be followed by an argument
+ if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
+ VAL=auto
+ else
+ shift;
+ VAL=$1
+ fi
+ ;;
+ -nacl)
+ shift;
+ VAR=nacl
+ VAL=$1
+ ;;
+
-h|help|--help|-help)
if [ "$VAL" = "yes" ]; then
OPT_HELP="$VAL"
@@ -301,7 +320,31 @@ earlyArgParse()
PLATFORM_X11=no
PLATFORM_MAC=no
PLATFORM_QWS=yes
+ PLATFORM_QPA=no
+ ;;
+ qpa)
+ CFG_EMBEDDED="no"
+ if [ "$PLATFORM_QPA" != "no" ]; then
+ if [ "$PLATFORM_QPA" = "maybe" ]; then
+ PLATFORM_X11=no
+ PLATFORM_MAC=no
+ PLATFORM_QWS=no
+ PLATFORM_QPA=yes
+ fi
+ else
+ echo "No license exists to enable Qt QPA. Disabling."
+ CFG_EMBEDDED=no
+ fi
;;
+ nacl)
+ echo "Using NaCl at $VAL."
+ PLATFORM_X11=no
+ PLATFORM_MAC=no
+ PLATFORM_QWS=no
+ CFG_NACL_PATH=$VAL
+ CFG_EMBEDDED=nacl
+ ;;
+
developer-build)
CFG_DEV="yes"
;;
@@ -360,6 +403,7 @@ elif [ -f "$relpath"/LICENSE.PREVIEW.COMMERCIAL ] && [ $COMMERCIAL_USER = "yes"
elif [ $COMMERCIAL_USER = "yes" ]; then
# one of commercial editions
[ "$PLATFORM_MAC" = "maybe" ] && PLATFORM_MAC=yes
+ [ "$PLATFORM_QPA" = "maybe" ] && PLATFORM_QPA=no
[ "$PLATFORM_QWS" = "maybe" ] && PLATFORM_QWS=no
# read in the license file
@@ -452,6 +496,7 @@ elif [ $COMMERCIAL_USER = "yes" ]; then
PlatformCode=`echo "$PlatformCode" | sed 's/.$//'`
;;
esac
+ ### EMBEDDED_QPA logic missing ###
case "$PlatformCode,$PLATFORM_MAC,$PLATFORM_QWS" in
X9,* | XC,* | XU,* | XW,* | XM,*)
# Qt All-OS
@@ -566,12 +611,14 @@ fi
# initalize variables
#-------------------------------------------------------------------------------
-SYSTEM_VARIABLES="CC CXX CFLAGS CXXFLAGS LDFLAGS"
+SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
for varname in $SYSTEM_VARIABLES; do
qmakevarname="${varname}"
# use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
if [ "${varname}" = "LDFLAGS" ]; then
qmakevarname="LFLAGS"
+ elif [ "${varname}" = "LD" ]; then
+ qmakevarname="LINK"
fi
cmd=`echo \
'if [ -n "\$'${varname}'" ]; then
@@ -681,6 +728,11 @@ if [ -f "$relpath/src/gui/embedded/qscreenqnx_qws.cpp" ]; then
CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} qnx"
CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} qnx"
fi
+if [ -f "$relpath/src/gui/embedded/qscreenintegrityfb_qws.cpp" ]; then
+ CFG_KBD_AVAILABLE="${CFG_KBD_AVAILABLE} integrity"
+ CFG_MOUSE_AVAILABLE="${CFG_MOUSE_AVAILABLE} integrity"
+ CFG_GFX_AVAILABLE="${CFG_GFX_AVAILABLE} integrityfb"
+fi
CFG_ARCH=
CFG_HOST_ARCH=
@@ -752,6 +804,7 @@ CFG_MAC_XARCH=auto
CFG_MAC_CARBON=no
CFG_MAC_COCOA=yes
COMMANDLINE_MAC_CARBON=no
+CFG_MAC_HARFBUZZ=no
CFG_SXE=no
CFG_PREFIX_INSTALL=yes
CFG_SDK=
@@ -780,6 +833,7 @@ CFG_PULSEAUDIO=auto
CFG_COREWLAN=auto
CFG_ICD=auto
CFG_NOPROCESS=no
+CFG_ICU=auto
# initalize variables used for installation
QT_INSTALL_PREFIX=
@@ -887,6 +941,53 @@ if [ -d "$relpath/src/plugins/gfxdrivers" ]; then
CFG_GFX_OFF="$CFG_GFX_AVAILABLE" # assume all off
fi
+CFG_IMAGEFORMAT_PLUGIN_AVAILABLE=
+if [ -d "$relpath/src/plugins/imageformats" ]; then
+ for a in "$relpath/src/plugins/imageformats/"*; do
+ if [ -d "$a" ]; then
+ base_a=`basename "$a"`
+ CFG_IMAGEFORMAT_PLUGIN_AVAILABLE="${CFG_IMAGEFORMAT_PLUGIN_AVAILABLE} ${base_a}"
+ fi
+ done
+fi
+
+#-------------------------------------------------------------------------------
+# Set Default NaCl options
+#-------------------------------------------------------------------------------
+if [ "$CFG_EMBEDDED" = "nacl" ]; then
+ echo "Setting NaCl options:"
+ echo "-static"
+ CFG_SHARED=no
+ echo "-qpa nacl"
+ PLATFORM_QPA=yes
+ echo "-fast"
+ OPT_FAST=yes
+ echo "-qconfig nacl"
+ CFG_QCONFIG=nacl
+
+ if [ `uname` = "Linux" ]; then
+ I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/include"
+ L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/linux_x86/sdk/nacl-sdk/lib"
+ else
+ I_FLAGS="$I_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/include"
+ L_FLAGS="$L_FLAGS -I${CFG_NACL_PATH}/toolchain/mac_x86/sdk/nacl-sdk/lib"
+ fi
+
+ echo "-no-multimedia -no-webkit -no-phonon -no-nultimedia -no-mediaservices -no-xmlpatterns -no-script -no-sql-sqlite -nomake tests"
+ CFG_MULTIMEDIA=no
+ CFG_WEBKIT=no
+ CFG_PHONON=no
+ CFG_MULTIMEDIA=no
+ CFG_MEDIASERVICES=no
+ CFG_XMLPATTERNS=no
+ CFG_SCRIPT=no
+ CFG_SQLITE=no
+ CFG_SQL_sqlite=no
+ CFG_LIBTIFF=no
+ CFG_NOBUILD_PARTS="$CFG_NOBUILD_PARTS tests"
+ QT_CONFIG="$QT_CONFIG nacl"
+fi
+
#-------------------------------------------------------------------------------
# parse command line arguments
#-------------------------------------------------------------------------------
@@ -941,13 +1042,13 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style yes options
- -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles)
+ -incremental|-qvfb|-profile|-shared|-static|-sm|-xinerama|-xshape|-xsync|-xinput|-egl|-reduce-exports|-pch|-separate-debug-info|-stl|-freetype|-xcursor|-xfixes|-xrandr|-xrender|-mitshm|-fontconfig|-xkb|-nis|-qdbus|-dbus|-dbus-linked|-glib|-gstreamer|-gtkstyle|-cups|-iconv|-largefile|-h|-help|-v|-verbose|-debug|-release|-fast|-accessibility|-confirm-license|-gnumake|-framework|-qt3support|-debug-and-release|-exceptions|-cocoa|-carbon|-universal|-harfbuzz|-prefix-install|-silent|-armfpa|-optimized-qmake|-dwarf2|-reduce-relocations|-sse|-openssl|-openssl-linked|-ptmalloc|-xmlpatterns|-phonon|-phonon-backend|-multimedia|-audio-backend|-svg|-declarative|-declarative-debug|-javascript-jit|-script|-scripttools|-rpath|-force-pkg-config|-s60|-usedeffiles|-icu)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
VAL=yes
;;
#Qt style options that pass an argument
-qconfig)
- if [ "$PLATFORM_QWS" != "yes" ]; then
+ if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
echo
echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
echo
@@ -987,6 +1088,20 @@ while [ "$#" -gt 0 ]; do
VAL=$1
fi
;;
+ -embedded-lite|-qpa)
+ VAR=qpa
+ # this option may or may not be followed by an argument
+ if [ -z "$2" ] || echo "$2" | grep '^-' >/dev/null 2>&1; then
+ VAL=auto
+ else
+ shift;
+ VAL=$1
+ fi
+ ;;
+ -nacl)
+ VAR=nacl
+ shift;
+ ;;
-opengl)
VAR=opengl
# this option may or may not be followed by an argument
@@ -1203,6 +1318,9 @@ while [ "$#" -gt 0 ]; do
qconfig)
CFG_QCONFIG="$VAL"
;;
+ sysroot)
+ CFG_SYSROOT="$VAL"
+ ;;
bindir)
QT_INSTALL_BINS="$VAL"
;;
@@ -1217,6 +1335,16 @@ while [ "$#" -gt 0 ]; do
PLATFORM_X11=no
PLATFORM_MAC=no
PLATFORM_QWS=yes
+ PLATFORM_QPA=no
+ ;;
+ embedded-lite|qpa)
+ CFG_EMBEDDED="no"
+ PLATFORM_X11=no
+ PLATFORM_MAC=no
+ PLATFORM_QWS=no
+ PLATFORM_QPA=yes
+ ;;
+ nacl)
;;
sse)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
@@ -1323,6 +1451,7 @@ while [ "$#" -gt 0 ]; do
CFG_BUILD_PARTS="$CFG_BUILD_PARTS $VAL"
;;
x11)
+ PLATFORM_QPA=no
PLATFORM_MAC=no
PLATFORM_QWS=no
PLATFORM_X11=yes
@@ -1371,9 +1500,16 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ harfbuzz)
+ if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_CARBON" != "yes" ] && [ "$VAL" = "yes" ]; then
+ CFG_MAC_HARFBUZZ="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
framework)
- if [ "$PLATFORM_MAC" = "yes" ]; then
+ if [ "$PLATFORM_MAC" = "yes" ] || [ "$PLATFORM_QPA" = "yes" ]; then
CFG_FRAMEWORK="$VAL"
else
UNKNOWN_OPT=yes
@@ -1540,8 +1676,7 @@ while [ "$#" -gt 0 ]; do
fi
;;
gif)
- [ "$VAL" = "qt" ] && VAL=auto
- if [ "$VAL" = "auto" ] || [ "$VAL" = "no" ]; then
+ if [ "$VAL" = "no" ]; then
CFG_GIF="$VAL"
else
UNKNOWN_OPT=yes
@@ -2031,7 +2166,7 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
- sql-*|gfx-*|decoration-*|kbd-*|mouse-*)
+ sql-*|gfx-*|decoration-*|kbd-*|mouse-*|imageformat-*)
# if Qt style options were used, $VAL can be "no", "qt", or "plugin"
# if autoconf style options were used, $VAL can be "yes" or "no"
[ "$VAL" = "yes" ] && VAL=qt
@@ -2073,6 +2208,13 @@ while [ "$#" -gt 0 ]; do
avail="$CFG_MOUSE_PLUGIN_AVAILABLE"
fi
;;
+ imageformat)
+ avail="$CFG_IMAGEFORMAT_PLUGIN_AVAILABLE"
+ if [ "$OPT" != "plugin" ]; then
+ # png is always built in
+ avail="$avail png"
+ fi
+ ;;
*)
avail=""
echo "BUG: Unhandled type $VAR used in $CURRENT_OPT"
@@ -2093,6 +2235,11 @@ while [ "$#" -gt 0 ]; do
# set the CFG_SQL_driver
eval "CFG_SQL_$VAL=\$OPT"
continue
+ elif [ "$VAR" = "imageformat" ]; then
+ [ "$OPT" = "qt" ] && OPT=yes
+ VAL="`echo $VAL |tr a-z A-Z`"
+ eval "CFG_$VAL=$OPT"
+ continue
fi
if [ "$OPT" = "plugin" ] || [ "$OPT" = "qt" ]; then
@@ -2238,6 +2385,13 @@ while [ "$#" -gt 0 ]; do
QT_CFLAGS_FPU=$VAL
fi
;;
+ icu)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_ICU="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
*)
UNKNOWN_OPT=yes
;;
@@ -2258,6 +2412,11 @@ if [ "$CFG_GUI" = "no" ]; then
CFG_QT3SUPPORT="no"
fi
+#disable Qt3Support for Lighthouse
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ CFG_QT3SUPPORT="no"
+fi
+
# update QT_CONFIG to show our current predefined configuration
case "$CFG_QCONFIG" in
minimal|small|medium|large|full)
@@ -2328,7 +2487,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then
[ "$OPT_VERBOSE" = "yes" ] && echo "Performing shadow build..."
fi
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "yes" ]; then
echo
echo "WARNING: -debug-and-release is not supported anymore on Qt/X11 and Qt for Embedded Linux"
echo "Qt can be built in release mode with separate debug information, so"
@@ -2447,7 +2606,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then
fi
# symlink fonts to be able to run application from build directory
-if [ "$PLATFORM_QWS" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ] && [ ! -d "${outpath}/lib/fonts" ]; then
if [ "$PLATFORM" = "$XPLATFORM" ]; then
mkdir -p "${outpath}/lib"
ln -s "${relpath}/lib/fonts" "${outpath}/lib/fonts"
@@ -2561,6 +2720,7 @@ if [ "$CFG_EMBEDDED" != "no" ]; then
echo "Qt for Embedded Linux is not supported on this platform. Disabling."
CFG_EMBEDDED=no
PLATFORM_QWS=no
+ PLATFORM_QPA=no
;;
esac
fi
@@ -2568,7 +2728,7 @@ if [ -z "$PLATFORM" ]; then
PLATFORM_NOTES=
case "$UNAME_SYSTEM:$UNAME_RELEASE" in
Darwin:*)
- if [ "$PLATFORM_MAC" = "yes" ]; then
+ if [ "$PLATFORM_MAC" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
PLATFORM=macx-g++
# PLATFORM=macx-xcode
else
@@ -2802,7 +2962,7 @@ if [ '!' -f "${XQMAKESPEC}/qplatformdefs.h" ]; then
fi
# now look at the configs and figure out what platform we are config'd for
-[ "$CFG_EMBEDDED" = "no" ] \
+[ "$CFG_EMBEDDED" = "no" ] && [ "$PLATFORM_QPA" != "yes" ] \
&& [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ] \
&& PLATFORM_X11=yes
### echo "$XQMAKESPEC" | grep mkspecs/qws >/dev/null 2>&1 && PLATFORM_QWS=yes
@@ -3010,6 +3170,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
sh4al)
CFG_ARCH=sh4a
;;
+ arm*)
+ CFG_ARCH=arm
+ ;;
*)
CFG_ARCH="$CFG_EMBEDDED"
;;
@@ -3022,6 +3185,16 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
CFG_ARCH=$CFG_HOST_ARCH
fi
+# for compatibility
+COMPAT_ARCH=
+case "$CFG_ARCH" in
+arm*)
+ # previously, armv6 was a different arch
+ CFG_ARCH=arm
+ COMPAT_ARCH=armv6
+ ;;
+esac
+
if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then
if [ "$OPT_VERBOSE" = "yes" ]; then
echo " '$CFG_ARCH' is supported"
@@ -3047,7 +3220,7 @@ fi
if [ "$OPT_VERBOSE" = "yes" ]; then
echo "System architecture: '$CFG_ARCH'"
- if [ "$PLATFORM_QWS" = "yes" ]; then
+ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
echo "Host architecture: '$CFG_HOST_ARCH'"
fi
fi
@@ -3099,14 +3272,14 @@ fi
# process CFG_MAC_ARCHS
if [ "$PLATFORM_MAC" = "yes" ]; then
# check -arch arguments for validity.
- ALLOWED="x86 ppc x86_64 ppc64 i386"
+ ALLOWED="x86 ppc x86_64 ppc64 i386 arm armv6 armv7"
# Save the list so we can re-write it using only valid values
CFG_MAC_ARCHS_IN="$CFG_MAC_ARCHS"
CFG_MAC_ARCHS=
for i in $CFG_MAC_ARCHS_IN
do
if echo "$ALLOWED" | grep -w -v "$i" > /dev/null 2>&1; then
- echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64";
+ echo "Unknown architecture: \"$i\". Supported architectures: x86[i386] ppc x86_64 ppc64 arm armv6 armv7";
exit 2;
fi
if [ "$i" = "i386" -o "$i" = "x86" ]; then
@@ -3152,6 +3325,21 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
fi
fi
+if [ "$CFG_EMBEDDED" = "nacl" ]; then
+ TEST_COMPILER="nacl-gcc"
+fi
+
+SYSROOT_FLAG=
+if [ -n "$CFG_SYSROOT" ]; then
+ if compilerSupportsFlag --sysroot="$CFG_SYSROOT"; then
+ [ "$OPT_VERBOSE" = "yes" ] && echo "Setting sysroot to: $CFG_SYSROOT"
+ SYSROOT_FLAG="--sysroot=$CFG_SYSROOT"
+ else
+ echo >&2 "The compiler doesn't support the --sysroot flag, I can't set the sysroot"
+ exit 1
+ fi
+fi
+export SYSROOT_FLAG # used by config.tests/unix/compile.test
# auto-detect precompiled header support
if [ "$CFG_PRECOMPILE" = "auto" ]; then
@@ -3306,12 +3494,16 @@ fi
if [ -z "$QT_INSTALL_PREFIX" ]; then
if [ "$CFG_DEV" = "yes" ]; then
QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
- elif [ "$PLATFORM_QWS" = "yes" ]; then
- QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
+ elif [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+ if [ "$PLATFORM_QPA" = "yes" ]; then
+ QT_INSTALL_PREFIX="/usr/local/Trolltech/QtLighthouse-${QT_VERSION}"
+ else
+ QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
+ fi
if [ "$PLATFORM" != "$XPLATFORM" ]; then
QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
fi
- elif [ -d "$EPOCROOT" ]; then
+ elif [ -d "$EPOCROOT" ] && [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
@@ -3518,7 +3710,7 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
[-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]
[-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]
[-platform] [-D <string>] [-I <string>] [-L <string>] [-help]
- [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
+ [-qt-zlib] [-system-zlib] [-no-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]
[-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]
[-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]
[-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue]
@@ -3540,12 +3732,15 @@ Usage: $relconf [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir
Installation options:
+ -qpa ................ This will enable the QPA build.
+ QPA is a window system agnostic implementation of Qt.
+
These are optional, but you may specify install directories.
-prefix <dir> ...... This will install everything relative to <dir>
(default $QT_INSTALL_PREFIX)
EOF
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
cat <<EOF
-hostprefix [dir] .. Tools and libraries needed when developing
@@ -3624,7 +3819,7 @@ Configure options:
+ -largefile ......... Enables Qt to access files larger than 4 GB.
EOF
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
EXCN="*"
EXCY=" "
else
@@ -3709,7 +3904,8 @@ fi
See the README file for a list of supported
operating systems and compilers.
EOF
-if [ "${PLATFORM_QWS}" != "yes" ]; then
+
+if [ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ]; then
cat << EOF
-graphicssystem <sys> Sets an alternate graphics system. Available options are:
raster - Software rasterizer
@@ -3718,6 +3914,7 @@ cat << EOF
EOF
fi
+
cat << EOF
-no-mmx ............ Do not compile with use of MMX instructions.
@@ -3747,8 +3944,6 @@ Third Party Libraries:
See http://www.gzip.org/zlib
-no-gif ............ Do not compile GIF reading support.
- * -qt-gif ............ Compile GIF reading support.
- See also src/gui/image/qgifhandler_p.h
-no-libtiff ........ Do not compile TIFF support.
-qt-libtiff ........ Use the libtiff bundled with Qt.
@@ -3844,7 +4039,7 @@ else
SBN="*"
fi
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
cat << EOF
@@ -4071,13 +4266,32 @@ Qt/Mac only:
-sdk <sdk> ......... Build Qt using Apple provided SDK <sdk>. This option requires gcc 4.
To use a different SDK with gcc 3.3, set the SDKROOT environment variable.
+ -harfbuzz .......... Use HarfBuzz to do text layout instead of Core Text when possible.
+ It is only available to Cocoa builds.
+ * -no-harfbuzz ....... Disable HarfBuzz on Mac. It can still be enabled by setting
+ QT_ENABLE_HARFBUZZ environment variable.
+
EOF
fi
if [ "$PLATFORM_QWS" = "yes" ]; then
cat << EOF
+Qt for Embedded Linux:
+
+ -embedded <arch> .... This will enable the embedded build, you must have a
+ proper license for this switch to work.
+ Example values for <arch>: arm mips x86 generic
+EOF
+fi
+
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ cat << EOF
+Qt for QPA only:
+EOF
+fi
-Qt for Embedded Linux only:
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
+ cat << EOF
-xplatform target ... The target platform when cross-compiling.
@@ -4085,10 +4299,6 @@ Qt for Embedded Linux only:
-feature-<feature> .. Compile in <feature>. The available features
are described in src/corelib/global/qfeatures.txt
- -embedded <arch> .... This will enable the embedded build, you must have a
- proper license for this switch to work.
- Example values for <arch>: arm mips x86 generic
-
-armfpa ............. Target platform uses the ARM-FPA floating point format.
-no-armfpa .......... Target platform does not use the ARM-FPA floating point format.
@@ -4113,6 +4323,17 @@ Qt for Embedded Linux only:
-qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the
default ($CFG_QCONFIG).
+ -no-opengl .......... Do not support OpenGL.
+ -opengl <api> ....... Enable OpenGL ES support
+ With no parameter, this will attempt to auto-detect OpenGL ES 1.x
+ or 2.x, or regular desktop OpenGL.
+ Use es1 or es2 for <api> to override auto-detection.
+EOF
+fi
+
+if [ "$PLATFORM_QWS" = "yes" ]; then
+ cat << EOF
+
-depths <list> ...... Comma-separated list of supported bit-per-pixel
depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.
@@ -4125,14 +4346,6 @@ Qt for Embedded Linux only:
-no-decoration-<style> ....Disable decoration <style> entirely.
Possible values for <style>: [ $CFG_DECORATION_AVAILABLE ]
- -no-opengl .......... Do not support OpenGL.
- -opengl <api> ....... Enable OpenGL ES support
- With no parameter, this will attempt to auto-detect OpenGL ES 1.x
- or 2.x. Use es1 or es2 for <api> to override auto-detection.
-
- NOTE: A QGLScreen driver for the hardware is required to support
- OpenGL ES on Qt for Embedded Linux.
-
-qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library.
Possible values for <driver>: [ $CFG_GFX_AVAILABLE ]
-plugin-gfx-<driver> Enable graphics <driver> as a plugin to be
@@ -4164,8 +4377,7 @@ Qt for Embedded Linux only:
EOF
fi
-
-if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
if [ "$CFG_GLIB" = "no" ]; then
GBY=" "
GBN="+"
@@ -4204,6 +4416,8 @@ fi # Help
if [ "$PLATFORM_QWS" = "yes" ]; then
Platform="Qt for Embedded Linux"
+elif [ "$PLATFORM_QPA" = "yes" ]; then
+ Platform="Qt Lighthouse"
elif [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
Platform="Qt for Symbian"
elif [ "$PLATFORM_MAC" = "yes" ]; then
@@ -4542,27 +4756,37 @@ fi
# $2: optional transformation
# relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter
# is where the resulting variable is written to
+# Assumes that the optional transformation produces the same variable name for each hit
setBootstrapVariable()
{
getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK '
+BEGIN {
+ variable = ""
+ combinedValue = ""
+}
{
- varLength = index($0, "=") - 1
- valStart = varLength + 2
- if (substr($0, varLength, 1) == "+") {
- varLength = varLength - 1
- valStart = valStart + 1
+ valStart = index($0, "=") + 1
+
+ append = 0
+ if (substr($0, valStart - 2, 1) == "+") {
+ append = 1
+ }
+
+ variable = substr($0, 0, valStart - 2 - append)
+ value = substr($0, valStart)
+ gsub("[ \t]+", "", variable)
+ gsub("^[ \t]+", "", value)
+ gsub("[ \t]+$", "", value)
+
+ if (append == 1 && length(combinedValue) > 0) {
+ combinedValue = combinedValue " " value
+ } else {
+ combinedValue = value
}
- var = substr($0, 0, varLength)
- gsub("[ \t]+", "", var)
- val = substr($0, valStart)
- printf "%s_%s = %s\n", var, NR, val
}
END {
- if (length(var) > 0) {
- printf "%s =", var
- for (i = 1; i <= NR; ++i)
- printf " $(%s_%s)", var, i
- printf "\n"
+ if (length(combinedValue) > 0) {
+ printf "%s = %s\n", variable, combinedValue
}
}' >> "$mkfile"
}
@@ -4660,8 +4884,8 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
EXTRA_LFLAGS="\$(QMAKE_LFLAGS_RPATH)\"$rpath\" $EXTRA_LFLAGS"
done
fi
- if [ "$PLATFORM_MAC" = "yes" ]; then
- echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >> "$mkfile"
+ if [ "$BUILD_ON_MAC" = "yes" ]; then
+ echo "export MACOSX_DEPLOYMENT_TARGET = 10.5" >> "$mkfile"
echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile"
EXTRA_LFLAGS="$EXTRA_LFLAGS \$(CARBON_LFLAGS)"
@@ -4831,7 +5055,7 @@ if [ "$CFG_IWMMXT" = "yes" ]; then
fi
# detect neon support
-if ( [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ] ) && [ "${CFG_NEON}" = "auto" ]; then
+if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then
CFG_NEON=yes
else
@@ -4888,6 +5112,19 @@ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
fi
fi
+# check IPC support
+if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipc_sysv "ipc_sysv" $L_FLAGS $I_FLAGS $l_FLAGS ; then
+ # SYSV IPC is not supported - check POSIX IPC
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipc_posix "ipc_posix" $L_FLAGS $I_FLAGS $l_FLAGS ; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_POSIX_IPC"
+ else
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SYSTEMSEMAPHORE QT_NO_SHAREDMEMORY"
+ if [ "$PLATFORM_QWS" = "yes" ]; then
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SEMAPHORE QT_NO_QWS_MULTIPROCESS QT_NO_QWS_SHARE_FONTS"
+ fi
+ fi
+fi
+
# detect zlib
if [ "$CFG_ZLIB" = "no" ]; then
# Note: Qt no longer support builds without zlib
@@ -4933,7 +5170,8 @@ if [ "$CFG_QS60STYLE" = "auto" ]; then
fi
if [ "$CFG_SYMBIAN_DEFFILES" = "auto" ]; then
- if [ "$XPLATFORM_SYMBIAN" = "yes" ] && [ "$CFG_DEV" = "no" ]; then
+ # elf2e32 crashes when using def files together with gcce.
+ if [ "$XPLATFORM_SYMBIAN" = "yes" ] && [ "$CFG_DEV" = "no" ] && [ "$XPLATFORM" != "symbian-gcce" ]; then
CFG_SYMBIAN_DEFFILES=yes
else
CFG_SYMBIAN_DEFFILES=no
@@ -5315,7 +5553,7 @@ fi
# auto-detect iconv(3) support
if [ "$CFG_ICONV" != "no" ]; then
- if [ "$PLATFORM_QWS" = "yes" ]; then
+ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
CFG_ICONV=no
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_ICONV=yes
@@ -5377,8 +5615,8 @@ if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
QT_NAMESPACE_MAC_CRC=`"$mactests/crc.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/crc $QT_NAMESPACE $L_FLAGS $I_FLAGS $l_FLAGS`
fi
-# X11/QWS
-if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
+# X11/QWS/Lighthouse
+if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
# auto-detect Glib support
if [ "$CFG_GLIB" != "no" ]; then
@@ -5490,6 +5728,25 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
CFG_ICD=no
fi
+ # auto-detect libicu support
+ if [ "$CFG_ICU" != "no" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/icu "ICU" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ [ "$CFG_ICU" = "auto" ] && CFG_ICU=yes
+ else
+ if [ "$CFG_ICU" = "auto" ]; then
+ CFG_ICU=no
+ elif [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
+ # CFG_ICU is "yes"
+
+ echo "The ICU library support cannot be enabled."
+ echo " Turn on verbose messaging (-v) to $0 to see the final report."
+ echo " If you believe this message is in error you may use the continue"
+ echo " switch (-continue) to $0 to continue."
+ exit 101
+ fi
+ fi
+ fi
+
# Auto-detect PulseAudio support
if [ "$CFG_PULSEAUDIO" != "no" ]; then
if [ -n "$PKG_CONFIG" ]; then
@@ -5512,7 +5769,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
fi
fi
fi
-fi # X11/QWS
+fi # X11/QWS/Lighthouse
# X11
if [ "$PLATFORM_X11" = "yes" -a "$CFG_GUI" != "no" ]; then
@@ -5712,6 +5969,12 @@ if [ "$PLATFORM_X11" = "yes" ]; then
fi
fi
+ # Additional check to decide if WebKit support will be included
+ if [ "$CFG_XRENDER" = "no" ] && [ "$CFG_WEBKIT" != "no" ]; then
+ echo "Warning: -no-xrender will disable the QtWebkit module."
+ CFG_WEBKIT="no"
+ fi
+
# auto-detect MIT-SHM support
if [ "$CFG_MITSHM" != "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/mitshm "mitshm" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
@@ -5920,6 +6183,122 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
fi
+
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ # auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
+ if [ "$CFG_OPENGL" = "auto" ] || [ "$CFG_OPENGL" = "yes" ]; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
+ CFG_OPENGL=desktop
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ CFG_OPENGL=es2
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ CFG_OPENGL=es1
+ else
+ if [ "$CFG_OPENGL" = "yes" ]; then
+ echo "All the OpenGL functionality tests failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ CFG_OPENGL=no
+ fi
+ elif [ "$CFG_OPENGL" = "es1" ]; then
+ # OpenGL ES 1.x
+ "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS
+ if [ $? != "0" ]; then
+ echo "The OpenGL ES 1.x functionality test failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL_ES1, QMAKE_LIBDIR_OPENGL_ES1 and QMAKE_LIBS_OPENGL_ES1 in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ elif [ "$CFG_OPENGL" = "es2" ]; then
+ #OpenGL ES 2.x
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists glesv2 2>/dev/null; then
+ QMAKE_INCDIR_OPENGL_ES2=`$PKG_CONFIG --variable=includedir glesv2 2>/dev/null`
+ QMAKE_LIBDIR_OPENGL_ES2=`$PKG_CONFIG --variable=libdir glesv2 2>/dev/null`
+ QMAKE_LIBS_OPENGL_ES2=`$PKG_CONFIG --libs glesv2 2>/dev/null`
+ QMAKE_CFLAGS_OPENGL_ES2=`$PKG_CONFIG --cflags glesv2 2>/dev/null`
+ QMakeVar set QMAKE_INCDIR_OPENGL_ES2 "$QMAKE_INCDIR_OPENGL_ES2"
+ QMakeVar set QMAKE_LIBDIR_OPENGL_ES2 "$QMAKE_LIBDIR_OPENGL_ES2"
+ QMakeVar set QMAKE_LIBS_OPENGL_ES2 "$QMAKE_LIBS_OPENGL_ES2"
+ fi
+
+ "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_LIBS_OPENGL_ES2 $QMAKE_CFLAGS_OPENGL_ES2
+ if [ $? != "0" ]; then
+ echo "The OpenGL ES 2.0 functionality test failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ elif [ "$CFG_OPENGL" = "desktop" ]; then
+ # Desktop OpenGL support
+ "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengldesktop "OpenGL" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS
+ if [ $? != "0" ]; then
+ echo "The OpenGL functionality test failed!"
+ echo " You might need to modify the include and library search paths by editing"
+ echo " QMAKE_INCDIR_OPENGL, QMAKE_LIBDIR_OPENGL and QMAKE_LIBS_OPENGL in"
+ echo " ${XQMAKESPEC}."
+ exit 1
+ fi
+ fi
+
+ # auto-detect FontConfig support
+ if [ "$CFG_FONTCONFIG" != "no" ]; then
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists fontconfig --exists freetype2 2>/dev/null; then
+ QT_CFLAGS_FONTCONFIG=`$PKG_CONFIG --cflags fontconfig --cflags freetype2 2>/dev/null`
+ QT_LIBS_FONTCONFIG=`$PKG_CONFIG --libs fontconfig --libs freetype2 2>/dev/null`
+ else
+ QT_CFLAGS_FONTCONFIG=
+ QT_LIBS_FONTCONFIG="-lfreetype -lfontconfig"
+ fi
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/fontconfig "FontConfig" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS $QT_CFLAGS_FONTCONFIG $QT_LIBS_FONTCONFIG; then
+ QT_CONFIG="$QT_CONFIG fontconfig"
+ QMakeVar set QMAKE_CFLAGS_FONTCONFIG "$QT_CFLAGS_FONTCONFIG"
+ QMakeVar set QMAKE_LIBS_FONTCONFIG "$QT_LIBS_FONTCONFIG"
+ CFG_LIBFREETYPE=system
+ fi
+
+ fi
+
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists wayland-client 2>/dev/null; then
+ QMAKE_CFLAGS_WAYLAND=`$PKG_CONFIG --cflags wayland-client 2>/dev/null`
+ QMAKE_LIBS_WAYLAND=`$PKG_CONFIG --libs wayland-client 2>/dev/null`
+ QMAKE_INCDIR_WAYLAND=`$PKG_CONFIG --variable=includedir wayland-client 2>/dev/null`
+ QMAKE_LIBDIR_WAYLAND=`$PKG_CONFIG --variable=libdir wayland-client 2>/dev/null`
+
+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists xkbcommon 2>/dev/null; then
+ QMAKE_CFLAGS_WAYLAND="$QMAKE_CFLAGS_WAYLAND `$PKG_CONFIG --cflags xkbcommon 2>/dev/null`"
+ QMAKE_LIBS_WAYLAND="$QMAKE_LIBS_WAYLAND `$PKG_CONFIG --libs xkbcommon 2>/dev/null`"
+ else
+ QMAKE_DEFINES_WAYLAND=QT_NO_WAYLAND_XKB
+ fi
+ fi
+
+ # QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
+ if [ -n "$QMAKE_CFLAGS_WAYLAND" ] || [ -n "$QMAKE_LIBS_WAYLAND" ]; then
+ QMakeVar set QMAKE_CFLAGS_WAYLAND "$QMAKE_CFLAGS_WAYLAND"
+ QMakeVar set QMAKE_INCDIR_WAYLAND "$QMAKE_INCDIR_WAYLAND"
+ QMakeVar set QMAKE_LIBS_WAYLAND "$QMAKE_LIBS_WAYLAND"
+ QMakeVar set QMAKE_LIBDIR_WAYLAND "$QMAKE_LIBDIR_WAYLAND"
+ QMakeVar set QMAKE_DEFINES_WAYLAND " $QMAKE_DEFINES_WAYLAND"
+ fi
+
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qpa/wayland "Wayland" $L_FLAGS $I_FLAGS $l_FLAGS $QMAKE_CFLAGS_WAYLAND $QMAKE_LIBS_WAYLAND; then
+ QT_CONFIG="$QT_CONFIG wayland"
+ fi
+
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/coreservices "CoreServices" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+ QT_CONFIG="$QT_CONFIG coreservices"
+ else
+ QMakeVar add DEFINES QT_NO_CORESERVICES
+ fi
+
+fi
+
+
# QWS
if [ "$PLATFORM_QWS" = "yes" ]; then
@@ -5938,7 +6317,7 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
CFG_EGL=auto
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles2 "OpenGL ES 2.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_OPENGL=es2
- elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/opengles1 "OpenGL ES 1.x" $L_FLAGS $I_FLAGS $l_FLAGS; then
CFG_OPENGL=es1
else
echo "All the OpenGL ES functionality tests failed!"
@@ -5974,6 +6353,9 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
echo "Desktop OpenGL support is not avaliable on Qt for Embedded Linux"
exit 1
fi
+fi
+
+if [ "$PLATFORM_QWS" = "yes" ]; then
# screen drivers
for screen in ${CFG_GFX_ON} ${CFG_GFX_PLUGIN}; do
@@ -6166,7 +6548,7 @@ fi
if [ "$CFG_DOUBLEFORMAT" = "auto" ]; then
- if [ "$PLATFORM_QWS" != "yes" ]; then
+ if [ "$PLATFORM_QWS" != "yes" -o "$PLATFORM_QPA" = "yes" ]; then
CFG_DOUBLEFORMAT=normal
else
"$unixtests/doubleformat.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath"
@@ -6220,13 +6602,9 @@ fi
# find if the platform supports IPv6
if [ "$CFG_IPV6" != "no" ]; then
- #
- # We accidently enabled IPv6 for Qt Symbian in 4.6.x. However the underlying OpenC does not fully support IPV6.
- # Therefore for 4.7.1 and following we disable it until OpenC either supports it or we have the native Qt
- # symbian socket engine.
- #
if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
- CFG_IPV6=no
+ #IPV6 should always be enabled for Symbian release
+ CFG_IPV6=yes
elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6 "IPv6" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_IPV6=yes
else
@@ -6433,13 +6811,20 @@ elif [ "$XPLATFORM_SYMBIAN_SBSV2" = "yes" ]; then
fi
if [ "$CFG_JAVASCRIPTCORE_JIT" = "yes" ] || [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
- if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
+ if [ "$CFG_ARCH" = "arm" ]; then
"$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/javascriptcore-jit "javascriptcore-jit" $L_FLAGS $I_FLAGS $l_FLAGS
if [ $? != "0" ]; then
CFG_JAVASCRIPTCORE_JIT=no
fi
- elif [ "$XPLATFORM" = "symbian-gcce" ]; then
- CFG_JAVASCRIPTCORE_JIT=no
+ else
+ case "$XPLATFORM" in
+ symbian-gcce)
+ CFG_JAVASCRIPTCORE_JIT=no
+ ;;
+ linux-icc*)
+ CFG_JAVASCRIPTCORE_JIT=no
+ ;;
+ esac
fi
fi
@@ -6472,7 +6857,12 @@ fi
#-------------------------------------------------------------------------------
### fix this: user input should be validated in a loop
-if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" ]; then
+ PROMPT_FOR_DEPTHS="yes"
+else
+ PROMPT_FOR_DEPTHS="no"
+fi
+if [ "$CFG_QWS_DEPTHS" = "prompted" -a "$PROMPT_FOR_DEPTHS" = "yes" ]; then
echo
echo "Choose pixel-depths to support:"
echo
@@ -6615,6 +7005,11 @@ else
QT_CONFIG="$QT_CONFIG accessibility"
fi
+# egl stuff does not belong in lighthouse, but rather in plugins
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ CFG_EGL="no"
+fi
+
# enable egl
if [ "$CFG_EGL" = "no" ]; then
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_EGL"
@@ -6664,8 +7059,7 @@ fi
if [ "$CFG_OPENGL" = "es1" ] || [ "$CFG_OPENGL" = "es2" ]; then
if [ "$PLATFORM_QWS" = "yes" ]; then
- QCONFIG_FLAGS="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
- QCONFIG_FLAGS="$QCONFIG_FLAGS Q_USE_EGLWINDOWSURFACE"
+ QCONFIG_FLAGS="$QCONFIG_FLAGS Q_BACKINGSTORE_SUBSURFACES"
fi
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_OPENGL_ES"
fi
@@ -6706,6 +7100,19 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
QT_CONFIG="$QT_CONFIG embedded"
rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
fi
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ QMAKE_CONFIG="$QMAKE_CONFIG qpa"
+ QT_CONFIG="$QT_CONFIG qpa"
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG qpa"
+ rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
+fi
+
+if [ "$CFG_EMBEDDED" = "nacl" ]; then
+ QMAKE_CONFIG="$QMAKE_CONFIG nacl pepper"
+ QT_CONFIG="$QT_CONFIG nacl pepper"
+ rm -f "src/.moc/$QMAKE_OUTDIR/allmoc.cpp" # needs remaking if config changes
+fi
+
if [ "$XPLATFORM_MINGW" != "yes" ]; then
# Do not set this here for Windows. Let qmake do it so
# debug and release precompiled headers are kept separate.
@@ -6870,6 +7277,7 @@ fi
[ "$CFG_NAS" = "system" ] && QT_CONFIG="$QT_CONFIG nas"
[ "$CFG_OPENSSL" = "yes" ] && QT_CONFIG="$QT_CONFIG openssl"
[ "$CFG_OPENSSL" = "linked" ] && QT_CONFIG="$QT_CONFIG openssl-linked"
+[ "$CFG_MAC_HARFBUZZ" = "yes" ] && QT_CONFIG="$QT_CONFIG harfbuzz"
if [ "$PLATFORM_X11" = "yes" ]; then
[ "$CFG_SM" = "yes" ] && QT_CONFIG="$QT_CONFIG x11sm"
@@ -6964,7 +7372,7 @@ if [ '!' -z "$I_FLAGS" ]; then
fi
# turn off exceptions for the compilers that support it
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
COMPILER=`echo $XPLATFORM | cut -f 3- -d-`
elif [ "$XPLATFORM" != "$PLATFORM" ]; then
COMPILER=`echo $XPLATFORM | cut -f 2- -d-`
@@ -7001,6 +7409,10 @@ if [ "$CFG_ICD" = "yes" ]; then
QT_CONFIG="$QT_CONFIG icd"
fi
+if [ "$CFG_ICU" = "yes" ]; then
+ QT_CONFIG="$QT_CONFIG icu"
+fi
+
#
# Some Qt modules are too advanced in C++ for some old compilers
# Detect here the platforms where they are known to work.
@@ -7120,10 +7532,8 @@ EOF
canBuildQtConcurrent="no"
;;
symbian-gcce)
- canBuildQtConcurrent="no"
;;
symbian-armcc)
- canBuildQtConcurrent="no"
;;
esac
@@ -7185,13 +7595,13 @@ else
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SVG"
fi
-if [ "$CFG_WEBKIT" = "auto" ]; then
+if [ "$CFG_WEBKIT" != "no" ]; then
CFG_WEBKIT="$canBuildWebKit"
fi
if [ "$CFG_WEBKIT" != "no" ]; then
# This include takes care of adding "webkit" to QT_CONFIG.
- cp -f "$relpath/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri" "$outpath/mkspecs/modules/qt_webkit_version.pri"
+ cp -f "$relpath/src/3rdparty/webkit/Source/WebKit/qt/qt_webkit_version.pri" "$outpath/mkspecs/modules/qt_webkit_version.pri"
# The reason we set CFG_WEBKIT, is such that the printed overview of what will be enabled, shows correctly.
if [ "$CFG_WEBKIT" = "debug" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG webkit-debug"
@@ -7402,7 +7812,7 @@ esac
# ipv6
#
# X11 : x11sm xinerama xcursor xfixes xrandr xrender mitshm fontconfig xkb
-# Embedded: embedded freetype
+# Embedded: embedded qpa freetype
#
ALL_OPTIONS=
BUILD_CONFIG=
@@ -7516,10 +7926,20 @@ if [ ! -z "$COMPAT_COMPILER" ]; then
fi
fi
+# is this arch compatible with some other "standard" build key
+QT_BUILD_KEY_COMPAT_ARCH=
+if [ ! -z "$COMPAT_ARCH" ]; then
+ QT_BUILD_KEY_COMPAT_ARCH="$CFG_USER_BUILD_KEY $COMPAT_ARCH $TARGET_OPERATING_SYSTEM $COMPILER $BUILD_OPTIONS"
+ if [ -n "$QT_NAMESPACE" ]; then
+ QT_BUILD_KEY_COMPAT_COMPILER="$QT_BUILD_KEY_COMPAT_ARCH $QT_NAMESPACE"
+ fi
+fi
+
# strip out leading/trailing/extra whitespace
QT_BUILD_KEY=`echo $QT_BUILD_KEY | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
QT_BUILD_KEY_COMPAT=`echo $QT_BUILD_KEY_COMPAT | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
QT_BUILD_KEY_COMPAT_COMPILER=`echo $QT_BUILD_KEY_COMPAT_COMPILER | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
+QT_BUILD_KEY_COMPAT_ARCH=`echo $QT_BUILD_KEY_COMPAT_ARCH | sed -e "s, *, ,g" -e "s,^ *,," -e "s, *$,,"`
#-------------------------------------------------------------------------------
# part of configuration information goes into qconfig.h
@@ -7572,6 +7992,11 @@ if [ -n "$QT_BUILD_KEY_COMPAT_COMPILER" ]; then
echo "#define QT_BUILD_KEY_COMPAT2 \"$QT_BUILD_KEY_COMPAT_COMPILER\"" \
>> "$outpath/src/corelib/global/qconfig.h.new"
fi
+if [ -n "$QT_BUILD_KEY_COMPAT_ARCH" ]; then
+ echo "#define QT_BUILD_KEY_COMPAT3 \"$QT_BUILD_KEY_COMPAT_ARCH\"" \
+ >> "$outpath/src/corelib/global/qconfig.h.new"
+fi
+
echo "" >>"$outpath/src/corelib/global/qconfig.h.new"
echo "#ifdef QT_BOOTSTRAPPED" >>"$outpath/src/corelib/global/qconfig.h.new"
@@ -7723,6 +8148,11 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
done
fi # QWS
+if [ "$PLATFORM_QPA" = "yes" ]; then
+ # Add QPA to config.h
+ QCONFIG_FLAGS="$QCONFIG_FLAGS Q_WS_QPA QT_NO_QWS_QPF QT_NO_QWS_QPF2"
+fi
+
if [ "${CFG_USE_FLOATMATH}" = "yes" ]; then
QCONFIG_FLAGS="${QCONFIG_FLAGS} QT_USE_MATH_H_FLOATS"
fi
@@ -7759,7 +8189,7 @@ QMakeVar set sql-plugins "$SQL_PLUGINS"
[ "$CFG_SXE" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_SXE"
[ "$CFG_DBUS" = "no" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_DBUS"
-if [ "$PLATFORM_QWS" != "yes" ]; then
+if [ "$PLATFORM_QWS" != "yes" -a "$PLATFORM_QPA" != "yes" ]; then
[ "$CFG_GRAPHICS_SYSTEM" = "raster" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_RASTER"
[ "$CFG_GRAPHICS_SYSTEM" = "opengl" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENGL"
[ "$CFG_GRAPHICS_SYSTEM" = "openvg" ] && QCONFIG_FLAGS="$QCONFIG_FLAGS QT_GRAPHICSSYSTEM_OPENVG"
@@ -7816,7 +8246,7 @@ if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then
# We cannot use Linux's default export rules since they export everything.
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_DLL"
# Disable non-working features.
- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT QT_NO_QFUTURE QT_NO_CRASHHANDLER QT_NO_PRINTER QT_NO_SYSTEMTRAYICON"
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CRASHHANDLER QT_NO_PRINTER QT_NO_SYSTEMTRAYICON"
fi
if [ -n "$QCONFIG_FLAGS" ]; then
@@ -7961,6 +8391,16 @@ QT_NAMESPACE = $QT_NAMESPACE
QT_NAMESPACE_MAC_CRC = $QT_NAMESPACE_MAC_CRC
EOF
+if [ -n "$CFG_SYSROOT" ]; then
+ echo "# sysroot" >>"$QTCONFIG.tmp"
+ echo `basename "$XQMAKESPEC"` \{ >>"$QTCONFIG.tmp"
+ echo " QT_SYSROOT += \$\$quote($CFG_SYSROOT)" >>"$QTCONFIG.tmp"
+ echo " QMAKE_CFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
+ echo " QMAKE_CXXFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
+ echo " QMAKE_LFLAGS += --sysroot=\$\$QT_SYSROOT" >>"$QTCONFIG.tmp"
+ echo "}" >> "$QTCONFIG.tmp"
+ echo >> "$QTCONFIG.tmp"
+fi
if [ "$CFG_RPATH" = "yes" ]; then
echo "QMAKE_RPATHDIR += \"$QT_INSTALL_LIBS\"" >> "$QTCONFIG.tmp"
fi
@@ -7974,6 +8414,11 @@ if [ -n "$QT_CFLAGS_FPU" ]; then
echo "MMP_RULES += \"ARMFPU $QT_CFLAGS_FPU\"" >> "$QTCONFIG.tmp"
fi
+if [ -n "$QMAKE_INCDIR_OPENGL_ES2" ]; then
+ echo "#Qt opengl include path" >> "$QTCONFIG.tmp"
+ echo "QMAKE_INCDIR_OPENGL_ES2 = \"$QMAKE_INCDIR_OPENGL_ES2\"" >> "$QTCONFIG.tmp"
+fi
+
# replace qconfig.pri if it differs from the newly created temp file
if cmp -s "$QTCONFIG.tmp" "$QTCONFIG"; then
rm -f "$QTCONFIG.tmp"
@@ -8007,10 +8452,9 @@ QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
EOF
# Ensure we can link to uninistalled libraries
-if [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
+if [ "$XPLATFORM_MINGW" != "yes" ] && [ "$CFG_EMBEDDED" != "nacl" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
echo "QMAKE_LFLAGS = -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib \$\$QMAKE_LFLAGS" >> "$CACHEFILE.tmp"
fi
-
if [ -n "$QT_CFLAGS_PSQL" ]; then
echo "QT_CFLAGS_PSQL = $QT_CFLAGS_PSQL" >> "$CACHEFILE.tmp"
fi
@@ -8157,7 +8601,7 @@ else
echo "Architecture: $CFG_ARCH"
fi
-if [ "$PLATFORM_QWS" = "yes" ]; then
+if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_QPA" = "yes" ]; then
echo "Host architecture: $CFG_HOST_ARCH"
fi
@@ -8216,7 +8660,7 @@ case "$CFG_WEBKIT" in
debug) echo "WebKit module .......... yes (debug)" ;;
no) echo "WebKit module .......... no" ;;
esac
-if [ "$CFG_WEBKIT" != "no" ]; then
+if [ "$CFG_WEBKIT" != "no" ] || [ "$CFG_SCRIPT" != "no" ]; then
if [ "$CFG_JAVASCRIPTCORE_JIT" = "auto" ]; then
echo "JavaScriptCore JIT ..... To be decided by JavaScriptCore"
else
@@ -8238,7 +8682,7 @@ if [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]; then
echo "iWMMXt support ......... ${CFG_IWMMXT}"
echo "NEON support ........... ${CFG_NEON}"
fi
-[ "${PLATFORM_QWS}" != "yes" ] && echo "Graphics System ........ $CFG_GRAPHICS_SYSTEM"
+[ "${PLATFORM_QWS}" != "yes" -a "${PLATFORM_QPA}" != "yes" ] && echo "Graphics System ........ $CFG_GRAPHICS_SYSTEM"
echo "IPv6 support ........... $CFG_IPV6"
echo "IPv6 ifname support .... $CFG_IPV6IFNAME"
echo "getaddrinfo support .... $CFG_GETADDRINFO"
@@ -8361,6 +8805,7 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
echo "CoreWlan support ....... $CFG_COREWLAN"
fi
echo "ICD support ............ $CFG_ICD"
+echo "libICU support ......... $CFG_ICU"
echo
[ "$CFG_PTMALLOC" != "no" ] && echo "Use ptmalloc ........... $CFG_PTMALLOC"
diff --git a/configure.exe b/configure.exe
index a1fceeb..9538a4b 100755
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/demos/affine/main.cpp b/demos/affine/main.cpp
index c95e0b9..1975893 100644
--- a/demos/affine/main.cpp
+++ b/demos/affine/main.cpp
@@ -53,7 +53,7 @@ int main(int argc, char **argv)
QStyle *arthurStyle = new ArthurStyle();
xformWidget.setStyle(arthurStyle);
- QList<QWidget *> widgets = qFindChildren<QWidget *>(&xformWidget);
+ QList<QWidget *> widgets = xformWidget.findChildren<QWidget *>();
foreach (QWidget *w, widgets) {
w->setStyle(arthurStyle);
w->setAttribute(Qt::WA_AcceptTouchEvents);
diff --git a/demos/arthurplugin/arthurplugin.pro b/demos/arthurplugin/arthurplugin.pro
index 3114293..bc542fb 100644
--- a/demos/arthurplugin/arthurplugin.pro
+++ b/demos/arthurplugin/arthurplugin.pro
@@ -3,6 +3,7 @@ QTDIR = $$QT_SOURCE_TREE
CONFIG += designer plugin
TEMPLATE = lib
+TARGET = $$qtLibraryTarget(arthurplugin)
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/designer
contains(QT_CONFIG, opengl) {
diff --git a/demos/books/books.pro b/demos/books/books.pro
index a5e44e5..06718d1 100644
--- a/demos/books/books.pro
+++ b/demos/books/books.pro
@@ -16,8 +16,8 @@ INSTALLS += target sources
symbian: include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
wince*: {
- CONFIG(debug, debug|release):sqlPlugins.sources = $$QT_BUILD_TREE/plugins/sqldrivers/*d4.dll
- CONFIG(release, debug|release):sqlPlugins.sources = $$QT_BUILD_TREE/plugins/sqldrivers/*[^d]4.dll
+ CONFIG(debug, debug|release):sqlPlugins.files = $$QT_BUILD_TREE/plugins/sqldrivers/*d4.dll
+ CONFIG(release, debug|release):sqlPlugins.files = $$QT_BUILD_TREE/plugins/sqldrivers/*[^d]4.dll
sqlPlugins.path = sqldrivers
DEPLOYMENT += sqlPlugins
}
diff --git a/demos/boxes/glbuffers.cpp b/demos/boxes/glbuffers.cpp
index 7480d4a..e12132b 100644
--- a/demos/boxes/glbuffers.cpp
+++ b/demos/boxes/glbuffers.cpp
@@ -42,6 +42,16 @@
#include "glbuffers.h"
#include <QtGui/qmatrix4x4.h>
+
+void qgluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar)
+{
+ const GLdouble ymax = zNear * tan(fovy * M_PI / 360.0);
+ const GLdouble ymin = -ymax;
+ const GLdouble xmin = ymin * aspect;
+ const GLdouble xmax = ymax * aspect;
+ glFrustum(xmin, xmax, ymin, ymax, zNear, zFar);
+}
+
//============================================================================//
// GLTexture //
//============================================================================//
diff --git a/demos/boxes/glbuffers.h b/demos/boxes/glbuffers.h
index 6e29e93..6b18d3f 100644
--- a/demos/boxes/glbuffers.h
+++ b/demos/boxes/glbuffers.h
@@ -58,6 +58,8 @@ if (m_failed || !(assertion)) {
returnStatement; \
}
+void qgluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
+
QT_BEGIN_NAMESPACE
class QMatrix4x4;
QT_END_NAMESPACE
diff --git a/demos/boxes/qtbox.cpp b/demos/boxes/qtbox.cpp
index 347d05e..d241165 100644
--- a/demos/boxes/qtbox.cpp
+++ b/demos/boxes/qtbox.cpp
@@ -324,7 +324,7 @@ void QtBox::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWi
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadMatrixf(moveToRectMatrix);
- gluPerspective(60.0, 1.0, 0.01, 10.0);
+ qgluPerspective(60.0, 1.0, 0.01, 10.0);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
diff --git a/demos/boxes/scene.cpp b/demos/boxes/scene.cpp
index a838988..39cd0fc 100644
--- a/demos/boxes/scene.cpp
+++ b/demos/boxes/scene.cpp
@@ -922,7 +922,7 @@ void Scene::drawBackground(QPainter *painter, const QRectF &)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
- gluPerspective(60.0, width / height, 0.01, 15.0);
+ qgluPerspective(60.0, width / height, 0.01, 15.0);
glMatrixMode(GL_MODELVIEW);
diff --git a/demos/browser/browserapplication.cpp b/demos/browser/browserapplication.cpp
index efbcd56..3eb33c9 100644
--- a/demos/browser/browserapplication.cpp
+++ b/demos/browser/browserapplication.cpp
@@ -231,14 +231,14 @@ void BrowserApplication::loadSettings()
QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont);
int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize);
QFont standardFont = QFont(standardFontFamily, standardFontSize);
- standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
+ standardFont = qvariant_cast<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
defaultSettings->setFontFamily(QWebSettings::StandardFont, standardFont.family());
defaultSettings->setFontSize(QWebSettings::DefaultFontSize, standardFont.pointSize());
QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont);
int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize);
QFont fixedFont = QFont(fixedFontFamily, fixedFontSize);
- fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
+ fixedFont = qvariant_cast<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
defaultSettings->setFontFamily(QWebSettings::FixedFont, fixedFont.family());
defaultSettings->setFontSize(QWebSettings::DefaultFixedFontSize, fixedFont.pointSize());
diff --git a/demos/browser/cookiejar.cpp b/demos/browser/cookiejar.cpp
index 67bdf15..ac73aed 100644
--- a/demos/browser/cookiejar.cpp
+++ b/demos/browser/cookiejar.cpp
@@ -186,7 +186,7 @@ void CookieJar::save()
if (cookies.at(i).isSessionCookie())
cookies.removeAt(i);
}
- cookieSettings.setValue(QLatin1String("cookies"), qVariantFromValue<QList<QNetworkCookie> >(cookies));
+ cookieSettings.setValue(QLatin1String("cookies"), QVariant::fromValue<QList<QNetworkCookie> >(cookies));
cookieSettings.beginGroup(QLatin1String("Exceptions"));
cookieSettings.setValue(QLatin1String("block"), m_exceptions_block);
cookieSettings.setValue(QLatin1String("allow"), m_exceptions_allow);
diff --git a/demos/browser/networkaccessmanager.cpp b/demos/browser/networkaccessmanager.cpp
index b1300cb..e2e95b1 100644
--- a/demos/browser/networkaccessmanager.cpp
+++ b/demos/browser/networkaccessmanager.cpp
@@ -64,7 +64,7 @@
NetworkAccessManager::NetworkAccessManager(QObject *parent)
: QNetworkAccessManager(parent),
requestFinishedCount(0), requestFinishedFromCacheCount(0), requestFinishedPipelinedCount(0),
- requestFinishedSecureCount(0)
+ requestFinishedSecureCount(0), requestFinishedDownloadBufferCount(0)
{
connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)),
SLOT(authenticationRequired(QNetworkReply*,QAuthenticator*)));
@@ -106,14 +106,19 @@ void NetworkAccessManager::requestFinished(QNetworkReply *reply)
if (reply->attribute(QNetworkRequest::ConnectionEncryptedAttribute).toBool() == true)
requestFinishedSecureCount++;
+ if (reply->attribute(QNetworkRequest::DownloadBufferAttribute).isValid() == true)
+ requestFinishedDownloadBufferCount++;
+
if (requestFinishedCount % 10)
return;
double pctCached = (double(requestFinishedFromCacheCount) * 100.0/ double(requestFinishedCount));
double pctPipelined = (double(requestFinishedPipelinedCount) * 100.0/ double(requestFinishedCount));
double pctSecure = (double(requestFinishedSecureCount) * 100.0/ double(requestFinishedCount));
+ double pctDownloadBuffer = (double(requestFinishedDownloadBufferCount) * 100.0/ double(requestFinishedCount));
+
#ifdef QT_DEBUG
- qDebug("STATS [%lli requests total] [%3.2f%% from cache] [%3.2f%% pipelined] [%3.2f%% SSL/TLS]", requestFinishedCount, pctCached, pctPipelined, pctSecure);
+ qDebug("STATS [%lli requests total] [%3.2f%% from cache] [%3.2f%% pipelined] [%3.2f%% SSL/TLS] [%3.2f%% Zerocopy]", requestFinishedCount, pctCached, pctPipelined, pctSecure, pctDownloadBuffer);
#endif
}
diff --git a/demos/browser/networkaccessmanager.h b/demos/browser/networkaccessmanager.h
index 131368a..8d492fe 100644
--- a/demos/browser/networkaccessmanager.h
+++ b/demos/browser/networkaccessmanager.h
@@ -60,6 +60,7 @@ private:
qint64 requestFinishedFromCacheCount;
qint64 requestFinishedPipelinedCount;
qint64 requestFinishedSecureCount;
+ qint64 requestFinishedDownloadBufferCount;
public slots:
void loadSettings();
diff --git a/demos/browser/settings.cpp b/demos/browser/settings.cpp
index cba496b..789b01b 100644
--- a/demos/browser/settings.cpp
+++ b/demos/browser/settings.cpp
@@ -121,8 +121,8 @@ void SettingsDialog::loadFromSettings()
// Appearance
settings.beginGroup(QLatin1String("websettings"));
- fixedFont = qVariantValue<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
- standardFont = qVariantValue<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
+ fixedFont = qvariant_cast<QFont>(settings.value(QLatin1String("fixedFont"), fixedFont));
+ standardFont = qvariant_cast<QFont>(settings.value(QLatin1String("standardFont"), standardFont));
standardLabel->setText(QString(QLatin1String("%1 %2")).arg(standardFont.family()).arg(standardFont.pointSize()));
fixedLabel->setText(QString(QLatin1String("%1 %2")).arg(fixedFont.family()).arg(fixedFont.pointSize()));
diff --git a/demos/chip/view.cpp b/demos/chip/view.cpp
index c572337..5634f85 100644
--- a/demos/chip/view.cpp
+++ b/demos/chip/view.cpp
@@ -48,15 +48,29 @@
#include <qmath.h>
+void GraphicsView::wheelEvent(QWheelEvent *e)
+{
+ if (e->modifiers() & Qt::ControlModifier) {
+ if (e->delta() > 0)
+ view->zoomIn(6);
+ else
+ view->zoomOut(6);
+ e->accept();
+ } else {
+ QGraphicsView::wheelEvent(e);
+ }
+}
+
View::View(const QString &name, QWidget *parent)
: QFrame(parent)
{
setFrameStyle(Sunken | StyledPanel);
- graphicsView = new QGraphicsView;
+ graphicsView = new GraphicsView(this);
graphicsView->setRenderHint(QPainter::Antialiasing, false);
graphicsView->setDragMode(QGraphicsView::RubberBandDrag);
graphicsView->setOptimizationFlags(QGraphicsView::DontSavePainterState);
graphicsView->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
+ graphicsView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);
int size = style()->pixelMetric(QStyle::PM_ToolBarIconSize);
QSize iconSize(size, size);
@@ -111,6 +125,15 @@ View::View(const QString &name, QWidget *parent)
// Label layout
QHBoxLayout *labelLayout = new QHBoxLayout;
label = new QLabel(name);
+ label2 = new QLabel(tr("Pointer Mode"));
+ selectModeButton = new QToolButton;
+ selectModeButton->setText(tr("Select"));
+ selectModeButton->setCheckable(true);
+ selectModeButton->setChecked(true);
+ dragModeButton = new QToolButton;
+ dragModeButton->setText(tr("Drag"));
+ dragModeButton->setCheckable(true);
+ dragModeButton->setChecked(false);
antialiasButton = new QToolButton;
antialiasButton->setText(tr("Antialiasing"));
antialiasButton->setCheckable(true);
@@ -126,8 +149,17 @@ View::View(const QString &name, QWidget *parent)
printButton = new QToolButton;
printButton->setIcon(QIcon(QPixmap(":/fileprint.png")));
+ QButtonGroup *pointerModeGroup = new QButtonGroup;
+ pointerModeGroup->setExclusive(true);
+ pointerModeGroup->addButton(selectModeButton);
+ pointerModeGroup->addButton(dragModeButton);
+
labelLayout->addWidget(label);
labelLayout->addStretch();
+ labelLayout->addWidget(label2);
+ labelLayout->addWidget(selectModeButton);
+ labelLayout->addWidget(dragModeButton);
+ labelLayout->addStretch();
labelLayout->addWidget(antialiasButton);
labelLayout->addWidget(openGlButton);
labelLayout->addWidget(printButton);
@@ -145,6 +177,8 @@ View::View(const QString &name, QWidget *parent)
connect(rotateSlider, SIGNAL(valueChanged(int)), this, SLOT(setupMatrix()));
connect(graphicsView->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled()));
connect(graphicsView->horizontalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(setResetButtonEnabled()));
+ connect(selectModeButton, SIGNAL(toggled(bool)), this, SLOT(togglePointerMode()));
+ connect(dragModeButton, SIGNAL(toggled(bool)), this, SLOT(togglePointerMode()));
connect(antialiasButton, SIGNAL(toggled(bool)), this, SLOT(toggleAntialiasing()));
connect(openGlButton, SIGNAL(toggled(bool)), this, SLOT(toggleOpenGL()));
connect(rotateLeftIcon, SIGNAL(clicked()), this, SLOT(rotateLeft()));
@@ -158,7 +192,7 @@ View::View(const QString &name, QWidget *parent)
QGraphicsView *View::view() const
{
- return graphicsView;
+ return static_cast<QGraphicsView *>(graphicsView);
}
void View::resetView()
@@ -188,6 +222,14 @@ void View::setupMatrix()
setResetButtonEnabled();
}
+void View::togglePointerMode()
+{
+ graphicsView->setDragMode(selectModeButton->isChecked()
+ ? QGraphicsView::RubberBandDrag
+ : QGraphicsView::ScrollHandDrag);
+ graphicsView->setInteractive(selectModeButton->isChecked());
+}
+
void View::toggleOpenGL()
{
#ifndef QT_NO_OPENGL
@@ -212,14 +254,14 @@ void View::print()
#endif
}
-void View::zoomIn()
+void View::zoomIn(int level)
{
- zoomSlider->setValue(zoomSlider->value() + 1);
+ zoomSlider->setValue(zoomSlider->value() + level);
}
-void View::zoomOut()
+void View::zoomOut(int level)
{
- zoomSlider->setValue(zoomSlider->value() - 1);
+ zoomSlider->setValue(zoomSlider->value() - level);
}
void View::rotateLeft()
diff --git a/demos/chip/view.h b/demos/chip/view.h
index 0ece458..7c587d4 100644
--- a/demos/chip/view.h
+++ b/demos/chip/view.h
@@ -43,12 +43,27 @@
#define VIEW_H
#include <QFrame>
+#include <QGraphicsView>
-QT_FORWARD_DECLARE_CLASS(QGraphicsView)
QT_FORWARD_DECLARE_CLASS(QLabel)
QT_FORWARD_DECLARE_CLASS(QSlider)
QT_FORWARD_DECLARE_CLASS(QToolButton)
+class View;
+
+class GraphicsView : public QGraphicsView
+{
+ Q_OBJECT
+public:
+ GraphicsView(View *v) : QGraphicsView(), view(v) { }
+
+protected:
+ void wheelEvent(QWheelEvent *);
+
+private:
+ View *view;
+};
+
class View : public QFrame
{
Q_OBJECT
@@ -57,22 +72,27 @@ public:
QGraphicsView *view() const;
+public slots:
+ void zoomIn(int level = 1);
+ void zoomOut(int level = 1);
+
private slots:
void resetView();
void setResetButtonEnabled();
void setupMatrix();
+ void togglePointerMode();
void toggleOpenGL();
void toggleAntialiasing();
void print();
-
- void zoomIn();
- void zoomOut();
void rotateLeft();
void rotateRight();
-
+
private:
- QGraphicsView *graphicsView;
+ GraphicsView *graphicsView;
QLabel *label;
+ QLabel *label2;
+ QToolButton *selectModeButton;
+ QToolButton *dragModeButton;
QToolButton *openGlButton;
QToolButton *antialiasButton;
QToolButton *printButton;
diff --git a/demos/composition/main.cpp b/demos/composition/main.cpp
index 2195cfe..d6bc170 100644
--- a/demos/composition/main.cpp
+++ b/demos/composition/main.cpp
@@ -59,7 +59,7 @@ int main(int argc, char **argv)
QStyle *arthurStyle = new ArthurStyle();
compWidget.setStyle(arthurStyle);
- QList<QWidget *> widgets = qFindChildren<QWidget *>(&compWidget);
+ QList<QWidget *> widgets = compWidget.findChildren<QWidget *>();
foreach (QWidget *w, widgets)
w->setStyle(arthurStyle);
compWidget.show();
diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro
index 5929ecf..d23bb05 100644
--- a/demos/declarative/minehunt/minehunt.pro
+++ b/demos/declarative/minehunt/minehunt.pro
@@ -17,7 +17,7 @@ symbian:{
TARGET.EPOCALLOWDLLDATA = 1
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
- qmlminehuntfiles.sources = MinehuntCore minehunt.qml
+ qmlminehuntfiles.files = MinehuntCore minehunt.qml
DEPLOYMENT += qmlminehuntfiles
}
diff --git a/demos/declarative/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js
index b838790..d7b827a 100755
--- a/demos/declarative/samegame/SamegameCore/samegame.js
+++ b/demos/declarative/samegame/SamegameCore/samegame.js
@@ -8,13 +8,16 @@ var blockSrc = "SamegameCore/BoomBlock.qml";
var scoresURL = "";
var gameDuration;
var component = Qt.createComponent(blockSrc);
+var highScoreBar = 0;
-//Index function used instead of a 2D array
-function index(column,row) {
- return column + (row * maxColumn);
+// Index function used instead of a 2D array
+function index(column, row)
+{
+ return column + row * maxColumn;
}
-function timeStr(msecs) {
+function timeStr(msecs)
+{
var secs = Math.floor(msecs/1000);
var m = Math.floor(secs/60);
var ret = "" + m + "m " + (secs%60) + "s";
@@ -23,47 +26,48 @@ function timeStr(msecs) {
function startNewGame()
{
- //Delete blocks from previous game
- for(var i = 0; i<maxIndex; i++){
- if(board[i] != null)
+ // Delete blocks from previous game
+ for (var i = 0; i < maxIndex; i++) {
+ if (board[i] != null)
board[i].destroy();
}
- //Calculate board size
+ // Calculate board size
maxColumn = Math.floor(gameCanvas.width/gameCanvas.blockSize);
maxRow = Math.floor(gameCanvas.height/gameCanvas.blockSize);
- maxIndex = maxRow*maxColumn;
+ maxIndex = maxRow * maxColumn;
- //Close dialogs
+ // Close dialogs
nameInputDialog.forceClose();
dialog.forceClose();
- //Initialize Board
+ // Initialize Board
board = new Array(maxIndex);
gameCanvas.score = 0;
- for(var column=0; column<maxColumn; column++){
- for(var row=0; row<maxRow; row++){
- board[index(column,row)] = null;
- createBlock(column,row);
+ for (var column = 0; column < maxColumn; column++) {
+ for (var row = 0; row < maxRow; row++) {
+ board[index(column, row)] = null;
+ createBlock(column, row);
}
}
gameDuration = new Date();
}
-var fillFound;//Set after a floodFill call to the number of blocks found
-var floodBoard;//Set to 1 if the floodFill reaches off that node
-//NOTE: Be careful with vars named x,y, as the calling object's x,y are still in scope
+var fillFound; // Set after a floodFill call to the number of blocks found
+var floodBoard; // Set to 1 if the floodFill reaches off that node
+
+// NOTE: Be careful with vars named x,y, as the calling object's x,y are still in scope
function handleClick(x,y)
{
var column = Math.floor(x/gameCanvas.blockSize);
var row = Math.floor(y/gameCanvas.blockSize);
- if(column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+ if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
return;
- if(board[index(column, row)] == null)
+ if (board[index(column, row)] == null)
return;
- //If it's a valid block, remove it and all connected (does nothing if it's not connected)
+ // If it's a valid block, remove it and all connected (does nothing if it's not connected)
floodFill(column,row, -1);
- if(fillFound <= 0)
+ if (fillFound <= 0)
return;
gameCanvas.score += (fillFound - 1) * (fillFound - 1);
shuffleDown();
@@ -72,65 +76,65 @@ function handleClick(x,y)
function floodFill(column,row,type)
{
- if(board[index(column, row)] == null)
+ if (board[index(column, row)] == null)
return;
var first = false;
- if(type == -1){
+ if (type == -1) {
first = true;
type = board[index(column,row)].type;
-
- //Flood fill initialization
+
+ // Flood fill initialization
fillFound = 0;
floodBoard = new Array(maxIndex);
}
- if(column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+ if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
return;
- if(floodBoard[index(column, row)] == 1 || (!first && type != board[index(column,row)].type))
+ if (floodBoard[index(column, row)] == 1 || (!first && type != board[index(column, row)].type))
return;
floodBoard[index(column, row)] = 1;
- floodFill(column+1,row,type);
- floodFill(column-1,row,type);
- floodFill(column,row+1,type);
- floodFill(column,row-1,type);
- if(first==true && fillFound == 0)
- return;//Can't remove single blocks
- board[index(column,row)].dying = true;
- board[index(column,row)] = null;
+ floodFill(column + 1, row, type);
+ floodFill(column - 1, row, type);
+ floodFill(column, row + 1, type);
+ floodFill(column, row - 1, type);
+ if (first == true && fillFound == 0)
+ return; // Can't remove single blocks
+ board[index(column, row)].dying = true;
+ board[index(column, row)] = null;
fillFound += 1;
}
function shuffleDown()
{
- //Fall down
- for(var column=0; column<maxColumn; column++){
+ // Fall down
+ for (var column = 0; column < maxColumn; column++) {
var fallDist = 0;
- for(var row=maxRow-1; row>=0; row--){
- if(board[index(column,row)] == null){
+ for (var row = maxRow - 1; row >= 0; row--) {
+ if (board[index(column,row)] == null) {
fallDist += 1;
- }else{
- if(fallDist > 0){
- var obj = board[index(column,row)];
- obj.y = (row+fallDist) * gameCanvas.blockSize;
- board[index(column,row+fallDist)] = obj;
- board[index(column,row)] = null;
+ } else {
+ if (fallDist > 0) {
+ var obj = board[index(column, row)];
+ obj.y = (row + fallDist) * gameCanvas.blockSize;
+ board[index(column, row + fallDist)] = obj;
+ board[index(column, row)] = null;
}
}
}
}
- //Fall to the left
+ // Fall to the left
fallDist = 0;
- for(column=0; column<maxColumn; column++){
- if(board[index(column, maxRow - 1)] == null){
+ for (column = 0; column < maxColumn; column++) {
+ if (board[index(column, maxRow - 1)] == null) {
fallDist += 1;
- }else{
- if(fallDist > 0){
- for(row=0; row<maxRow; row++){
- obj = board[index(column,row)];
- if(obj == null)
+ } else {
+ if (fallDist > 0) {
+ for (row = 0; row < maxRow; row++) {
+ obj = board[index(column, row)];
+ if (obj == null)
continue;
- obj.x = (column-fallDist) * gameCanvas.blockSize;
- board[index(column-fallDist,row)] = obj;
- board[index(column,row)] = null;
+ obj.x = (column - fallDist) * gameCanvas.blockSize;
+ board[index(column - fallDist,row)] = obj;
+ board[index(column, row)] = null;
}
}
}
@@ -139,39 +143,44 @@ function shuffleDown()
function victoryCheck()
{
- //awards bonuses for no blocks left
+ // Awards bonuses for no blocks left
var deservesBonus = true;
- for(var column=maxColumn-1; column>=0; column--)
- if(board[index(column, maxRow - 1)] != null)
+ for (var column = maxColumn - 1; column >= 0; column--)
+ if (board[index(column, maxRow - 1)] != null)
deservesBonus = false;
- if(deservesBonus)
+ if (deservesBonus)
gameCanvas.score += 500;
- //Checks for game over
- if(deservesBonus || !(floodMoveCheck(0,maxRow-1, -1))){
+ // Checks for game over
+ if (deservesBonus || !(floodMoveCheck(0, maxRow - 1, -1))) {
gameDuration = new Date() - gameDuration;
- nameInputDialog.show("You won! Please enter your name: ");
- nameInputDialog.initialWidth = nameInputDialog.text.width + 20;
- if(nameInputDialog.name == "")
- nameInputDialog.width = nameInputDialog.initialWidth;
- nameInputDialog.text.opacity = 0;//Just a spacer
+ if(gameCanvas.score > highScoreBar){
+ nameInputDialog.show("You won! Please enter your name: ");
+ nameInputDialog.initialWidth = nameInputDialog.text.width + 20;
+ if (nameInputDialog.name == "")
+ nameInputDialog.width = nameInputDialog.initialWidth;
+ nameInputDialog.text.opacity = 0; // Just a spacer
+ }else{
+ dialog.show("You won!");
+ }
}
}
-//only floods up and right, to see if it can find adjacent same-typed blocks
+// Only floods up and right, to see if it can find adjacent same-typed blocks
function floodMoveCheck(column, row, type)
{
- if(column >= maxColumn || column < 0 || row >= maxRow || row < 0)
+ if (column >= maxColumn || column < 0 || row >= maxRow || row < 0)
return false;
- if(board[index(column, row)] == null)
+ if (board[index(column, row)] == null)
return false;
var myType = board[index(column, row)].type;
- if(type == myType)
+ if (type == myType)
return true;
return floodMoveCheck(column + 1, row, myType) ||
- floodMoveCheck(column, row - 1, board[index(column,row)].type);
+ floodMoveCheck(column, row - 1, board[index(column, row)].type);
}
-function createBlock(column,row){
+function createBlock(column,row)
+{
// Note that we don't wait for the component to become ready. This will
// only work if the block QML is a local file. Otherwise the component will
// not be ready immediately. There is a statusChanged signal on the
@@ -199,38 +208,78 @@ function createBlock(column,row){
return true;
}
-function saveHighScore(name) {
- if(scoresURL!="")
+function initHighScoreBar()
+{
+ if(scoresURL != "")
+ return true;//don't query remote scores
+ var db = openDatabaseSync(
+ "SameGameScores",
+ "1.0",
+ "Local SameGame High Scores",
+ 100
+ );
+ db.transaction(
+ function(tx) {
+ tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)');
+ // Only show results for the current grid size
+ var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'
+ + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10');
+ if(rs.rows.length < 10)
+ highScoreBar = 0;
+ else
+ highScoreBar = rs.rows.item(rs.rows.length - 1).score;
+ }
+ );
+}
+
+function saveHighScore(name)
+{
+ if (scoresURL != "")
sendHighScore(name);
- //OfflineStorage
- var db = openDatabaseSync("SameGameScores", "1.0", "Local SameGame High Scores",100);
+ // Offline storage
+ var db = openDatabaseSync(
+ "SameGameScores",
+ "1.0",
+ "Local SameGame High Scores",
+ 100
+ );
var dataStr = "INSERT INTO Scores VALUES(?, ?, ?, ?)";
- var data = [name, gameCanvas.score, maxColumn+"x"+maxRow ,Math.floor(gameDuration/1000)];
+ var data = [
+ name,
+ gameCanvas.score,
+ maxColumn + "x" + maxRow,
+ Math.floor(gameDuration / 1000)
+ ];
db.transaction(
function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)');
tx.executeSql(dataStr, data);
- //Only show results for the current grid size
- var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'+maxColumn+"x"+maxRow+'" ORDER BY score desc LIMIT 10');
+ // Only show results for the current grid size
+ var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'
+ + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10');
var r = "\nHIGH SCORES for this grid size\n\n"
- for(var i = 0; i < rs.rows.length; i++){
- r += (i+1)+". " + rs.rows.item(i).name +' got '
+ for (var i = 0; i < rs.rows.length; i++) {
+ r += (i+1) + ". " + rs.rows.item(i).name + ' got '
+ rs.rows.item(i).score + ' points in '
+ rs.rows.item(i).time + ' seconds.\n';
}
+ if(rs.rows.length == 10)
+ highScoreBar = rs.rows.item(9).score;
dialog.show(r);
}
);
}
-function sendHighScore(name) {
+function sendHighScore(name)
+{
var postman = new XMLHttpRequest()
- var postData = "name="+name+"&score="+gameCanvas.score
- +"&gridSize="+maxColumn+"x"+maxRow +"&time="+Math.floor(gameDuration/1000);
+ var postData = "name=" + name + "&score=" + gameCanvas.score
+ + "&gridSize=" + maxColumn + "x" + maxRow
+ + "&time=" + Math.floor(gameDuration / 1000);
postman.open("POST", scoresURL, true);
postman.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
- postman.onreadystatechange = function() {
+ postman.onreadystatechange = function() {
if (postman.readyState == postman.DONE) {
dialog.show("Your score has been uploaded.");
}
diff --git a/demos/declarative/snake/content/Link.qml b/demos/declarative/snake/content/Link.qml
index edaeeed..ff67ad7 100644
--- a/demos/declarative/snake/content/Link.qml
+++ b/demos/declarative/snake/content/Link.qml
@@ -77,7 +77,12 @@ Item { id:link
id: actualImageRotation
origin.x: width/2; origin.y: height/2;
angle: rotation * 90
- Behavior on angle { NumberAnimation { duration: spawned ? 200 : 0} }
+ Behavior on angle {
+ RotationAnimation{
+ direction: RotationAnimation.Shortest
+ duration: spawned ? 200 : 0
+ }
+ }
}
}
diff --git a/demos/declarative/snake/content/snake.js b/demos/declarative/snake/content/snake.js
index 5c089de..837b82a 100644
--- a/demos/declarative/snake/content/snake.js
+++ b/demos/declarative/snake/content/snake.js
@@ -22,20 +22,26 @@ function rand(n)
function scheduleDirection(dir)
{
- direction = dir;
- if(scheduledDirections[scheduledDirections.length-1]!=direction)
- scheduledDirections.push(direction);
+ if (state == "starting") {
+ direction = dir;
+ headDirection = direction;
+ head.rotation = headDirection;
+ } else if (state == "running"){
+ direction = dir;
+ if(scheduledDirections[scheduledDirections.length-1]!=direction)
+ scheduledDirections.push(direction);
+ }
}
function startNewGame()
{
- if (state == "starting")
+ if (state == "starting") {
return;
+ }
if (activeGame) {
endGame();
startNewGameTimer.running = true;
- state = "";
return;
}
diff --git a/demos/declarative/snake/snake.qml b/demos/declarative/snake/snake.qml
index b7476b7..edccd4c 100644
--- a/demos/declarative/snake/snake.qml
+++ b/demos/declarative/snake/snake.qml
@@ -88,7 +88,7 @@ Rectangle {
onTriggered: { Logic.moveSkull() }
}
Timer {
- id: startNewGameTimer;
+ id: startNewGameTimer;
interval: 700;
onTriggered: { Logic.startNewGame(); }
}
@@ -109,6 +109,7 @@ Rectangle {
}
Image {
+
Image {
id: title
source: "content/pics/snake.jpg"
@@ -117,14 +118,28 @@ Rectangle {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
- Text {
- color: "white"
- font.pointSize: 24
- horizontalAlignment: Text.AlignHCenter
- text: "Last Score:\t" + lastScore + "\nHighscore:\t" + highScores.topScore;
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.bottom: parent.bottom
- anchors.bottomMargin: gridSize
+ Column {
+ spacing: 140
+ anchors.verticalCenter: parent.verticalCenter;
+ anchors.left: parent.left;
+ anchors.right: parent.right;
+
+ Text {
+ color: "white"
+ font.pointSize: 48
+ font.italic: true;
+ font.bold: true;
+ text: "Snake"
+ anchors.horizontalCenter: parent.horizontalCenter;
+ }
+
+ Text {
+ color: "white"
+ font.pointSize: 24
+ anchors.horizontalCenter: parent.horizontalCenter;
+ //horizontalAlignment: Text.AlignHCenter
+ text: "Last Score:\t" + lastScore + "\nHighscore:\t" + highScores.topScore;
+ }
}
}
@@ -154,7 +169,7 @@ Rectangle {
MouseArea {
anchors.fill: parent
onPressed: {
- if (!head || !heartbeat.running) {
+ if (screen.state == "") {
Logic.startNewGame();
return;
}
@@ -245,10 +260,12 @@ Rectangle {
from: "*"
to: "starting"
NumberAnimation { target: progressIndicator; property: "width"; duration: 1000 }
- NumberAnimation { target: title; property: "opacity"; duration: 500 }
+ NumberAnimation { property: "opacity"; duration: 200 }
},
Transition {
- NumberAnimation { target: title; property: "opacity"; duration: 500 }
+ to: "starting"
+ NumberAnimation { target: progressIndicator; property: "width"; duration: 1000 }
+ NumberAnimation { property: "opacity"; duration: 200 }
}
]
diff --git a/demos/deform/main.cpp b/demos/deform/main.cpp
index 21ce7fb..d92ddba 100644
--- a/demos/deform/main.cpp
+++ b/demos/deform/main.cpp
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
QStyle *arthurStyle = new ArthurStyle();
deformWidget.setStyle(arthurStyle);
- QList<QWidget *> widgets = qFindChildren<QWidget *>(&deformWidget);
+ QList<QWidget *> widgets = deformWidget.findChildren<QWidget *>();
foreach (QWidget *w, widgets)
w->setStyle(arthurStyle);
diff --git a/demos/deform/pathdeform.cpp b/demos/deform/pathdeform.cpp
index 9f64c02..f80ef2b 100644
--- a/demos/deform/pathdeform.cpp
+++ b/demos/deform/pathdeform.cpp
@@ -297,7 +297,7 @@ void PathDeformWidget::setStyle( QStyle * style )
{
m_controls->setStyle(style);
- QList<QWidget *> widgets = qFindChildren<QWidget *>(m_controls);
+ QList<QWidget *> widgets = m_controls->findChildren<QWidget *>();
foreach (QWidget *w, widgets)
w->setStyle(style);
}
diff --git a/demos/demos.pro b/demos/demos.pro
index b8b743c..ed18446 100644
--- a/demos/demos.pro
+++ b/demos/demos.pro
@@ -44,8 +44,11 @@ wince*: SUBDIRS = \
contains(QT_CONFIG, opengl):!contains(QT_CONFIG, opengles1):!contains(QT_CONFIG, opengles2):{
SUBDIRS += demos_boxes
}
+contains(QT_CONFIG, opengl):contains(QT_CONFIG, svg){
+SUBDIRS += demos_glhypnotizer
+}
-mac*: SUBDIRS += demos_macmainwindow
+mac* && !qpa: SUBDIRS += demos_macmainwindow
wince*|symbian|embedded|x11: SUBDIRS += demos_embedded
!contains(QT_EDITION, Console):!cross_compile:!embedded:!wince*:SUBDIRS += demos_arthurplugin
@@ -103,6 +106,7 @@ demos_browser.subdir = browser
demos_boxes.subdir = boxes
demos_sub-attaq.subdir = sub-attaq
demos_spectrum.subdir = spectrum
+demos_glhypnotizer.subdir = glhypnotizer
#CONFIG += ordered
!ordered {
diff --git a/demos/embedded/desktopservices/desktopservices.pro b/demos/embedded/desktopservices/desktopservices.pro
index 94ddedd..e66db1c 100644
--- a/demos/embedded/desktopservices/desktopservices.pro
+++ b/demos/embedded/desktopservices/desktopservices.pro
@@ -7,8 +7,8 @@ SOURCES += desktopwidget.cpp contenttab.cpp linktab.cpp main.cpp
RESOURCES += desktopservices.qrc
-music.sources = data/*.mp3 data/*.wav
-image.sources = data/*.png
+music.files = data/*.mp3 data/*.wav
+image.files = data/*.png
target.path = $$[QT_INSTALL_DEMOS]/embedded/desktopservices
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro
index ca74c38..0799ed9 100644
--- a/demos/embedded/fluidlauncher/fluidlauncher.pro
+++ b/demos/embedded/fluidlauncher/fluidlauncher.pro
@@ -33,7 +33,7 @@ wince*{
BUILD_DIR = debug
}
- executables.sources = \
+ executables.files = \
$$QT_BUILD_TREE/demos/embedded/embeddedsvgviewer/$${BUILD_DIR}/embeddedsvgviewer.exe \
$$QT_BUILD_TREE/demos/embedded/styledemo/$${BUILD_DIR}/styledemo.exe \
$$QT_BUILD_TREE/demos/deform/$${BUILD_DIR}/deform.exe \
@@ -45,10 +45,10 @@ wince*{
executables.path = .
- files.sources = $$PWD/screenshots $$PWD/slides $$PWD/../embeddedsvgviewer/shapes.svg
+ files.files = $$PWD/screenshots $$PWD/slides $$PWD/../embeddedsvgviewer/shapes.svg
files.path = .
- config.sources = $$PWD/config_wince/config.xml
+ config.files = $$PWD/config_wince/config.xml
config.path = .
DEPLOYMENT += config files executables
@@ -79,7 +79,7 @@ symbian {
}
}
- executables.sources = \
+ executables.files = \
$$QT_BUILD_TREE/demos/embedded/styledemo/styledemo.exe \
$$QT_BUILD_TREE/demos/deform/deform.exe \
$$QT_BUILD_TREE/demos/pathstroke/pathstroke.exe \
@@ -97,7 +97,7 @@ symbian {
executables.path = /sys/bin
- reg_resource.sources = \
+ reg_resource.files = \
$$regResourceDir(demos/embedded/styledemo/styledemo_reg.rsc) \
$$regResourceDir(demos/deform/deform_reg.rsc) \
$$regResourceDir(demos/pathstroke/pathstroke_reg.rsc) \
@@ -114,17 +114,17 @@ symbian {
$$regResourceDir(demos/embedded/flightinfo/flightinfo_reg.rsc)
contains(QT_CONFIG, phonon) {
- reg_resource.sources += $$regResourceDir(demos/qmediaplayer/qmediaplayer_reg.rsc)
+ reg_resource.files += $$regResourceDir(demos/qmediaplayer/qmediaplayer_reg.rsc)
}
contains(QT_CONFIG, multimedia) {
- reg_resource.sources += $$regResourceDir(demos/spectrum/app/spectrum_reg.rsc)
+ reg_resource.files += $$regResourceDir(demos/spectrum/app/spectrum_reg.rsc)
}
reg_resource.path = $$REG_RESOURCE_IMPORT_DIR
- resource.sources = \
+ resource.files = \
$$appResourceDir(demos/embedded/styledemo/styledemo.rsc) \
$$appResourceDir(demos/deform/deform.rsc) \
$$appResourceDir(demos/pathstroke/pathstroke.rsc) \
@@ -143,7 +143,7 @@ symbian {
resource.path = $$APP_RESOURCE_DIR
- mifs.sources = \
+ mifs.files = \
$$appResourceDir(demos/embedded/fluidlauncher/fluidlauncher.mif) \
$$appResourceDir(demos/embedded/styledemo/styledemo.mif) \
$$appResourceDir(demos/deform/deform.mif) \
@@ -162,28 +162,28 @@ symbian {
mifs.path = $$APP_RESOURCE_DIR
contains(QT_CONFIG, svg) {
- executables.sources += \
+ executables.files += \
$$QT_BUILD_TREE/demos/embedded/embeddedsvgviewer/embeddedsvgviewer.exe \
$$QT_BUILD_TREE/demos/embedded/weatherinfo/weatherinfo.exe
- reg_resource.sources += \
+ reg_resource.files += \
$$regResourceDir(demos/embedded/embeddedsvgviewer/embeddedsvgviewer_reg.rsc) \
$$regResourceDir(demos/embedded/weatherinfo/weatherinfo_reg.rsc)
- resource.sources += \
+ resource.files += \
$$appResourceDir(demos/embedded/embeddedsvgviewer/embeddedsvgviewer.rsc) \
$$appResourceDir(demos/embedded/weatherinfo/weatherinfo.rsc)
- mifs.sources += \
+ mifs.files += \
$$appResourceDir(demos/embedded/embeddedsvgviewer/embeddedsvgviewer.mif) \
$$appResourceDir(demos/embedded/weatherinfo/weatherinfo.mif)
}
contains(QT_CONFIG, webkit) {
- executables.sources += $$QT_BUILD_TREE/demos/embedded/anomaly/anomaly.exe
- reg_resource.sources += $$regResourceDir(demos/embedded/anomaly/anomaly_reg.rsc)
- resource.sources += $$appResourceDir(demos/embedded/anomaly/anomaly.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/demos/embedded/anomaly/anomaly.exe
+ reg_resource.files += $$regResourceDir(demos/embedded/anomaly/anomaly_reg.rsc)
+ resource.files += $$appResourceDir(demos/embedded/anomaly/anomaly.rsc)
+ mifs.files += \
$$appResourceDir(demos/embedded/anomaly/anomaly.mif)
isEmpty(QT_LIBINFIX) {
@@ -195,61 +195,61 @@ symbian {
}
contains(QT_CONFIG, phonon) {
- executables.sources += $$QT_BUILD_TREE/demos/qmediaplayer/qmediaplayer.exe
- resource.sources += $$appResourceDir(demos/qmediaplayer/qmediaplayer.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/demos/qmediaplayer/qmediaplayer.exe
+ resource.files += $$appResourceDir(demos/qmediaplayer/qmediaplayer.rsc)
+ mifs.files += \
$$appResourceDir(demos/qmediaplayer/qmediaplayer.mif)
}
contains(QT_CONFIG, multimedia) {
- executables.sources += $$QT_BUILD_TREE/demos/spectrum/app/spectrum.exe
- executables.sources += $$QT_BUILD_TREE/demos/spectrum/3rdparty/fftreal/fftreal.dll
- resource.sources += $$appResourceDir(demos/spectrum/app/spectrum.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/demos/spectrum/app/spectrum.exe
+ executables.files += $$QT_BUILD_TREE/demos/spectrum/3rdparty/fftreal/fftreal.dll
+ resource.files += $$appResourceDir(demos/spectrum/app/spectrum.rsc)
+ mifs.files += \
$$appResourceDir(demos/spectrum/app/spectrum.mif)
}
contains(QT_CONFIG, script) {
- executables.sources += $$QT_BUILD_TREE/examples/script/context2d/context2d.exe
- reg_resource.sources += $$regResourceDir(examples/script/context2d/context2d_reg.rsc)
- resource.sources += $$appResourceDir(examples/script/context2d/context2d.rsc)
- mifs.sources += \
+ executables.files += $$QT_BUILD_TREE/examples/script/context2d/context2d.exe
+ reg_resource.files += $$regResourceDir(examples/script/context2d/context2d_reg.rsc)
+ resource.files += $$appResourceDir(examples/script/context2d/context2d.rsc)
+ mifs.files += \
$$appResourceDir(examples/script/context2d/context2d.mif)
}
qmldemos = qmlcalculator qmlclocks qmldialcontrol qmleasing qmlflickr qmlphotoviewer qmltwitter
contains(QT_CONFIG, declarative) {
for(qmldemo, qmldemos) {
- executables.sources += $$QT_BUILD_TREE/demos/embedded/$${qmldemo}/$${qmldemo}.exe
- reg_resource.sources += $$regResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}_reg.rsc)
- resource.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.rsc)
- mifs.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.mif)
+ executables.files += $$QT_BUILD_TREE/demos/embedded/$${qmldemo}/$${qmldemo}.exe
+ reg_resource.files += $$regResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}_reg.rsc)
+ resource.files += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.rsc)
+ mifs.files += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.mif)
}
}
- files.sources = $$PWD/screenshots $$PWD/slides
+ files.files = $$PWD/screenshots $$PWD/slides
files.path = .
- config.sources = $$PWD/config_s60/config.xml
+ config.files = $$PWD/config_s60/config.xml
config.path = .
- viewerimages.sources = $$PWD/../embeddedsvgviewer/shapes.svg
+ viewerimages.files = $$PWD/../embeddedsvgviewer/shapes.svg
viewerimages.path = /data/images/qt/demos/embeddedsvgviewer
# demos/mediaplayer make also use of these files.
- desktopservices_music.sources = \
+ desktopservices_music.files = \
$$PWD/../desktopservices/data/*.mp3 \
$$PWD/../desktopservices/data/*.wav
desktopservices_music.path = /data/sounds
- desktopservices_images.sources = $$PWD/../desktopservices/data/*.png
+ desktopservices_images.files = $$PWD/../desktopservices/data/*.png
desktopservices_images.path = /data/images
- saxbookmarks.sources = $$PWD/../../../examples/xml/saxbookmarks/frank.xbel
- saxbookmarks.sources += $$PWD/../../../examples/xml/saxbookmarks/jennifer.xbel
+ saxbookmarks.files = $$PWD/../../../examples/xml/saxbookmarks/frank.xbel
+ saxbookmarks.files += $$PWD/../../../examples/xml/saxbookmarks/jennifer.xbel
saxbookmarks.path = /data/qt/saxbookmarks
- fluidbackup.sources = backup_registration.xml
+ fluidbackup.files = backup_registration.xml
fluidbackup.path = /private/$$replace(TARGET.UID3, 0x,)
DEPLOYMENT += config files executables viewerimages saxbookmarks reg_resource resource \
diff --git a/demos/embedded/qmlcalculator/deployment.pri b/demos/embedded/qmlcalculator/deployment.pri
index a31303d..a97498e 100644
--- a/demos/embedded/qmlcalculator/deployment.pri
+++ b/demos/embedded/qmlcalculator/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlcalculator_uid3 = A000E3FB
qmlcalculator_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlcalculator_uid3
}
-qmlcalculator_files.sources = $$qmlcalculator_src/calculator.qml $$qmlcalculator_src/Core
+qmlcalculator_files.files = $$qmlcalculator_src/calculator.qml $$qmlcalculator_src/Core
DEPLOYMENT += qmlcalculator_files
diff --git a/demos/embedded/qmlclocks/deployment.pri b/demos/embedded/qmlclocks/deployment.pri
index 0946733..6c6704c 100644
--- a/demos/embedded/qmlclocks/deployment.pri
+++ b/demos/embedded/qmlclocks/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlclocks_uid3 = A000E3FC
qmlclocks_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlclocks_uid3
}
-qmlclocks_files.sources = $$qmlclocks_src/clocks.qml $$qmlclocks_src/content
+qmlclocks_files.files = $$qmlclocks_src/clocks.qml $$qmlclocks_src/content
DEPLOYMENT += qmlclocks_files
diff --git a/demos/embedded/qmldialcontrol/deployment.pri b/demos/embedded/qmldialcontrol/deployment.pri
index e0e72e6..a978443 100644
--- a/demos/embedded/qmldialcontrol/deployment.pri
+++ b/demos/embedded/qmldialcontrol/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmldialcontrol_uid3 = A000E3FD
qmldialcontrol_files.path = $$APP_PRIVATE_DIR_BASE/$$qmldialcontrol_uid3
}
-qmldialcontrol_files.sources = $$qmldialcontrol_src/dialcontrol.qml $$qmldialcontrol_src/content
+qmldialcontrol_files.files = $$qmldialcontrol_src/dialcontrol.qml $$qmldialcontrol_src/content
DEPLOYMENT += qmldialcontrol_files
diff --git a/demos/embedded/qmleasing/deployment.pri b/demos/embedded/qmleasing/deployment.pri
index d3621cb..946fcd9 100644
--- a/demos/embedded/qmleasing/deployment.pri
+++ b/demos/embedded/qmleasing/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmleasing_uid3 = A000E3FE
qmleasing_files.path = $$APP_PRIVATE_DIR_BASE/$$qmleasing_uid3
}
-qmleasing_files.sources = $$qmleasing_src/easing.qml $$qmleasing_src/content
+qmleasing_files.files = $$qmleasing_src/easing.qml $$qmleasing_src/content
DEPLOYMENT += qmleasing_files
diff --git a/demos/embedded/qmlflickr/deployment.pri b/demos/embedded/qmlflickr/deployment.pri
index b508292..a38dc95 100644
--- a/demos/embedded/qmlflickr/deployment.pri
+++ b/demos/embedded/qmlflickr/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlflickr_uid3 = A000E3FF
qmlflickr_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlflickr_uid3
}
-qmlflickr_files.sources = $$qmlflickr_src/flickr.qml $$qmlflickr_src/common $$qmlflickr_src/mobile
+qmlflickr_files.files = $$qmlflickr_src/flickr.qml $$qmlflickr_src/common $$qmlflickr_src/mobile
DEPLOYMENT += qmlflickr_files
diff --git a/demos/embedded/qmlphotoviewer/deployment.pri b/demos/embedded/qmlphotoviewer/deployment.pri
index 35937a8..23882e3 100644
--- a/demos/embedded/qmlphotoviewer/deployment.pri
+++ b/demos/embedded/qmlphotoviewer/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmlphotoviewer_uid3 = A000E400
qmlphotoviewer_files.path = $$APP_PRIVATE_DIR_BASE/$$qmlphotoviewer_uid3
}
-qmlphotoviewer_files.sources = $$qmlphotoviewer_src/photoviewer.qml $$qmlphotoviewer_src/PhotoViewerCore
+qmlphotoviewer_files.files = $$qmlphotoviewer_src/photoviewer.qml $$qmlphotoviewer_src/PhotoViewerCore
DEPLOYMENT += qmlphotoviewer_files
diff --git a/demos/embedded/qmltwitter/deployment.pri b/demos/embedded/qmltwitter/deployment.pri
index 4404e33..3edc0e5 100644
--- a/demos/embedded/qmltwitter/deployment.pri
+++ b/demos/embedded/qmltwitter/deployment.pri
@@ -4,5 +4,5 @@ symbian {
qmltwitter_uid3 = A000E401
qmltwitter_files.path = $$APP_PRIVATE_DIR_BASE/$$qmltwitter_uid3
}
-qmltwitter_files.sources = $$qmltwitter_src/twitter.qml $$qmltwitter_src/TwitterCore
+qmltwitter_files.files = $$qmltwitter_src/twitter.qml $$qmltwitter_src/TwitterCore
DEPLOYMENT += qmltwitter_files
diff --git a/demos/embeddeddialogs/customproxy.cpp b/demos/embeddeddialogs/customproxy.cpp
index bc66165..cbc622a 100644
--- a/demos/embeddeddialogs/customproxy.cpp
+++ b/demos/embeddeddialogs/customproxy.cpp
@@ -113,7 +113,7 @@ QVariant CustomProxy::itemChange(GraphicsItemChange change, const QVariant &valu
{
if (change == ItemChildAddedChange || change == ItemChildRemovedChange) {
if (change == ItemChildAddedChange) {
- currentPopup = qVariantValue<QGraphicsItem *>(value);
+ currentPopup = qvariant_cast<QGraphicsItem *>(value);
currentPopup->setCacheMode(ItemCoordinateCache);
if (scene())
currentPopup->installSceneEventFilter(this);
diff --git a/demos/glhypnotizer/glhypnotizer.pro b/demos/glhypnotizer/glhypnotizer.pro
new file mode 100644
index 0000000..a7fdf5e
--- /dev/null
+++ b/demos/glhypnotizer/glhypnotizer.pro
@@ -0,0 +1,21 @@
+TEMPLATE = app
+CONFIG -= moc
+INCLUDEPATH += .
+
+# Input
+SOURCES += main.cpp
+QT += opengl svg
+RESOURCES = hypnotizer.qrc
+
+build_all:!build_pass {
+ CONFIG -= build_all
+ CONFIG += release
+}
+
+# install
+target.path = $$[QT_INSTALL_DEMOS]/glhypnotizer
+sources.files = $$SOURCES $$HEADERS $$RESOURCES *.png *.pro *.svg
+sources.path = $$[QT_INSTALL_DEMOS]/glhypnotizer
+INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
diff --git a/demos/glhypnotizer/hypnotizer.qrc b/demos/glhypnotizer/hypnotizer.qrc
new file mode 100644
index 0000000..97ba159
--- /dev/null
+++ b/demos/glhypnotizer/hypnotizer.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>qt-logo.png</file>
+ <file>spiral.svg</file>
+</qresource>
+</RCC> \ No newline at end of file
diff --git a/demos/glhypnotizer/main.cpp b/demos/glhypnotizer/main.cpp
new file mode 100644
index 0000000..28fed34
--- /dev/null
+++ b/demos/glhypnotizer/main.cpp
@@ -0,0 +1,356 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include <QtOpenGL>
+#include <QtSvg>
+
+#define NUM_SWIRLY_ITEMS 10
+
+class GLPainter : public QObject
+{
+ Q_OBJECT
+public:
+ GLPainter(QGLWidget *widget);
+ void stop();
+ void resizeViewport(const QSize &size);
+
+public slots:
+ void start();
+
+protected:
+ void timerEvent(QTimerEvent *event);
+ void paint();
+ void initSwirlyItems();
+ void updateSwirlyItems();
+ void drawSuggestiveMessages(QPainter *p);
+
+private:
+ QMutex mutex;
+ QGLWidget *glWidget;
+ int viewportWidth;
+ int viewportHeight;
+ bool doRendering;
+ qreal rotationAngle;
+ bool swirlClockwise;
+ QSvgRenderer svgRenderer;
+ QPixmap logo;
+ QPainter::PixmapFragment swirlyItems[NUM_SWIRLY_ITEMS];
+ int swirlyCounter;
+ int textCounter;
+ int messageYPos;
+ qreal scaleFactor;
+};
+
+
+GLPainter::GLPainter(QGLWidget *widget)
+ : glWidget(widget)
+ , doRendering(true)
+ , rotationAngle(rand() % 360)
+ , swirlClockwise((rand() % 2) == 1)
+ , svgRenderer(QLatin1String(":/spiral.svg"), this)
+ , logo(QLatin1String(":/qt-logo.png"))
+{
+}
+
+void GLPainter::start()
+{
+ glWidget->makeCurrent();
+ startTimer(20);
+}
+
+void GLPainter::stop()
+{
+ QMutexLocker locker(&mutex);
+ doRendering = false;
+}
+
+void GLPainter::resizeViewport(const QSize &size)
+{
+ QMutexLocker locker(&mutex);
+ viewportWidth = size.width();
+ viewportHeight = size.height();
+ initSwirlyItems();
+ textCounter = 0;
+ messageYPos = -1;
+}
+
+void GLPainter::timerEvent(QTimerEvent *event)
+{
+ QMutexLocker locker(&mutex);
+ if (!doRendering) {
+ killTimer(event->timerId());
+ QThread::currentThread()->quit();
+ return;
+ }
+ updateSwirlyItems();
+ paint();
+}
+
+void GLPainter::paint()
+{
+ QPainter p(glWidget);
+ p.fillRect(QRect(0, 0, viewportWidth, viewportHeight), Qt::white);
+ p.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
+ p.translate(viewportWidth / 2, viewportHeight / 2);
+ p.rotate(rotationAngle * (swirlClockwise ? 1 : -1));
+ p.scale(svgRenderer.viewBox().width() / 200.0 * 0.65,
+ svgRenderer.viewBox().height() / 200.0 * 0.65);
+ p.translate(-viewportWidth / 2, -viewportHeight / 2);
+ svgRenderer.render(&p);
+ p.resetTransform();
+ p.drawPixmapFragments(swirlyItems, NUM_SWIRLY_ITEMS, logo);
+ drawSuggestiveMessages(&p);
+ p.end();
+ rotationAngle += 1.2;
+}
+
+void GLPainter::drawSuggestiveMessages(QPainter *p)
+{
+ const int numSuggestiveMessages = 7;
+ const char *texts[numSuggestiveMessages] = {" You feel relaxed.. ",
+ " Let your mind wander.. ",
+ " Look deep into the swirls.. ",
+ " Even deeper.. ",
+ " Qt is good! ",
+ " Qt is good for you! ",
+ " You MUST use Qt! "};
+ QFont font(p->font());
+ font.setPointSizeF(font.pointSizeF() * viewportWidth/200.0);
+ p->setFont(font);
+ QFontMetrics fm(font);
+ int messageNo = textCounter/314;
+ if (messageNo > 6 || messageNo < 0) {
+ qFatal("This should not happen: %d - %d", messageNo, textCounter);
+ }
+ QLatin1String text(texts[textCounter / 314]);
+ qreal textWidth = fm.width(text);
+ int alpha = 255 * qAbs(qSin(textCounter * 0.01));
+ if (messageYPos < 0 || (textCounter % 314 == 0)) {
+ messageYPos = qBound(fm.height(), rand() % viewportHeight,
+ viewportHeight - fm.height());
+ }
+ p->setPen(QColor(255, 255, 255, alpha));
+ p->setBackground(QColor(50, 50, 50, qBound(0, alpha, 50)));
+ p->setBackgroundMode(Qt::OpaqueMode);
+ p->drawText((viewportWidth / 2) - (textWidth/ 2), messageYPos, text);
+ ++textCounter;
+ if (textCounter >= (314 * numSuggestiveMessages))
+ textCounter = 0;
+}
+
+void GLPainter::initSwirlyItems()
+{
+ swirlyCounter = swirlClockwise ? 0 : 360;
+ scaleFactor = viewportWidth / 200.0;
+ QRectF logoRect(0, 0, logo.width(), logo.height());
+
+ for (int i=0; i<NUM_SWIRLY_ITEMS; ++i) {
+ if (swirlClockwise) {
+ swirlyItems[i] = QPainter::PixmapFragment::create(QPointF(0, 0), logoRect,
+ scaleFactor,
+ scaleFactor);
+ } else {
+ swirlyItems[i] = QPainter::PixmapFragment::create(QPointF(0, 0), logoRect,
+ scaleFactor * 1 / 360.0,
+ scaleFactor * 1 / 360.0);
+ }
+ }
+}
+
+void GLPainter::updateSwirlyItems()
+{
+ swirlyCounter += swirlClockwise ? 1 : -1;
+
+ for (int i=0; i<NUM_SWIRLY_ITEMS; ++i) {
+ int factor;
+ factor = swirlClockwise ? (swirlyCounter - i * 20) : (swirlyCounter + i * 20);
+ if (factor > 0 && factor <= 360) {
+ swirlyItems[i].x = viewportWidth / 2.0 + qSin(factor * 0.05) * (viewportWidth / 2.0) * (100.0 / factor);
+ swirlyItems[i].y = viewportHeight / 2.0 + qCos(factor * 0.05) * (viewportHeight / 2.0) * (100.0 / factor);
+ swirlyItems[i].rotation += -swirlyCounter * 0.01;
+ swirlyItems[i].scaleX += swirlClockwise ? -scaleFactor * 1 / 360.0 : scaleFactor * 1 / 360.0;
+ if (swirlClockwise) {
+ if (swirlyItems[i].scaleX < 0)
+ swirlyItems[i].scaleX = scaleFactor;
+ } else {
+ if (swirlyItems[i].scaleX > scaleFactor)
+ swirlyItems[i].scaleX = scaleFactor * 1 / 360.0;
+ }
+ swirlyItems[i].scaleY = swirlyItems[i].scaleX;
+ } else {
+ swirlyItems[i].scaleX = swirlyItems[i].scaleY = 0;
+ }
+ }
+ if (swirlClockwise) {
+ if (swirlyCounter > (360 + NUM_SWIRLY_ITEMS * 20))
+ swirlyCounter = 0;
+ } else {
+ if (swirlyCounter < -NUM_SWIRLY_ITEMS * 20)
+ swirlyCounter = 360;
+ }
+}
+
+class GLWidget : public QGLWidget
+{
+public:
+ GLWidget(QWidget *parent, QGLWidget *shareWidget = 0);
+ ~GLWidget();
+ void startRendering();
+ void stopRendering();
+
+protected:
+ void resizeEvent(QResizeEvent *event);
+ void paintEvent(QPaintEvent *event);
+ QSize sizeHint() const { return QSize(200, 200); }
+
+private:
+ GLPainter glPainter;
+ QThread glThread;
+};
+
+GLWidget::GLWidget(QWidget *parent, QGLWidget *share)
+ : QGLWidget(QGLFormat(QGL::SampleBuffers), parent, share)
+ , glPainter(this)
+ , glThread(this)
+{
+ setAttribute(Qt::WA_PaintOutsidePaintEvent);
+ setAttribute(Qt::WA_DeleteOnClose);
+}
+
+GLWidget::~GLWidget()
+{
+ stopRendering();
+}
+
+void GLWidget::startRendering()
+{
+ glPainter.moveToThread(&glThread);
+ connect(&glThread, SIGNAL(started()), &glPainter, SLOT(start()));
+ glThread.start();
+}
+
+void GLWidget::stopRendering()
+{
+ glPainter.stop();
+ glThread.wait();
+}
+
+void GLWidget::resizeEvent(QResizeEvent *event)
+{
+ glPainter.resizeViewport(event->size());
+}
+
+void GLWidget::paintEvent(QPaintEvent *)
+{
+ // Handled by GLPainter.
+}
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+public:
+ MainWindow();
+
+private slots:
+ void newThread();
+ void killThread();
+
+private:
+ QMdiArea mdiArea;
+ QGLWidget shareWidget;
+};
+
+MainWindow::MainWindow()
+ : QMainWindow(0)
+ , mdiArea(this)
+ , shareWidget(this)
+{
+ setWindowTitle("Qt GL Hypnotizer");
+ QMenu *menu = menuBar()->addMenu("&Hypnotizers");
+ menu->addAction("&New hypnotizer thread", this, SLOT(newThread()), QKeySequence("Ctrl+N"));
+ menu->addAction("&End current hypnotizer thread", this, SLOT(killThread()), QKeySequence("Ctrl+K"));
+ menu->addSeparator();
+ menu->addAction("E&xit", qApp, SLOT(quit()), QKeySequence("Ctrl+Q"));
+
+ setCentralWidget(&mdiArea);
+ shareWidget.resize(1, 1);
+ newThread();
+}
+
+void MainWindow::newThread()
+{
+ static int windowCount = 1;
+ if (mdiArea.subWindowList().count() > 9)
+ return;
+ GLWidget *widget = new GLWidget(&mdiArea, &shareWidget);
+ mdiArea.addSubWindow(widget);
+ widget->setWindowTitle("Thread #" + QString::number(windowCount++));
+ widget->show();
+ widget->startRendering();
+}
+
+void MainWindow::killThread()
+{
+ delete mdiArea.activeSubWindow();
+}
+
+int main(int argc, char *argv[])
+{
+ // Make Xlib and GLX thread safe under X11
+ QApplication::setAttribute(Qt::AA_X11InitThreads);
+ QApplication application(argc, argv);
+
+ // Using QPainter to draw into QGLWidgets is only supported with GL 2.0
+ if (!((QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_Version_2_0) ||
+ (QGLFormat::openGLVersionFlags() & QGLFormat::OpenGL_ES_Version_2_0))) {
+ QMessageBox::information(0, "Qt GL Hypnotizer",
+ "This system does not support OpenGL 2.0 or OpenGL ES 2.0, "
+ "which is required for this example to work.");
+ return 0;
+ }
+
+ MainWindow mainWindow;
+ mainWindow.show();
+ return application.exec();
+}
+
+#include "main.moc"
diff --git a/demos/glhypnotizer/qt-logo.png b/demos/glhypnotizer/qt-logo.png
new file mode 100644
index 0000000..eaea344
--- /dev/null
+++ b/demos/glhypnotizer/qt-logo.png
Binary files differ
diff --git a/demos/glhypnotizer/spiral.svg b/demos/glhypnotizer/spiral.svg
new file mode 100644
index 0000000..ff1f047
--- /dev/null
+++ b/demos/glhypnotizer/spiral.svg
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="512"
+ height="512"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47pre4 r22446"
+ sodipodi:docname="spiral.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient5046">
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="0"
+ id="stop5048" />
+ <stop
+ style="stop-color:#6c90da;stop-opacity:1;"
+ offset="1"
+ id="stop5050" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5046"
+ id="radialGradient5052"
+ cx="359.38702"
+ cy="438.07581"
+ fx="359.38702"
+ fy="438.07581"
+ r="304.44159"
+ gradientTransform="matrix(1,0,0,0.91551877,0,37.009184)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.99232897"
+ inkscape:cx="267.31099"
+ inkscape:cy="295.6491"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="963"
+ inkscape:window-height="1024"
+ inkscape:window-x="286"
+ inkscape:window-y="74"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-540.36218)">
+ <path
+ sodipodi:type="spiral"
+ style="fill:url(#radialGradient5052);fill-opacity:1;stroke:#000000;stroke-width:20.29999924;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path2816"
+ sodipodi:cx="331.42856"
+ sodipodi:cy="463.79074"
+ sodipodi:expansion="1"
+ sodipodi:revolution="3"
+ sodipodi:radius="337.44537"
+ sodipodi:argument="-18.046196"
+ sodipodi:t0="0"
+ d="m 331.42856,463.79074 c 11.74672,12.17647 -10.61822,21.84178 -20.23809,19.52382 -26.06925,-6.28154 -29.6746,-39.8823 -18.80954,-59.99999 19.43502,-35.98584 68.28562,-39.36493 99.76189,-18.09528 46.19269,31.21408 49.35062,97.07722 17.381,139.5238 -42.61047,56.57461 -126.00702,59.46265 -179.2857,16.66673 -67.04578,-53.85429 -69.64012,-155.00279 -15.95246,-219.0476 65.02296,-77.56686 184.03573,-79.85552 258.80951,-15.23819 88.11831,76.14929 90.09472,213.09185 14.52392,298.57141 C 400.3696,724.38498 245.45564,726.04525 149.28577,639.50509 40.011453,541.17265 38.669765,368.25918 136.1904,261.40987 245.59381,141.54108 436.52669,140.5196 554.04752,249.02876 684.51792,369.4945 685.21808,578.4614 565.71435,706.64779"
+ transform="matrix(0.9291373,0,0,0.91940263,-79.040559,394.33975)" />
+ </g>
+</svg>
diff --git a/demos/gradients/main.cpp b/demos/gradients/main.cpp
index df45f84..1d2f0d5 100644
--- a/demos/gradients/main.cpp
+++ b/demos/gradients/main.cpp
@@ -52,7 +52,7 @@ int main(int argc, char **argv)
GradientWidget gradientWidget(0);
QStyle *arthurStyle = new ArthurStyle();
gradientWidget.setStyle(arthurStyle);
- QList<QWidget *> widgets = qFindChildren<QWidget *>(&gradientWidget);
+ QList<QWidget *> widgets = gradientWidget.findChildren<QWidget *>();
foreach (QWidget *w, widgets) {
w->setStyle(arthurStyle);
w->setAttribute(Qt::WA_AcceptTouchEvents);
diff --git a/demos/interview/model.cpp b/demos/interview/model.cpp
index fca232c..6031615 100644
--- a/demos/interview/model.cpp
+++ b/demos/interview/model.cpp
@@ -109,7 +109,7 @@ QVariant Model::headerData(int section, Qt::Orientation orientation, int role) c
if (role == Qt::DisplayRole)
return QString::number(section);
if (role == Qt::DecorationRole)
- return qVariantFromValue(services);
+ return QVariant::fromValue(services);
return QAbstractItemModel::headerData(section, orientation, role);
}
diff --git a/demos/mainwindow/colorswatch.cpp b/demos/mainwindow/colorswatch.cpp
index 19599bf..dd16fdd 100644
--- a/demos/mainwindow/colorswatch.cpp
+++ b/demos/mainwindow/colorswatch.cpp
@@ -454,7 +454,7 @@ void ColorSwatch::updateContextMenu()
tabMenu->clear();
splitHMenu->clear();
splitVMenu->clear();
- QList<ColorSwatch*> dock_list = qFindChildren<ColorSwatch*>(mainWindow);
+ QList<ColorSwatch*> dock_list = mainWindow->findChildren<ColorSwatch*>();
foreach (ColorSwatch *dock, dock_list) {
// if (!dock->isVisible() || dock->isFloating())
// continue;
@@ -467,7 +467,7 @@ void ColorSwatch::updateContextMenu()
void ColorSwatch::splitInto(QAction *action)
{
QMainWindow *mainWindow = qobject_cast<QMainWindow *>(parentWidget());
- QList<ColorSwatch*> dock_list = qFindChildren<ColorSwatch*>(mainWindow);
+ QList<ColorSwatch*> dock_list = mainWindow->findChildren<ColorSwatch*>();
ColorSwatch *target = 0;
foreach (ColorSwatch *dock, dock_list) {
if (action->text() == dock->objectName()) {
@@ -486,7 +486,7 @@ void ColorSwatch::splitInto(QAction *action)
void ColorSwatch::tabInto(QAction *action)
{
QMainWindow *mainWindow = qobject_cast<QMainWindow *>(parentWidget());
- QList<ColorSwatch*> dock_list = qFindChildren<ColorSwatch*>(mainWindow);
+ QList<ColorSwatch*> dock_list = mainWindow->findChildren<ColorSwatch*>();
ColorSwatch *target = 0;
foreach (ColorSwatch *dock, dock_list) {
if (action->text() == dock->objectName()) {
diff --git a/demos/mainwindow/toolbar.cpp b/demos/mainwindow/toolbar.cpp
index 21731dc..1176ee5 100644
--- a/demos/mainwindow/toolbar.cpp
+++ b/demos/mainwindow/toolbar.cpp
@@ -232,7 +232,7 @@ void ToolBar::updateMenu()
void ToolBar::order()
{
QList<QAction *> ordered, actions1 = actions(),
- actions2 = qFindChildren<QAction *>(this);
+ actions2 = findChildren<QAction *>();
while (!actions2.isEmpty()) {
QAction *action = actions2.takeFirst();
if (!actions1.contains(action))
diff --git a/demos/pathstroke/main.cpp b/demos/pathstroke/main.cpp
index 6d688c3..ca201d3 100644
--- a/demos/pathstroke/main.cpp
+++ b/demos/pathstroke/main.cpp
@@ -57,7 +57,7 @@ int main(int argc, char **argv)
PathStrokeWidget pathStrokeWidget(smallScreen);
QStyle *arthurStyle = new ArthurStyle();
pathStrokeWidget.setStyle(arthurStyle);
- QList<QWidget *> widgets = qFindChildren<QWidget *>(&pathStrokeWidget);
+ QList<QWidget *> widgets = pathStrokeWidget.findChildren<QWidget *>();
foreach (QWidget *w, widgets) {
w->setStyle(arthurStyle);
w->setAttribute(Qt::WA_AcceptTouchEvents);
diff --git a/demos/pathstroke/pathstroke.cpp b/demos/pathstroke/pathstroke.cpp
index 2d01ee5..02c35f7 100644
--- a/demos/pathstroke/pathstroke.cpp
+++ b/demos/pathstroke/pathstroke.cpp
@@ -382,7 +382,7 @@ void PathStrokeWidget::setStyle( QStyle * style )
{
m_controls->setStyle(style);
- QList<QWidget *> widgets = qFindChildren<QWidget *>(m_controls);
+ QList<QWidget *> widgets = m_controls->findChildren<QWidget *>();
foreach (QWidget *w, widgets)
w->setStyle(style);
}
diff --git a/demos/qmediaplayer/qmediaplayer.pro b/demos/qmediaplayer/qmediaplayer.pro
index fbf06d2..a7a6181 100644
--- a/demos/qmediaplayer/qmediaplayer.pro
+++ b/demos/qmediaplayer/qmediaplayer.pro
@@ -27,7 +27,7 @@ DEPLOYMENT_PLUGIN += phonon_ds9 phonon_waveout
symbian {
TARGET.UID3 = 0xA000C613
- addFiles.sources = ../embedded/desktopservices/data/sax.mp3
+ addFiles.files = ../embedded/desktopservices/data/sax.mp3
addFiles.path = /data/sounds/
DEPLOYMENT += addFiles
diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml
index b94d2b8..2fde945 100644
--- a/demos/qtdemo/xml/examples.xml
+++ b/demos/qtdemo/xml/examples.xml
@@ -25,7 +25,6 @@
<example filename="spreadsheet" name="Spreadsheet" />
<example filename="sqlbrowser" name="SQL Browser" />
<example filename="arthurplugin" name="Arthur Plugin" executable="false" />
-
</demos>
<category dirname="animation" name="Animation Framework">
<example filename="animatedtiles" name="Animated Tiles" />
@@ -265,6 +264,9 @@
<example filename="previewer" name="HTML Previewer" />
<example filename="fancybrowser" name="Fancy Browser" />
<example filename="googlechat" name="Google Chat" />
+ <example filename="simplewebplugin" name="Simple Web Plugin" />
+ <example filename="webplugin" name="Web Plugin" />
+ <example filename="webftpclient" name="Web FTP Client" />
</category>
<category dirname="xml" name="XML">
<example filename="saxbookmarks" name="SAX Bookmarks" />
diff --git a/demos/shared/arthurstyle.cpp b/demos/shared/arthurstyle.cpp
index 5abcfe9..432b8b3 100644
--- a/demos/shared/arthurstyle.cpp
+++ b/demos/shared/arthurstyle.cpp
@@ -394,7 +394,7 @@ int ArthurStyle::pixelMetric(PixelMetric pm, const QStyleOption *opt, const QWid
void ArthurStyle::polish(QWidget *widget)
{
if (widget->layout() && qobject_cast<QGroupBox *>(widget)) {
- if (qFindChildren<QGroupBox *>(widget).size() == 0) {
+ if (widget->findChildren<QGroupBox *>().size() == 0) {
widget->layout()->setSpacing(0);
widget->layout()->setMargin(12);
} else {
diff --git a/demos/shared/arthurwidgets.cpp b/demos/shared/arthurwidgets.cpp
index 617f100..b3c75f0 100644
--- a/demos/shared/arthurwidgets.cpp
+++ b/demos/shared/arthurwidgets.cpp
@@ -313,7 +313,7 @@ void ArthurFrame::loadSourceFile(const QString &sourceFile)
void ArthurFrame::showSource()
{
// Check for existing source
- if (qFindChild<QTextBrowser *>(this))
+ if (findChild<QTextBrowser *>())
return;
QString contents;
diff --git a/demos/spectrum/app/app.pro b/demos/spectrum/app/app.pro
index b3ff227..a75b41a 100644
--- a/demos/spectrum/app/app.pro
+++ b/demos/spectrum/app/app.pro
@@ -86,7 +86,7 @@ symbian {
!contains(DEFINES, DISABLE_FFT) {
# Include FFTReal DLL in the SIS file
- fftreal.sources = ../fftreal.dll
+ fftreal.files = ../fftreal.dll
fftreal.path = !:/sys/bin
DEPLOYMENT += fftreal
}
diff --git a/demos/spectrum/app/settingsdialog.cpp b/demos/spectrum/app/settingsdialog.cpp
index 0fc620d..78c2db9 100644
--- a/demos/spectrum/app/settingsdialog.cpp
+++ b/demos/spectrum/app/settingsdialog.cpp
@@ -65,13 +65,13 @@ SettingsDialog::SettingsDialog(
QAudioDeviceInfo device;
foreach (device, availableInputDevices)
m_inputDeviceComboBox->addItem(device.deviceName(),
- qVariantFromValue(device));
+ QVariant::fromValue(device));
foreach (device, availableOutputDevices)
m_outputDeviceComboBox->addItem(device.deviceName(),
- qVariantFromValue(device));
+ QVariant::fromValue(device));
- m_windowFunctionComboBox->addItem(tr("None"), qVariantFromValue(int(NoWindow)));
- m_windowFunctionComboBox->addItem("Hann", qVariantFromValue(int(HannWindow)));
+ m_windowFunctionComboBox->addItem(tr("None"), QVariant::fromValue(int(NoWindow)));
+ m_windowFunctionComboBox->addItem("Hann", QVariant::fromValue(int(HannWindow)));
m_windowFunctionComboBox->setCurrentIndex(m_windowFunction);
// Initialize default devices
diff --git a/demos/spreadsheet/spreadsheetitem.cpp b/demos/spreadsheet/spreadsheetitem.cpp
index 3d1fc0d..74a1967 100644
--- a/demos/spreadsheet/spreadsheetitem.cpp
+++ b/demos/spreadsheet/spreadsheetitem.cpp
@@ -72,10 +72,10 @@ QVariant SpreadSheetItem::data(int role) const
if (role == Qt::TextColorRole) {
if (!isNumber)
- return qVariantFromValue(QColor(Qt::black));
+ return QVariant::fromValue(QColor(Qt::black));
else if (number < 0)
- return qVariantFromValue(QColor(Qt::red));
- return qVariantFromValue(QColor(Qt::blue));
+ return QVariant::fromValue(QColor(Qt::red));
+ return QVariant::fromValue(QColor(Qt::blue));
}
if (role == Qt::TextAlignmentRole)
diff --git a/dist/changes-4.6.0 b/dist/changes-4.6.0
index 3e7d33b..2ebdc7c 100644
--- a/dist/changes-4.6.0
+++ b/dist/changes-4.6.0
@@ -177,7 +177,7 @@ QtCore
* Many optimisations.
* Added QVariant::toFloat() and QVariant::toReal().
* Added QVariant(float) constructor.
- * qvariant_cast<QVariant> and qVariantFromValue<QVariant> are now
+ * qvariant_cast<QVariant> and QVariant::fromValue<QVariant> are now
identity functions.
* Added support for math3d types.
diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0
new file mode 100644
index 0000000..b8e3842
--- /dev/null
+++ b/dist/changes-4.8.0
@@ -0,0 +1,249 @@
+Qt 4.8 introduces many new features and improvements as well as bugfixes
+over the 4.7.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+ http://qt.nokia.com/doc/4.8
+
+The Qt version 4.8 series is binary compatible with the 4.7.x series.
+Applications compiled for 4.7 will continue to run with 4.8.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ http://bugreports.qt.nokia.com/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* General *
+****************************************************************************
+
+General Improvements
+--------------------
+
+-
+
+Third party components
+----------------------
+
+ - Updated libpng to version 1.5.1
+ - Updated libjpeg to version 8c
+ - Updated zlib to version 1.2.5
+
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+QtCore
+------
+ - Removed support for QT_NO_THREAD define for QHostInfo.
+ - Optimized plugin loading on ELF platforms.
+ Print failure reason at runtime with QT_DEBUG_PLUGINS=1 in environment.
+ - QMutexLocker: improved performence of the non contended case by inlining some function
+ - QThreadStorage: Added possibility to store object by value instead of by pointer [QTBUG-15033]
+ - QThread: fixed few race conditions [QTBUG-17257, QTBUG-15030]
+ - QtConcurrent: added support for c++0x lambda in few functions
+ - QObject: Improved performence of the signal activation
+ - QObject: added ways to connect signals using QMetaMethod
+ - QObject: deprecated qFindChild and qFindChildren
+ - QObject: optimize constructions and destruction of objects
+ - QObject: Qt::BlockingQueuedConnection can handle the return value [QTBUG-10440]
+ - QList/QVector/QStringList: added C++0x initilizer lists constructors.
+ - QVarLenghtArray: added method for consistency with QVector
+ - QStringBuilder: added support for QByteArray
+ - qSwap now uses std::swap, specialized std::swap for our container to work better with stl algoritms
+ - QVariant: deprecated global function qVariantSetValue, qVariantValue, qVariantCanConvert, qVariantFromValue
+ - QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205)
+ - optimised performance of QFileInfo, QDir, QDirIterator, these classes now share metadata and access the filesystem less
+ - QFile: new open() overloads allow control over whether QFile should close an adopted file handle or not
+
+QtGui
+-----
+
+ - QTabBar: reduced minimumSizeHint if ElideMode is set.
+ - QComboBox: Fixed a color propagation issue with the lineedit. [QTBUG-5950]
+ - QGraphicsLayout: Made setInstantInvalidatePropagation() public
+ - Deprecate qGenericMatrixFromMatrix4x4 and qGenericMatrixToMatrix4x4
+ - QListView diverses optimisations [QTBUG-11438]
+ - QTreeWidget/QListWidget: use localeAwareCompare for string comparisons [QTBUG-10839]
+ - PNG image I/O: Much improved support for text annotations, including iTXt fields.
+ - QRawFont and QGlyphRun are introduced for low-level text rendering. [QTBUG-18252]
+ - QFont: hintingPreference() is introduced to control hinting in font rendering and
+ subpixel positioning of glyphs for Windows, Mac OS X and X11/raster. [QTBUG-10615]
+ - Subpixel positioned text layout is supported in raster and OpenGL paint engines.
+ - QFont: styleName() is added to allow selecting fonts with irregular style names
+ like UltraLight. [QTBUG-19366]
+ - Visual text cursor movement behavior is added to QTextEdit and QLineEdit controls,
+ which can be used as an optional mode for bi-directional text editing. [QTBUG-13859]
+ - Fixed a rare race condition when showing toplevel windows on X11
+ - Accessibility: Fix potential crash in QDockWidget.
+ - Accessibility: Fix crash when asking for relations of child accessibles.
+ - Accessibility: More consistency in reporting names (especially when widget is invisible).
+ - Accessibility: Make focus handling more consistent.
+ - Accessibility: Send updates when text changes.
+ - Accessibility: Add IAccessible2 events.
+ - Accessibility: Fix crash when accessing ItemViews during initialization.
+ - Accessibility: Make QTabWidget child hierarchy consistent.
+ - Accessibility: Report correct window title and application name.
+ - Accessibility: Return text attributes for QTextEdit.
+ - Accessibility: Make accessibility work on Windows with alien widgets
+ - Accessibility: Several enablers for accessible graphicsview and Qt Quick applications.
+
+QtNetwork
+---------
+
+ - SSL: Switch default version to TLS 1.0
+ - SSL: enable Server Name Indication (SNI) by default
+ - QSslCertificate: report fraudulent certificates as invalid ("Comodogate") [QTBUG-18338]
+ - QSslCertificate: display non-ASCII names from subject and issuerInfo (MR-922)
+ - QSslCertificate: loat root certificates on demand on Unix (excluding Mac) [QTBUG-14016]
+ - QNetworkCookie: retain quotes in value attribute [QTBUG-17746]
+ - QNetworkCookie: allow spaces in unquoted values [QTBUG-18876]
+ - HTTP API: add support for HTTP multipart messages [QTBUG-6222]
+ - HTTP cache: do not load resources from cache that must be revalidated [QTBUG-18983]
+ - HTTP cache: change file organization (MR-2505)
+ - SOCKS5: write errors are propagated to the outer socket [QTBUG-18713]
+
+ QtOpenGL
+ --------
+ - Removed dependency of OpenGL Utility Library (GLU)
+ - Added QGLFunctions, which provides cross-platform access to the
+ OpenGL/ES 2.0 API.
+ - Including <QtOpenGL> will not work in combination with GLEW, as
+ QGLFunctions will undefine GLEW's defines.
+ - Optimize behavior of QGLTextureCache
+
+QtScript
+--------
+ - Deprecated qScriptValueFromQMetaObject, qScriptValueToValue, qScriptValueFromValue
+
+QtSql
+-----
+
+ - Update sqlite to 3.7.7.1
+****************************************************************************
+* Database Drivers *
+****************************************************************************
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Qt for Linux/X11
+----------------
+ - Now takes font hinting settings from GConf by default if running in
+ GNOME desktop.
+ - Various fixes to FontConfig font matching code to make it consistent
+ with other X11 programs. [QTBUG-2148, QTBUG-19947, QTBUG-14269]
+ - Added experimental support for armCC
+
+Qt for Windows
+--------------
+ - DirectWrite experimental text shaping engine is added with subpixel
+ positioning support. [QTBUG-12678]
+
+Qt for Mac OS X
+---------------
+ - raster graphics system is now made as the default paint engine for
+ Mac OS X. [QTBUG-12615]
+ - HarfBuzz can now be used as an optional text layout engine on Mac OS X.
+ [QTBUG-17728]
+
+Qt for Embedded Linux
+---------------------
+ - Added support for QNX 6.5 with multi-process support, and much improved mouse,
+ keyboard and screen drivers.
+ - Improved support for INTEGRITY RTOS
+ - Allow hard-coding the temp path in mkspecs (QT_UNIX_TEMP_PATH_OVERRIDE define)
+
+Qt for Symbian
+--------------
+ - File APIs now have backends using native API rather than unix.
+ This improves performance and stability.
+ - Socket APIs now have a backend using native API rather than unix. [QTBUG-7274]
+ This improves stability and enables IPv6.
+ - IPv6 connectivity is now supported.
+ - Multiple instances of QNetworkAccessManager in the same process with a
+ different QNetworkConfiguration now work. This allows http requests to
+ be made via a specific network. For example to mobile operator websites
+ only accessible via the cellular network, or to websites inside a firewall
+ - System proxy settings now work correctly when using service networks [QTBUG-18618]
+
+Qt for Windows CE
+-----------------
+
+
+****************************************************************************
+* Compiler Specific Changes *
+****************************************************************************
+- Sun Studio 12
+ * Fixed build issues in the OpenGL module on Solaris with CC 5.9. [QTBUG-19641]
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+- Build System
+
+- Assistant
+
+- Designer
+ * [QTBUG-18631] Enabled the use of promoted QWidgets in the buddy editor.
+ * [QTBUG-18120] Fixed saving of the Z-order.
+ * [QTBUG-13683] Fixed saving of QGridLayout and QFormLayout
+ by QFormBuilder.
+ * [QTBUG-10890] Added a filter to the rich text editor dialog.
+ that simplifies the HTML markup generated.
+ * [QTBUG-7777] Added support for QIcon::fromTheme.
+ * [QTBUG-7169] Fixed QtUiTools to be built with the correct
+ lib-infix.
+ * [QTBUG-3120] Added support for alignment of box layout items.
+
+- Linguist
+ - Linguist GUI
+
+ - lupdate
+
+ - lrelease
+
+
+- rcc
+
+
+- moc
+
+
+- uic
+
+
+- uic3
+
+
+- qmake
+
+
+- configure
+
+
+- qtconfig
+ * removed Qt3support dependency
+
+
+- qt3to4
+
+- qmlplugindump
+ * New tool to generate text descriptions of the QML components defined
+ in plugins loaded by a QML module.
+
+****************************************************************************
+* Plugins *
+****************************************************************************
+
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc
index 37455a7..0e8056a 100644
--- a/doc/src/declarative/basictypes.qdoc
+++ b/doc/src/declarative/basictypes.qdoc
@@ -567,7 +567,7 @@
An enumeration type consists of a set of named values.
- An enumeration value may be specifed as either a string:
+ An enumeration value may be specified as either a string:
\qml
Text { horizontalAlignment: "AlignRight" }
\endqml
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index 56ab29f..cecccf6 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -46,7 +46,7 @@ Qt applications.
\section1 Getting Started
\list
-\o \l{Intro to Qt Quick}{Introduction to Qt Quick}
+\o \l{Introduction to Qt Quick}
\o \l{QML for Qt Programmers}{QML Programming for Qt Programmers}
\o \l{Getting Started Programming with QML}
@@ -147,4 +147,12 @@ examples for porting}
\list
\o \l{Qt Quick Licensing Information}
\endlist
+
+\section1 Online Examples
+
+\list
+\o Forum Nokia:
+\l{http://wiki.forum.nokia.com/index.php/Qt_Quick_examples_for_porting}{Qt Quick
+examples for porting}
+\endlist
*/
diff --git a/doc/src/declarative/example-slideswitch.qdoc b/doc/src/declarative/example-slideswitch.qdoc
index 82161de..a4d8cbe 100644
--- a/doc/src/declarative/example-slideswitch.qdoc
+++ b/doc/src/declarative/example-slideswitch.qdoc
@@ -33,7 +33,7 @@ This example shows how to create a reusable switch component in QML.
The code for this example can be found in the \c $QTDIR/examples/declarative/ui-components/slideswitch directory.
-The elements that composed the switch are:
+The elements that compose the switch are:
\list
\o a \c on property (the interface to interact with the switch),
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index b63e1cb..0f7becd 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -194,7 +194,7 @@ The QML snippet shown above assigns a \c Person object to the \c BirthdayParty's
QML can set properties of types that are more complex than basic intrinsics like
integers and strings. Properties can also be object pointers, Qt interface
-pointers, lists of object points, and lists of Qt interface pointers. As QML
+pointers, lists of object pointers, and lists of Qt interface pointers. As QML
is typesafe it ensures that only valid types are assigned to these properties,
just like it does for primitive types.
diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc
index e0240c1..efca620 100644
--- a/doc/src/declarative/modules.qdoc
+++ b/doc/src/declarative/modules.qdoc
@@ -310,6 +310,7 @@ It is defined by a plain text file named "qmldir" that contains one or more line
<TypeName> [<InitialVersion>] <File>
internal <TypeName> <File>
plugin <Name> [<Path>]
+typeinfo <File>
\endcode
\bold {# <Comment>} lines are used for comments. They are ignored by the QML engine.
@@ -350,6 +351,14 @@ plugin file, or a relative path from the directory containing the \c qmldir file
containing the plugin file. By default the engine searches for the plugin library in the directory that contains the \c qmldir
file. The plugin search path can be queried with QDeclarativeEngine::pluginPathList() and modified using QDeclarativeEngine::addPluginPath(). When running the \l {QML Viewer}, use the \c -P option to add paths to the plugin search path.
+\bold {typeinfo <File>} lines add \l{Writing a qmltypes file}{type description files} to
+the module that can be read by QML tools such as Qt Creator to get information about the
+types defined by the module's plugins. <File> is the (relative) file name of a .qmltypes
+file.
+
+Without such a file QML tools may be unable to offer features such as code completion
+for the types defined in your plugins.
+
\section1 Debugging
@@ -358,5 +367,121 @@ when there are problems with finding and loading modules. See
\l{Debugging module imports} for more information.
+\section1 Writing a qmltypes file
+
+QML modules may refer to one or more type information files in their
+\l{Writing a qmldir file}{qmldir} file. These usually have the .qmltypes
+extension and are read by external tools to gain information about
+types defined in plugins.
+
+As such qmltypes files have no effect on the functionality of a QML module.
+Their only use is to allow tools such as Qt Creator to provide code completion,
+error checking and other functionality to users of your module.
+
+Any module that uses plugins should also ship a type description file.
+
+The best way to create a qmltypes file for your module is to generate it
+using the \c qmlplugindump tool that is provided with Qt.
+
+Example:
+If your module is in \c /tmp/imports/My/Module, you could run
+\code
+qmlplugindump My.Module 1.0 /tmp/imports > /tmp/imports/My/Module/mymodule.qmltypes
+\endcode
+to generate type information for your module. Afterwards, add the line
+\code
+typeinfo mymodule.qmltypes
+\endcode
+to \c /tmp/imports/My/Module/qmldir to register it.
+
+While the qmldump tool covers most cases, it does not work if:
+\list
+\o The plugin uses a \l{QDeclarativeCustomParser}. The component that uses
+ the custom parser will not get its members documented.
+\o The plugin can not be loaded. In particular if you cross-compiled
+ the plugin for a different architecture, qmldump will not be able to
+ load it.
+\endlist
+
+In case you have to create a qmltypes file manually or need to adjust
+an existing one, this is the file format:
+
+\qml
+import QtQuick.tooling 1.1
+
+// There always is a single Module object that contains all
+// Component objects.
+Module {
+ // A Component object directly corresponds to a type exported
+ // in a plugin with a call to qmlRegisterType.
+ Component {
+
+ // The name is a unique identifier used to refer to this type.
+ // It is recommended you simply use the C++ type name.
+ name: "QDeclarativeAbstractAnimation"
+
+ // The name of the prototype Component.
+ prototype: "QObject"
+
+ // The name of the default property.
+ defaultProperty: "animations"
+
+ // The name of the type containing attached properties
+ // and methods.
+ attachedType: "QDeclarativeAnimationAttached"
+
+ // The list of exports determines how a type can be imported.
+ // Each string has the format "URI/Name version" and matches the
+ // arguments to qmlRegisterType. Usually types are only exported
+ // once, if at all.
+ // If the "URI/" part of the string is missing that means the
+ // type should be put into the package defined by the URI the
+ // module was imported with.
+ // For example if this module was imported with 'import Foo 4.8'
+ // the Animation object would be found in the package Foo and
+ // QtQuick.
+ exports: [
+ "Animation 4.7",
+ "QtQuick/Animation 1.0"
+ ]
+
+ Property {
+ name: "animations";
+ type: "QDeclarativeAbstractAnimation"
+ // defaults to false, whether this property is read only
+ isReadonly: true
+ // defaults to false, whether the type of this property was a pointer in C++
+ isPointer: true
+ // defaults to false: whether the type actually is a QDeclarativeListProperty<type>
+ isList: true
+ // defaults to 0: the minor version that introduced this property
+ revision: 1
+ }
+ Property { name: "loops"; type: "int" }
+ Property { name: "name"; type: "string" }
+ Property { name: "loopsEnum"; type: "Loops" }
+
+ Enum {
+ name: "Loops"
+ values: {
+ "Infinite": -2,
+ "OnceOnly": 1
+ }
+ }
+
+ // Signal and Method work the same way. The inner Parameter
+ // declarations also support the isReadonly, isPointer and isList
+ // attributes which mean the same as for Property
+ Method { name: "restart" }
+ Signal { name: "started"; revision: 2 }
+ Signal {
+ name: "runningChanged"
+ Parameter { type: "bool" }
+ Parameter { name: "foo"; type: "bool" }
+ }
+ }
+}
+\endqml
+
*/
/
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index 52ece6f..36db628 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -422,3 +422,84 @@ a function in the model, e.g.:
updated, and that \e{value} holds the new value.
*/
+
+/*!
+\page qml-presenting-data.html
+\title Presenting Data with QML
+
+\section1 Introduction
+
+Qt Quick contains a set of standard items that can be used to present data in a
+number of different ways. For simple user interfaces,
+\l{Using QML Positioner and Repeater Items#Repeaters}{Repeaters} can be used
+in combination with
+\l{Using QML Positioner and Repeater Items#Positioners}{Positioners}
+to obtain pieces of data and arrange them in a user interface. However, when
+large quantities of data are involved, it is often better to use models with
+the standard views since these contain many built-in display and navigation
+features.
+
+\section1 Views
+
+Views are scrolling containers for collections of items. They are feature-rich,
+supporting many of the use cases found in typical applications, and can be
+customized to meet requirements on style and behavior.
+
+A set of standard views are provided in the basic set of Qt Quick
+graphical elements:
+
+\list
+\o \l{#ListView}{ListView} arranges items in a horizontal or vertical list
+\o \l{#GridView}{GridView} arranges items in a grid within the available space
+\o \l{#PathView}{PathView} arranges items on a path
+\endlist
+
+Unlike these items, \l WebView is not a fully-featured view item, and needs
+to be combined with a \l Flickable item to create a view that performs like
+a Web browser.
+
+\section2 ListView
+
+\l ListView shows a classic list of items with horizontal or vertical placing
+of items.
+
+\beginfloatright
+\inlineimage qml-listview-snippet.png
+\endfloat
+
+The following example shows a minimal ListView displaying a sequence of
+numbers (using an \l{QML Data Models#An Integer}{integer as a model}).
+A simple delegate is used to define an items for each piece of data in the
+model.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/listview/listview-snippet.qml document
+
+
+
+\section2 GridView
+
+\l GridView displays items in a grid like an file manager's icon view.
+
+\section2 PathView
+
+\l PathView displays items on a path, where the selection remains in
+the same place and the items move around it.
+
+\section1 Decorating Views
+
+\section2 Headers and Footers
+
+\section2 Sections
+
+\section2 Navigation
+
+In traditional user interfaces, views can be scrolled using standard
+controls, such as scroll bars and arrow buttons. In some situations, it
+is also possible to drag the view directly by pressing and holding a
+mouse button while moving the cursor. In touch-based user interfaces,
+this dragging action is often complemented with a flicking action, where
+scrolling continues after the user has stopped touching the view.
+
+\section1 Further Reading
+*/
diff --git a/doc/src/declarative/qdeclarativestates.qdoc b/doc/src/declarative/qdeclarativestates.qdoc
index 55f38c3..9857894 100644
--- a/doc/src/declarative/qdeclarativestates.qdoc
+++ b/doc/src/declarative/qdeclarativestates.qdoc
@@ -133,4 +133,26 @@ The \l {declarative/animation/states}{States and Transitions example}
demonstrates how to declare a basic set of states and apply animated
transitions between them.
+\l{Using QML Behaviors with States} explains a common problem when using Behaviors
+to animate state changes.
+
+\section1 State Fast Forwarding
+
+In order for Transition to correctly animate state changes, it is sometimes necessary
+for the engine to fast forward and rewind a state (that is, internally set and unset the state)
+before it is finally applied. The process is as follows:
+
+\list 1
+\o The state is fast forwarded to determine the complete set of end values.
+\o The state is rewound.
+\o The state is fully applied, with transitions.
+\endlist
+
+In some cases this may cause unintended behavior. For example, a state that changes
+a view's \i model or a Loader's \i sourceComponent will set these properties
+multiple times (to apply, rewind, and then reapply), which can be relatively expensive.
+
+State fast forwarding should be considered an implementation detail,
+and may change in later versions.
+
*/
diff --git a/doc/src/declarative/qtbinding.qdoc b/doc/src/declarative/qtbinding.qdoc
index b35ddc5..e342728 100644
--- a/doc/src/declarative/qtbinding.qdoc
+++ b/doc/src/declarative/qtbinding.qdoc
@@ -108,7 +108,7 @@ These methods are shown below. Naturally these approaches are not exclusive; you
these methods throughout your application as appropriate.
-\section2 Loading QML components from C++
+\section2 Loading QML Components from C++
A QML document can be loaded with QDeclarativeComponent or QDeclarativeView. QDeclarativeComponent
loads a QML component as a C++ object; QDeclarativeView also does this,
@@ -180,7 +180,7 @@ required \c objectName. It is better for the C++ implementation to know as littl
the QML user interface implementation and the composition of the QML object tree.
-\section2 Embedding C++ objects into QML components
+\section2 Embedding C++ Objects into QML Components
When loading a QML scene into a C++ application, it can be useful to directly embed C++ data into
the QML object. QDeclarativeContext enables this by exposing data to the context of a QML
@@ -231,7 +231,7 @@ in QML views.
Also see the QDeclarativeContext documentation for more information.
-\section2 Defining new QML elements
+\section2 Defining New QML Elements
While new QML elements can be \l {Defining New Components}{defined in QML}, they can also be
defined by C++ classes; in fact, many of the core \l {QML Elements} are implemented through
@@ -270,7 +270,7 @@ For more information on defining new QML elements, see the \l {Tutorial: Writing
-\section1 Exchanging data between QML and C++
+\section1 Exchanging Data between QML and C++
QML and C++ objects can communicate with one another through signals, slots and property
modifications. For a C++ object, any data that is exposed to Qt's \l{The Meta-Object System}{Meta-Object System}
@@ -279,7 +279,7 @@ the QML side, all QML object data is automatically made available to the meta-ob
be accessed from C++.
-\section2 Calling functions
+\section2 Calling Functions
QML functions can be called from C++ and vice-versa.
@@ -314,7 +314,7 @@ same name but different arguments, the correct function will be called according
the types of arguments that are provided.
-\section2 Receiving signals
+\section2 Receiving Signals
All QML signals are automatically available to C++, and can be connected to using QObject::connect()
like any ordinary Qt C++ signal. In return, any C++ signal can be received by a QML object using
@@ -373,7 +373,7 @@ class that is emitting the signal, and that the enum is registered using Q_ENUMS
See \l {Using enumerations of a custom type} below for details.
-\section2 Modifying properties
+\section2 Modifying Properties
Any properties declared in a QML object are automatically accessible from C++. Given a QML item
like this:
@@ -454,7 +454,7 @@ To allow a custom C++ type to be created or used in QML, the C++ class must be r
type using qmlRegisterType(), as shown in the \l {Defining new QML elements} section above.
-\section2 JavaScript arrays and objects
+\section2 JavaScript Arrays and Objects
There is built-in support for automatic type conversion between QVariantList and JavaScript
arrays, and QVariantMap and JavaScript objects.
@@ -465,6 +465,10 @@ below right calls this function, passing a QVariantList and a QVariantMap, which
converted to JavaScript array and object values, repectively:
\table
+\header
+\o Type
+\o String format
+\o Example
\row
\o \snippet doc/src/snippets/declarative/qtbinding/variantlistmap/MyItem.qml 0
\o \snippet doc/src/snippets/declarative/qtbinding/variantlistmap/main.cpp 0
@@ -485,7 +489,7 @@ parameter, the value can be created as a JavaScript array or object in the QML
side, and is automatically converted to a QVariantList or QVariantMap when it is passed to C++.
-\section2 Using enumerations of a custom type
+\section2 Using Enumerations of a Custom Type
To use an enumeration from a custom C++ component, the enumeration must be declared with Q_ENUMS() to
register it with Qt's meta object system. For example, the following C++ type has a \c Status enum:
@@ -507,22 +511,26 @@ the \l {Extending QML Functionalities using C++} reference documentation for
more information.
-\section2 Using enumeration values as signal parameters
+\section2 Using Enumeration Values as Signal and Method Parameters
C++ signals may pass enumeration values as signal parameters to QML, providing that the enumeration
and the signal are declared within the same class, or that the enumeration value is one of those declared
in the \l {Qt}{Qt Namespace}.
+Likewise, invokable C++ methods parameters may be enumeration values providing that the enumeration and
+the method are declared within the same class, or that the enumeration value is one of those declared in the
+\l {Qt}{Qt Namespace}.
+
Additionally, if a C++ signal with an enum parameter should be connectable to a QML function using the
-\l {Connecting signals to methods and other signals}{connect()} function, the enum type must be
-registered using qRegisterMetaType().
+\l{QML Signal and Handler Event System#Connecting Signals to Methods and Signals}{connect()}
+function, the enum type must be registered using qRegisterMetaType().
For QML signals, enum values may be used as signal parameters using the \c int type:
\snippet doc/src/snippets/declarative/qtbinding/enums/standalone.qml 1
-\section2 Automatic type conversion from strings
+\section2 Automatic Type Conversion from Strings
As a convenience, some basic types can be specified in QML using format strings to make it easier to
pass simple values from QML to C++.
diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc
index 027bb2e..75420d5 100644
--- a/doc/src/declarative/qtdeclarative.qdoc
+++ b/doc/src/declarative/qtdeclarative.qdoc
@@ -210,4 +210,4 @@
#include <QtDeclarative> to use this function.
Returns the QML type id.
- */
+*/
diff --git a/doc/src/declarative/qtquick-intro.qdoc b/doc/src/declarative/qtquick-intro.qdoc
index bdad2c3..4cd5db3 100644
--- a/doc/src/declarative/qtquick-intro.qdoc
+++ b/doc/src/declarative/qtquick-intro.qdoc
@@ -27,7 +27,7 @@
/*!
\page qml-intro.html
-\title Intro to Qt Quick
+\title Introduction to Qt Quick
Qt Quick is a collection of technologies that are designed to help developers
create the kind of intuitive, modern, and fluid user interfaces that are
diff --git a/doc/src/declarative/righttoleft.qdoc b/doc/src/declarative/righttoleft.qdoc
index 58c266c..1f2cd08 100644
--- a/doc/src/declarative/righttoleft.qdoc
+++ b/doc/src/declarative/righttoleft.qdoc
@@ -100,8 +100,12 @@ Or set all child elements to also inherit the layout direction:
\snippet doc/src/snippets/declarative/righttoleft.qml 3
Applying mirroring in this manner does not change the actual value of the relevant anchor,
-\c layoutDirection or \c horizontalAlignment properties. You can use \c LayoutMirroring.enabled to
-query whether the mirroring is in effect.
+\c layoutDirection or \c horizontalAlignment properties. The separate read-only property
+\c effectiveLayoutDirection can be used to query the effective layout
+direction of positioners and model views that takes the mirroring into account. Similarly the \l Text,
+\l TextInput and \l TextEdit elements have gained the read-only property \c effectiveHorizontalAlignment
+for querying the effective visual alignment of text. For anchors, the read only
+\l {Item::anchors.top}{anchors.mirrored} property reflects whether anchors have been mirrored.
Note that application layouts and animations that are defined using \l {Item::}{x} property values (as
opposed to anchors or positioner elements) are not affected by the \l LayoutMirroring attached property.
diff --git a/doc/src/declarative/whatsnew.qdoc b/doc/src/declarative/whatsnew.qdoc
index 77f8eb0..3a78f1b 100644
--- a/doc/src/declarative/whatsnew.qdoc
+++ b/doc/src/declarative/whatsnew.qdoc
@@ -26,12 +26,13 @@
****************************************************************************/
/*!
-\title What's new in Qt Quick
+\title What's New in Qt Quick
\page qtquick-whatsnew.html
\section1 Qt 4.7.4 includes QtQuick 1.1
-QtQuick 1.1 is a minor feature update. \e {import QtQuick 1.1} to use the new features.
+QtQuick 1.1 is a minor feature update. \e {import QtQuick 1.1} to use the new
+features.
\section2 PinchArea
@@ -39,7 +40,9 @@ PinchArea provides support for the common two finger pinch gesture.
\section2 LayoutMirroring attached property
-\l {LayoutMirroring}{Layout mirroring} is useful when you need to support both left-to-right and right-to-left layout versions of your application that target different language areas.
+\l {LayoutMirroring}{Layout mirroring} is useful when you need to support both
+left-to-right and right-to-left layout versions of your application that target
+different language areas.
\section2 Text
@@ -138,21 +141,21 @@ Added the following methods and signal handlers:
\section2 Component
\list
-\o The \l{Component::}{createObject()} method now accepts a map of initial property values for
-the created object.
+\o The \l{Component::}{createObject()} method now accepts a map of initial
+property values for the created object.
\endlist
\section2 Qt
\list
-\o Added the \l {QML:Qt::application}{Qt.application} object to hold generic global application
-properties.
+\o Added the \l {QML:Qt::application}{Qt.application} object to hold generic
+global application properties.
\endlist
\section2 Other changes
\list
-\o Functions can be \l{Binding Properties from JavaScript}{assigned to properties from JavaScript}
+\o Functions can be \l{Property Binding#Property Binding}{assigned to properties from JavaScript}
to create property bindings.
\o QtQuick now supports Right to Left layout in positioners, views, anchors and text elements.
\endlist
@@ -162,13 +165,14 @@ to create property bindings.
\section2 QtQuick namespace
-In prior Qt releases, all the Qt Quick elements were available in the \e Qt namespace.
-Starting with Qt 4.7.1, the elements are also available in the \e QtQuick namespace,
-which improves naming consistency, and allows the development of Qt Quick to occur at
-a faster rate than Qt's usual minor release schedule.
+In prior Qt releases, all the Qt Quick elements were available in the \e Qt
+namespace. Starting with Qt 4.7.1, the elements are also available in the
+\e QtQuick namespace, which improves naming consistency, and allows the
+development of Qt Quick to occur at a faster rate than Qt's usual minor release
+schedule.
-The change for developers is very simple - where you previously wrote \e {import Qt 4.7},
-just replace it with \e {import QtQuick 1.0}, like this:
+The change for developers is very simple - where you previously wrote
+\e {import Qt 4.7}, just replace it with \e {import QtQuick 1.0}, like this:
\code
import QtQuick 1.0
@@ -178,7 +182,7 @@ Text {
}
\endcode
-\e {import Qt 4.7} continues to work so existing applications wont break even if they
-aren't updated, but it is recommended that all import statements be modified to the new
-form.
+\e {import Qt 4.7} continues to work so existing applications won't break even
+if they aren't updated, but it is recommended that all import statements be
+modified to the new form.
*/
diff --git a/doc/src/demos/glhypnotizer.qdoc b/doc/src/demos/glhypnotizer.qdoc
new file mode 100644
index 0000000..468a4ac
--- /dev/null
+++ b/doc/src/demos/glhypnotizer.qdoc
@@ -0,0 +1,38 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example demos/glhypnotizer
+ \title GL Hypnotizer
+
+ This demo shows how to use OpenGL from a seperate thread.
+
+ \image glhypnotizer-demo.png
+
+ New MDI windows can be added by pressing Ctrl-N and each new child
+ window renders in it's own thread.
+*/
diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc
index d9b169c..a13e2b8 100644
--- a/doc/src/deployment/deployment.qdoc
+++ b/doc/src/deployment/deployment.qdoc
@@ -177,7 +177,7 @@
\o \l{Deploying an Application on Windows}{Qt for Windows}
\o \l{Deploying an Application on Mac OS X}{Qt for Mac OS X}
\o \l{Deploying Qt for Embedded Linux Applications}{Qt for Embedded Linux}
- \o \l{Deploying an Application on the Symbian platform}{Qt for the Symbian platform}
+ \o \l{Deploying an Application on the Symbian Platform}{Qt for the Symbian platform}
\endlist
\sa Installation {Platform-Specific Documentation}
@@ -746,7 +746,7 @@
If the shared library has dependencies that are different from the
application using it, the manifest file needs to be embedded into the DLL
- binary. Since Qt 4.1.3, the follwoing \c CONFIG options are available for
+ binary. Since Qt 4.1.3, the following \c CONFIG options are available for
embedding manifests:
\snippet doc/src/snippets/code/doc_src_deployment.qdoc 20
diff --git a/doc/src/development/assistant-manual.qdoc b/doc/src/development/assistant-manual.qdoc
index 8bb37ca..79fb4de 100644
--- a/doc/src/development/assistant-manual.qdoc
+++ b/doc/src/development/assistant-manual.qdoc
@@ -640,7 +640,12 @@
QDesktopServices::DataLocation. The first form is useful for
collections that are used in a "mobile" way, e.g. carried around
on a USB stick.
-
+ \row
+ \o \c{<enableFullTextSearchFallback>}
+ \o This tag describes the ability to fallback and use the full text
+ search if a keyword can't be found in the index. This functionality
+ can be used while remote controlling \QA. To make it available for
+ remote control set the tag value to \c{true}.
\endtable
In addition to those \QA specific tags, the tags for generating and registering
diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc
index 410ca8c..348931f 100644
--- a/doc/src/development/designer-manual.qdoc
+++ b/doc/src/development/designer-manual.qdoc
@@ -1560,7 +1560,7 @@
\section1 Dock Widgets
Since dock widgets are \l{Using Containers in Qt Designer}
- {container widgets}, they can be added to a form in the usuasl way. Once
+ {container widgets}, they can be added to a form in the usual way. Once
added to a form, dock widgets are not placed in any particular dock area by
default; you need to set the \gui{docked} property to true for each widget
and choose an appropriate value for its \gui{dockWidgetArea} property.
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 44e7103..184a881 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -252,8 +252,7 @@
Normally, variables are used to contain whitespace-separated lists
of values. However, it is sometimes necessary to specify values containing
- spaces. These must be quoted by using the
- \l{qmake Function Reference#quote-string}{quote()} function in the following way:
+ spaces. These must be quoted by using double quotes:
\snippet doc/src/snippets/qmake/quoting.pro 0
@@ -261,9 +260,7 @@
the variable. A similar approach is used to deal with paths that contain
spaces, particularly when defining the
\l{qmake Variable Reference#INCLUDEPATH}{INCLUDEPATH} and
- \l{qmake Variable Reference#LIBS}{LIBS} variables for the Windows platform.
- In cases like these, the \l{qmake Function Reference#quote(string)}{quote()}
- function can be used in the following way:
+ \l{qmake Variable Reference#LIBS}{LIBS} variables for the Windows platform:
\snippet doc/src/snippets/qmake/spaces.pro quoting include paths with spaces
@@ -1123,6 +1120,44 @@
\tableofcontents{3}
+
+ \target BACKUP_REGISTRATION_FILE_MAEMO
+ \section1 BACKUP_REGISTRATION_FILE_MAEMO
+
+ \e {This is only used on the Maemo platform.}
+
+ This variable is used to specify the backup registration file to use with
+ \c enable_backup \c CONFIG value for Maemo platform. The default value is:
+ \c{$$_PRO_FILE_PWD_/backup_registration/maemo/$$basename(TARGET).conf}.
+
+ Unfortunately it is not possible to have a common registration file for Maemo like there is
+ for Symbian, so the developer must always provide one if the platform default backup support is
+ not sufficient.
+
+ For documentation about how to create backup registration files and how the device
+ backup works in general, see:
+ (\l{http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Generic_Platform_Components/Using_Backup_Application}{Using Backup Application})
+
+ \target BACKUP_REGISTRATION_FILE_SYMBIAN
+ \section1 BACKUP_REGISTRATION_FILE_SYMBIAN
+
+ \e {This is only used on the Symbian platform.}
+
+ This variable is used to specify the backup registration file to use with
+ \c enable_backup \c CONFIG value for Symbian platform. The default value is
+ determined as follows:
+
+ If a custom registration file \c{$$_PRO_FILE_PWD_/backup_registration/symbian/backup_registration.xml}
+ exists, it is used. Otherwise, the common registration file \c{$$[QT_INSTALL_DATA]/mkspecs/common/symbian/backup_registration.xml}
+ is used. This common registration file will define backing up of application binaries,
+ resources, and all files under application private directory. Also note that \c{C:/Data}
+ contents are backed up by default on Symbian devices, so no registration is needed for any
+ files found there.
+
+ For documentation about how to create backup registration files and how the device
+ backup works in general, see:
+ (\l{http://library.forum.nokia.com/index.jsp?topic=/S60_5th_Edition_Cpp_Developers_Library/GUID-35228542-8C95-4849-A73F-2B4F082F0C44/sdk/doc_source/guide/Connectivity-subsystem-guide/Connectivity/PC_Connectivity_How-To_Write_Backup_Aware_Software.html}{How-To Write Backup-aware Software})
+
\target BLD_INF_RULES
\section1 BLD_INF_RULES
@@ -1256,11 +1291,12 @@
automatically be added to the project.
\row \o console \o The target is a Win32 console application (app only). The
proper include paths, compiler flags and libraries will
- automatically be added to the
- project.
+ automatically be added to the project.
\row \o shared \o{1,3} The target is a shared object/DLL. The proper
include paths, compiler flags and libraries will automatically be
- added to the project.
+ added to the project. Note that \c dll can also be used on all platforms;
+ a shared library file with the appropriate suffix for the target platform
+ (dll, so, dylib) will be created.
\row \o dll \o
\row \o dylib \o
\row \o static \o{1,2} The target is a static library (lib only). The proper
@@ -1344,6 +1380,17 @@
so some \c{.ts} files may be ignored by qmake.
\endtable
+ These options only have an effect on Symbian and Maemo platforms:
+
+ \table 95%
+ \header \o Option \o Description
+ \row \o enable_backup \o Generates deployment for backup registration file
+ to enable backing up the application during device backup.
+ See \l{#BACKUP_REGISTRATION_FILE_MAEMO}{BACKUP_REGISTRATION_FILE_MAEMO}
+ and \l{#BACKUP_REGISTRATION_FILE_SYMBIAN}{BACKUP_REGISTRATION_FILE_SYMBIAN}
+ for more information about backup.
+ \endtable
+
These options have an effect on Linux/Unix platforms:
\table 95%
@@ -1699,9 +1746,7 @@
To specify a path containing spaces, quote the path using the technique
mentioned in the \l{qmake Project Files#Whitespace}{qmake Project Files}
- document. For example, paths with spaces can be specified on Windows
- and Unix platforms by using the \l{qmake Function Reference#quote-string}{quote()}
- function in the following way:
+ document.
\snippet doc/src/snippets/qmake/spaces.pro quoting include paths with spaces
@@ -1723,6 +1768,9 @@
executable. If you need to install executable files, you can unset the
files' executable flags.
+ Note that \c qmake will skip files that are executable. If you need to install
+ executable files, you can unset the files' executable flags.
+
\target LEXIMPLS
\section1 LEXIMPLS
@@ -1764,9 +1812,7 @@
To specify a path containing spaces, quote the path using the technique
mentioned in the \l{qmake Project Files#Whitespace}{qmake Project Files}
- document. For example, paths with spaces can be specified on Windows
- and Unix platforms by using the \l{qmake Function Reference#quote-string}{quote()}
- function in the following way:
+ document.
\snippet doc/src/snippets/qmake/spaces.pro quoting library paths with spaces
@@ -1817,6 +1863,8 @@
\bold{Note:} On the Symbian platform, this variable is ignored.
+ \bold{Note:} On the Symbian platform, this variable is ignored.
+
\target MAKEFILE_GENERATOR
\section1 MAKEFILE_GENERATOR
@@ -1944,8 +1992,17 @@
\target PWD
\section1 PWD
- This variable contains the full path leading to the directory where
- the \l{qmake Manual#qmake}{\c qmake} project file (project.pro) is located.
+ The \c PWD variable specifies the full path leading to the directory
+ containing the current file being parsed. This can be useful
+ to refer to files within the source tree when writing project files to
+ support shadow builds.
+
+ See also \l{#_PRO_FILE_PWD_}{_PRO_FILE_PWD_}.
+
+ \note IN_PWD is an alias for PWD.
+
+ \note Function calls have no effect on the value of PWD. PWD will refer to
+ the path of the calling file.
\target OUT_PWD
\section1 OUT_PWD
@@ -2788,6 +2845,13 @@
\l{qmake Manual#qmake}{\c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely
needs to be modified.
+ \section1 QMAKE_LN_SHLIB
+
+ This variable contains the command to execute when creating a link
+ to a shared library. The
+ value of this variable is typically handled by \c qmake or
+ \l{#QMAKESPEC}{qmake.conf} and rarely needs to be modified.
+
\section1 QMAKE_POST_LINK
This variable contains the command to execute after linking the TARGET
@@ -2802,12 +2866,14 @@
executed, additionally some backends will not support this - mostly only
Makefile backends.
- \section1 QMAKE_LN_SHLIB
+ \section1 QMAKE_PROJECT_NAME
- This variable contains the command to execute when creating a link to a
- shared library. The value of this variable is typically handled by
- \l{qmake Manual#qmake}{\c qmake} or \l{#QMAKESPEC}{qmake.conf} and rarely
- needs to be modified.
+ \e {This is used for Visual Studio project files only.}
+
+ This variable determines the name of the project when generating project
+ files for IDEs. The default value is the target name. The value of this
+ variable is typically handled by \l {qmake Manual#qmake}{ \c qmake} and
+ rarely needs to be modified.
\section1 QMAKE_MAC_SDK
@@ -3488,6 +3554,19 @@
\tableofcontents{2}
+ \section1 packagesExist(packages)
+
+ Uses the PKGCONFIG mechanism to determine whether or not the given packages
+ exist at the time of project parsing.
+
+ This can be useful to optionally enable or disable features. For example:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 157
+
+ And then, in the code:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.pro 158
+
\section1 basename(variablename)
Returns the basename of the file specified. For example:
@@ -3682,10 +3761,7 @@
\section1 quote(string)
Converts a whole \e string into a single entity and returns the result.
- Newlines, carriage returns, and tabs can be specified in the string
- with \\n \\r and \\t. The return value does not contain either single
- or double quotation marks unless you explicitly include them yourself,
- but will be placed into a single entry (for literal expansion).
+ This is just a fancy way of enclosing the string into double quotes.
\section1 replace(string, old_string, new_string)
diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc
index 80bf838..3b338e3 100644
--- a/doc/src/development/qtestlib.qdoc
+++ b/doc/src/development/qtestlib.qdoc
@@ -181,6 +181,9 @@
outputs the possible command line arguments and give some useful help.
\o \c -functions \BR
outputs all test functions available in the test.
+ \o \c -datatags \BR
+ outputs all data tags available in the test.
+ A global data tag is preceded by ' __global__ '.
\o \c -o \e filename \BR
write output to the specified file, rather than to standard output
\o \c -silent \BR
@@ -751,8 +754,8 @@
Tools for handling and visualizing test data are available as part of
the \l {qtestlib-tools} project in the \l{Qt Labs} web site.
- These include a tool for comparing performance data obtained from test
- runs and a utility to generate Web-based graphs of performance data.
+ These include a tool for comparing performance data obtained from test
+ runs and a utility to generate Web-based graphs of performance data.
See the \l{qtestlib-tools Announcement}{qtestlib-tools announcement}
for more information on these tools and a simple graphing example.
diff --git a/doc/src/diagrams/webkit-webplugin.png b/doc/src/diagrams/webkit-webplugin.png
new file mode 100644
index 0000000..be17fae
--- /dev/null
+++ b/doc/src/diagrams/webkit-webplugin.png
Binary files differ
diff --git a/doc/src/examples/activeqt/dotnet.qdoc b/doc/src/examples/activeqt/dotnet.qdoc
index af62b8d..24b9cd1 100644
--- a/doc/src/examples/activeqt/dotnet.qdoc
+++ b/doc/src/examples/activeqt/dotnet.qdoc
@@ -314,7 +314,7 @@
\l{http://qt.nokia.com/products/qsa/}{QSA}, the cross platform
scripting solution for Qt applications, and to COM clients in general.
- When using the "IJW" method, in priciple the only limitation is the
+ When using the "IJW" method, in principle the only limitation is the
time required to write the wrapper classes and data type conversion
functions.
diff --git a/doc/src/examples/applicationicon.qdoc b/doc/src/examples/applicationicon.qdoc
new file mode 100644
index 0000000..87942e5
--- /dev/null
+++ b/doc/src/examples/applicationicon.qdoc
@@ -0,0 +1,88 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*! \example widgets/applicationicon
+ \group all-examples
+ \title Application Icon Example
+
+ The example shows how to add an application icon to a mobile application.
+
+ \image appicon_screenshot.png The icon on a Nokia XPressMusic 5800
+
+ \section1 Creating an icon for Maemo
+
+ Maemo expects the icon of an application to be a 64x64 PNG image file. The
+ file name of the icon should be the same as the executable with a \c .png
+ extension. You also need a \c .desktop file that gives the window manager
+ hints about the application, such as name, type and icon.
+
+ \quotefile examples/widgets/applicationicon/applicationicon.desktop
+
+ The \c Icon field should also contain the name of the executable. On the
+ device, application icons are stored in the
+ \c /usr/share/icons/hicolor/64x64/apps directory
+ and desktop files in the \c /usr/share/applications/hildon directory.
+
+ \section1 Creating an icon for Symbian
+
+ Symbian uses Scalable Vector Graphics (SVG Tiny 1.1+) to render
+ application icons in the application menu. Therefore icons could be
+ created manually with a text editor, since SVG files are plain text with
+ XML syntax, but usually you would use a vector graphics program that is
+ able to output SVG files. Popular graphics programs such as Adobe
+ Illustrator or Inkscape are able to do so.
+
+ For best results, the icon should be created on a 44x44 pixel canvas.
+ Otherwise the image might be scaled in unexpected ways.
+
+ Once you have created your icon, make sure that it is stored according to
+ the SVG-Tiny 1.1+ standard. Inkscape, for instance, is not able to save
+ images that way, but there are tools that can convert general SVG files
+ into the Tiny format. For instance, the svg2svgt tool that is bundled with
+ Symbian 3rd and 5th editon SDKs under the folder s60tools can do this
+ conversion to some extent. Another tool to convert SVG to SVG Tiny is SVG
+ Pony.
+
+ \section1 Adding the icons to the project
+
+ Edit the .pro file and specify the ICON variable for the symbian target.
+ For Maemo, we need to add that the \c .desktop and icon file should be
+ installed.
+
+ \quotefile examples/widgets/applicationicon/applicationicon.pro
+
+ Currently, Qt Creator doesn't include the icon and desktop files in the
+ application package for Maemo, merely the executable file is included. As a
+ workaround for this, the files can be added manually in the Projects tab.
+ In the "Create Package" build step for the Maemo target, the \c .desktop
+ file and icon can be added to be a part of the package contents.
+ Unfortunately, these additions are only stored as a part of the
+ \c .pro.user file. This issue will be resolved in a future release of
+ Qt Creator.
+
+ \image appicon_packagecontents.png Manual addition of files to the "Create Package" build step
+*/
diff --git a/doc/src/examples/broadcastreceiver.qdoc b/doc/src/examples/broadcastreceiver.qdoc
index e5d4ae0..409b491 100644
--- a/doc/src/examples/broadcastreceiver.qdoc
+++ b/doc/src/examples/broadcastreceiver.qdoc
@@ -29,7 +29,7 @@
\example network/broadcastreceiver
\title Broadcast Receiver Example
- The Broadcast Receiever example shows how to receive information that is broadcasted
+ The Broadcast Receiver example shows how to receive information that is broadcasted
over a local network.
\image broadcastreceiver-example.png
diff --git a/doc/src/examples/codeeditor.qdoc b/doc/src/examples/codeeditor.qdoc
index 2b0b6fa..435f650 100644
--- a/doc/src/examples/codeeditor.qdoc
+++ b/doc/src/examples/codeeditor.qdoc
@@ -190,6 +190,8 @@
used to implement parenthesis matching. In the \c
highlightCurrentLine(), the data of the currentBlock() can be
fetched with QTextBlock::userData(). Matching parentheses can be
- highlighted with an extra selection.
+ highlighted with an extra selection. The "Matching Parentheses
+ with QSyntaxHighlighter" article in Qt Quarterly 31 implements
+ this. You find it here: \l{http://doc.qt.nokia.com/qq/}.
*/
diff --git a/doc/src/examples/combowidgetmapper.qdoc b/doc/src/examples/combowidgetmapper.qdoc
index efd06f6..e852f5e 100644
--- a/doc/src/examples/combowidgetmapper.qdoc
+++ b/doc/src/examples/combowidgetmapper.qdoc
@@ -29,7 +29,7 @@
\example itemviews/combowidgetmapper
\title Combo Widget Mapper Example
- The Delegate Widget Mapper example shows how to use a custom delegate to
+ The Combo Widget Mapper example shows how to use a custom delegate to
map information from a model to specific widgets on a form.
\image combowidgetmapper-example.png
diff --git a/doc/src/examples/cube.qdoc b/doc/src/examples/cube.qdoc
new file mode 100644
index 0000000..e1fd172
--- /dev/null
+++ b/doc/src/examples/cube.qdoc
@@ -0,0 +1,178 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example opengl/cube
+ \group all-examples
+ \title Cube OpenGL ES 2.0 example
+
+ The Cube OpenGL ES 2.0 example shows how to write mouse rotateable
+ textured 3D cube using OpenGL ES 2.0 with Qt. It shows how to handle
+ polygon geometries efficiently and how to write simple vertex and
+ fragment shader for programmable graphics pipeline. In addition it
+ shows how to use quaternions for representing 3D object orientation.
+
+ This example has been written for OpenGL ES 2.0 but it works also on
+ desktop OpenGL because this example is simple enough and for the
+ most parts desktop OpenGL API is same. It compiles also without OpenGL
+ support but then it just shows a label stating that OpenGL support is
+ required.
+
+ \image cube.png Screenshot of the Cube example running on N900
+
+ The example consist of two classes:
+
+ \list
+ \o \c MainWidget extends QGLWidget and contains OpenGL ES 2.0
+ initialization and drawing and mouse and timer event handling
+ \o \c GeometryEngine handles polygon geometries. Transfers polygon geometry
+ to vertex buffer objects and draws geometries from vertex buffer objects.
+ \endlist
+
+ We'll start by initializing OpenGL ES 2.0 in \c MainWidget.
+
+ \tableofcontents
+
+ \section1 Initializing OpenGL ES 2.0
+
+ Since OpenGL ES 2.0 doesn't support fixed graphics pipeline anymore it has to
+ be implemented by ourselves. This makes graphics pipeline very flexible but
+ in the same time it becomes more difficult because user has to implement graphics
+ pipeline to get even the simplest example running. It also makes graphics pipeline
+ more efficient because user can decide what kind of pipeline is needed for the
+ application.
+
+ First we have to implement vertex shader. It gets vertex data and
+ model-view-projection matrix (MVP) as parameters. It transforms vertex position
+ using MVP matrix to screen space and passes texture coordinate to
+ fragment shader. Texture coordinate will be automatically interpolated on polygon
+ faces.
+
+ \snippet examples/opengl/cube/vshader.glsl 0
+
+ After that we need to implement second part of the graphics pipeline - fragment
+ shader. For this exercise we need to implement fragment shader that handles
+ texturing. It gets interpolated texture coordinate as a parameter and looks up
+ fragment color from the given texture.
+
+ \snippet examples/opengl/cube/fshader.glsl 0
+
+ Using \c QGLShaderProgram we can compile, link and bind shader code to
+ graphics pipeline. This code uses Qt Resource files to access shader source code.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 3
+
+ The following code enables depth buffering and back face culling.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 2
+
+ \section1 Loading textures from Qt Resource files
+
+ \c QGLWidget interface implements methods for loading textures from QImage to GL
+ texture memory. We still need to use OpenGL provided functions for specifying
+ the GL texture unit and configuring texture filtering options.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 4
+
+ \section1 Cube Geometry
+
+ There are many ways to render polygons in OpenGL but the most efficient way is
+ to use only triangle strip primitives and render vertices from graphics hardware
+ memory. OpenGL has a mechanism to create buffer objects to this memory area and
+ transfer vertex data to these buffers. In OpenGL terminology these are referred
+ as Vertex Buffer Objects (VBO).
+
+ \image cube_faces.png Cube faces and vertices
+
+ This is how cube faces break down to triangles. Vertices are ordered this way
+ to get vertex ordering correct using triangle strips. OpenGL determines triangle
+ front and back face based on vertex ordering. By default OpenGL uses
+ counter-clockwise order for front faces. This information is used by back face
+ culling which improves rendering performance by not rendering back faces of the
+ triangles. This way graphics pipeline can omit rendering sides of the triangle that
+ aren't facing towards screen.
+
+ Creating vertex buffer objects and transferring data to them is quite simple using
+ OpenGL provided functions.
+
+ \snippet examples/opengl/cube/geometryengine.cpp 0
+
+ \snippet examples/opengl/cube/geometryengine.cpp 1
+
+ Drawing primitives from VBOs and telling programmable graphics pipeline how to
+ locate vertex data requires few steps. First we need to bind VBOs to be used.
+ After that we bind shader program attribute names and configure what
+ kind of data it has in the bound VBO. Finally we'll draw triangle
+ strip primitives using indices from the other VBO.
+
+ \snippet examples/opengl/cube/geometryengine.cpp 2
+
+ \section1 Perspective projection
+
+ Using \c QMatrix4x4 helper methods it's really easy to calculate perpective
+ projection matrix. This matrix is used to project vertices to screen space.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 5
+
+ \section1 Orientation of the 3D object
+
+ Quaternions are handy way to represent orientation of the 3D object. Quaternions
+ involve quite complex mathematics but fortunately all the necessary mathematics
+ behind quaternions is implemented in \c QQuaternion. That allows us to store
+ cube orientation in quaternion and rotating cube around given axis is quite
+ simple.
+
+ The following code calculates rotation axis and angular speed based on mouse events.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 0
+
+ \c QBasicTimer is used to animate scene and update cube orientation. Rotations
+ can be concatenated simply by multiplying quaternions.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 1
+
+ Model-view matrix is calculated using the quaternion and by moving world by Z axis.
+ This matrix is multiplied with the projection matrix to get MVP matrix for shader
+ program.
+
+ \snippet examples/opengl/cube/mainwidget.cpp 6
+
+*/
diff --git a/doc/src/examples/customtype.qdoc b/doc/src/examples/customtype.qdoc
index d98225a..b969354 100644
--- a/doc/src/examples/customtype.qdoc
+++ b/doc/src/examples/customtype.qdoc
@@ -117,7 +117,7 @@
\snippet examples/tools/customtype/main.cpp storing a custom value
- Alternatively, the qVariantFromValue() and qVariantSetValue() functions
+ Alternatively, the QVariant::fromValue() and qVariantSetValue() functions
can be used if you are using a compiler without support for member template
functions.
diff --git a/doc/src/examples/dragdroprobot.qdoc b/doc/src/examples/dragdroprobot.qdoc
index 1e3b434..84d8af4 100644
--- a/doc/src/examples/dragdroprobot.qdoc
+++ b/doc/src/examples/dragdroprobot.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/dragdroprobot
\title Drag and Drop Robot Example
- This GraphicsView example shows how to implement Drag and Drop in a
+ The Drag and Drop Robot example shows how to implement Drag and Drop in a
QGraphicsItem subclass, as well as how to animate items using Qt's
\l{Animation Framework}.
diff --git a/doc/src/examples/elasticnodes.qdoc b/doc/src/examples/elasticnodes.qdoc
index 6a16cee..e5399b1 100644
--- a/doc/src/examples/elasticnodes.qdoc
+++ b/doc/src/examples/elasticnodes.qdoc
@@ -29,7 +29,7 @@
\example graphicsview/elasticnodes
\title Elastic Nodes Example
- This GraphicsView example shows how to implement edges between nodes in a
+ The Elastic Nodes example shows how to implement edges between nodes in a
graph, with basic interaction. You can click to drag a node around, and
zoom in and out using the mouse wheel or the keyboard. Hitting the space
bar will randomize the nodes. The example is also resolution independent;
diff --git a/doc/src/examples/elidedlabel.qdoc b/doc/src/examples/elidedlabel.qdoc
new file mode 100644
index 0000000..5bfe0f8
--- /dev/null
+++ b/doc/src/examples/elidedlabel.qdoc
@@ -0,0 +1,162 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example widgets/elidedlabel
+ \group all-examples
+ \title Elided Label Example
+
+ This example creates a widget similar to QLabel, that elides the last
+ visible line, if the text is too long to fit the widget's geometry.
+
+ \image elidedlabel-example.png Elided Label example on XPressMusic 5800
+
+ When text of varying length has to be displayed in a uniformly sized
+ area, for instance within a list or grid view where all list items have the
+ same size, it can be useful to give the user a visual clue when not all
+ text is visible. QLabel can elide text that doesn't fit within it, but only
+ in one line. The \c ElidedLabel widget shown in this example word wraps its
+ text by its width, and elides the last visible line if some text is left
+ out. \c TestWidget gives control to the features of \c ElidedWidget and
+ forms the example application.
+
+
+ \section1 ElidedLabel Class Definition
+
+ Like QLabel, \c ElidedLabel inherits from QFrame. Here's the definition of
+ the \c ElidedLabel class:
+
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.h 0
+
+ The \c isElided property depends the font, text content and geometry of the
+ widget. Whenever any of these change, the \c elisionChanged() signal might
+ trigger. We cache the current elision value in \c elided, so that it
+ doesn't have to be recomputed every time it's asked for.
+
+
+ \section1 ElidedLabel Class Implementation
+
+ Except for initializing the member variables, the constructor sets the size
+ policy to be horizontally expanding, since it's meant to fill the width of
+ its container and grow vertically.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 0
+
+ Changing the \c content require a repaint of the widget.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 1
+
+ QTextLayout is used in the \c paintEvent() to divide the \c content into
+ lines, that wrap on word boundaries. Each line, except the last visible
+ one, is drawn \c lineSpacing pixels below the previous one. The \c draw()
+ method of QTextLine will draw the line using the coordinate point as the
+ top left corner.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 2
+
+ Unfortunately, QTextLayout does not elide text, so the last visible line
+ has to be treated differently. This last line is elided if it is too wide.
+ The \c drawText() method of QPainter draws the text starting from the base
+ line, which is \c ascecnt() pixels below the last drawn line.
+
+ Finally, one more line is created to see if everything fit on this line.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 3
+
+ If the text was elided and wasn't before or vice versa, cache it in
+ \c elided and emit the change.
+
+ \snippet examples/widgets/elidedlabel/elidedlabel.cpp 4
+
+
+ \section1 TestWidget Class Definition
+
+ \c TestWidget is a QWidget and is the main window of the example. It
+ contains an \c ElidedLabel which can be resized with two QSlider widgets.
+
+ \snippet examples/widgets/elidedlabel/testwidget.h 0
+
+ \section1 TestWidget Class Implementation
+
+ The constructor initializes the whole widget. Strings of different length
+ are stored in \c textSamples. The user is able to switch between these.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 0
+
+ An \c ElidedLabel is created to contain the first of the sample strings.
+ The frame is made visible to make it easier to see the actual size of the
+ widget.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 1
+
+ The buttons and the elision label are created. By connecting the
+ \c elisionChanged() signal to the \c setVisible() slot of the \c label,
+ it will act as an indicator to when the text is elided or not. This signal
+ could, for instance, be used to make a "More" button visible, or similar.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 2
+
+ The \c widthSlider and \c heightSlider specify the size of the
+ \c elidedText. Since the y-axis is inverted, the \c heightSlider has to be
+ inverted to act appropriately.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 3
+
+ The components are all stored in a QGridLayout, which is made the layout of
+ the \c TestWidget.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 4
+
+ On the Maemo platform, windows are stuck in landscape mode by default. With
+ this attribute set, the window manager is aware that this window can be
+ rotated.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 5
+
+ The \c widthSlider and \c heightSlider have the exact same length as the
+ dimensions of the \c elidedText. The maximum value for both of them is
+ thus their lengths, and each tick indicates one pixel.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 6
+
+ The \c switchText() slot simply cycles through all the available sample
+ texts.
+
+ \snippet examples/widgets/elidedlabel/testwidget.cpp 7
+
+ These slots set the width and height of the \c elided text, in response to
+ changes in the sliders.
+
+ \section1 The \c main() Function
+
+ The \c main() function creates an instance of \c TestWidget fullscreen and
+ enters the message loop.
+
+ \snippet examples/widgets/elidedlabel/main.cpp 0
+*/
+
diff --git a/doc/src/examples/fingerpaint.qdoc b/doc/src/examples/fingerpaint.qdoc
index 5aef64c..49078b6 100644
--- a/doc/src/examples/fingerpaint.qdoc
+++ b/doc/src/examples/fingerpaint.qdoc
@@ -29,8 +29,12 @@
\example touch/fingerpaint
\title Finger Paint Example
- The Finger Paint example shows the use of touch with a custom widget
+ The Finger Paint example shows the use of a touchscreen with a custom widget
to create a simple painting application.
\image touch-fingerpaint-example.png
+
+ This example was specifically designed to work with a touchscreen, using
+ QTouchEvent instead of QMouseEvent to handle user input over the custom
+ widget. As a result, it is not possible to draw with the mouse cursor.
*/
diff --git a/doc/src/examples/maemovibration.qdoc b/doc/src/examples/maemovibration.qdoc
new file mode 100644
index 0000000..de53ba4
--- /dev/null
+++ b/doc/src/examples/maemovibration.qdoc
@@ -0,0 +1,164 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example widgets/maemovibration
+ \group all-examples
+ \title Maemo Vibration Example
+
+ The Maemo Vibration example shows how to tell the Maemo Mode Control Entity
+ (MCE) to vibrate a maemo device.
+
+ The MCE is a system service on Maemo that, among other things, provides an
+ D-Bus interface to trigger vibrations. The vibrations are specified as
+ patterns and are defined in a system configuration file.
+
+ The example program reads the configuration file to look for possible
+ vibration patterns and display a button for each. Pressing a button will
+ make the device vibrate accordingly, until the application closes, or
+ another pattern is started.
+
+ \image maemovibration-example.png Screenshot of the Maemo Vibration Example
+
+ The code makes use of two classes:
+
+ \list
+ \o \c MceVibrator connects to the MCE service and can start a certain
+ vibrator pattern. It also is responsible to parse the configuration
+ file.
+
+ \o \c ButtonWidget provides a button for each pattern. Pressing the button
+ activates the pattern in question.
+ \endlist
+
+
+ \section1 MceVibrator Class Definition
+
+ \snippet examples/widgets/maemovibration/mcevibrator.h 0
+
+ The \c MceVibrator class inherits from QObject and provides a specialized
+ and Qt friendly interface to the MCE vibration facilty. The slot \c vibrate()
+ can be called to make the device vibrate according to a specific pattern
+ name. We will connect it to a signal of a \c ButtonWidget object later. The
+ static method \c ParsePatternNames() can be called to find out which patterns
+ are available to us.
+
+ \list
+ \o \c mceInterface is our D-Bus handle to the MCE service. We use it to
+ invoke methods on the MCE request object.
+
+ \o \c lastPatternName contains the pattern that was activated last time. We
+ have to keep track of this, because the last pattern has to be
+ deactivated before activating a new pattern.
+ \endlist
+
+
+ \section1 MceVibrator Class Implementation
+
+ To connect to the service, we initialize the D-Bus interface handle. The
+ system header \c "mce/dbus-names.h" contains definitions of the D-Bus
+ service name and request object path and interface. These are passed to the
+ constructor of the handle, and Qt will automatically establish a connection
+ to it, if it is possible.
+
+ The MCE expects us to first enable the vibrator before we can use it. This
+ is done with the call to the \c MCE_ENABLE_VIBRATOR D-Bus method.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 0
+
+ From now on we can activate vibration patterns. Each time a vibration
+ pattern is activated, the last pattern has to be deactivated first. In the
+ vibrate slot we use the MCE interface to call the activation method.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 1
+
+ The calls to the private method deactivate simply makes sure to deactivate
+ the last pattern used, if there was one.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 2
+
+ Calling either the activate or deactivate MCE D-Bus method with invalid
+ pattern names are ignored.
+
+ Finally, the destructor disables the vibrator. When the destructor of the
+ MCE interface handle is called, the connection is also closed.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 3
+
+ The MCE configuration file contains options for many different things. We
+ are only interested in one line that contains the vibration patterns. It
+ has the following format:
+
+
+ \code
+ VibratorPatterns=semicolon;separated;list;of;values
+ \endcode
+
+ The static method \c ParsePatternNames looks for this line and returns a
+ QStringList containing the values, which are the pattern names we can use.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 4
+
+ The helper function \c checkError() saves us some code duplication. None of the
+ called methods return anything of use to us, so we're only interested in
+ getting error messages for debugging.
+
+ \snippet examples/widgets/maemovibration/mcevibrator.cpp 5
+
+
+ \section1 ButtonWidget Class Definition
+
+ \snippet examples/widgets/maemovibration/buttonwidget.h 0
+
+ The \c ButtonWidget class inherits from QWidget and provides the main user
+ interface for the application. It creates a grid of buttons, one for each
+ string in the stringlist passed to the constructor. Pressing a button emits
+ the \c clicked() signal, where the string is the text of the button that
+ was pressed.
+
+ This class is taken from the QSignalMapper documentation. The only change
+ is the number of columns in the grid from three to two, to make the button
+ labels fit.
+
+
+ \section1 ButtonWidget Class Implementation
+
+ \snippet examples/widgets/maemovibration/buttonwidget.cpp 0
+
+
+ \section1 \c main() Function
+
+ The main function begins with looking up the patterns available to us.
+
+ \snippet examples/widgets/maemovibration/main.cpp 0
+
+ Then we create one instance of both classes, and connects the
+ \c ButtonWidget's clicked signal to the \c MceVibrator's \c vibrate() slot.
+ This works, since the button texts are the same as the pattern names.
+
+ \snippet examples/widgets/maemovibration/main.cpp 1
+*/
diff --git a/doc/src/examples/multicastreceiver.qdoc b/doc/src/examples/multicastreceiver.qdoc
new file mode 100644
index 0000000..1a0f3b5
--- /dev/null
+++ b/doc/src/examples/multicastreceiver.qdoc
@@ -0,0 +1,36 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example network/multicastreceiver
+ \title Multicast Receiver Example
+
+ The Multicast Receiever example shows how to receive information that is
+ sent to a multicast group.
+
+ \image multicastreceiver-example.png
+*/
diff --git a/doc/src/examples/multicastsender.qdoc b/doc/src/examples/multicastsender.qdoc
new file mode 100644
index 0000000..55b3804
--- /dev/null
+++ b/doc/src/examples/multicastsender.qdoc
@@ -0,0 +1,36 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example network/multicastsender
+ \title Multicast Sender Example
+
+ The Multicast Sender example shows how to send information to multiple
+ clients in a multicast group.
+
+ \image multicastsender-example.png
+*/
diff --git a/doc/src/examples/orientation.qdoc b/doc/src/examples/orientation.qdoc
new file mode 100644
index 0000000..f55a650
--- /dev/null
+++ b/doc/src/examples/orientation.qdoc
@@ -0,0 +1,143 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*! \example widgets/orientation
+ \group all-examples
+ \title Orientation Example
+
+ The example shows a simple way to use different UIs depending on the screen
+ orientation of a mobile device.
+
+ \image orientation-landscape.png The UI in landscape mode
+ \image orientation-portrait.png The UI in portrait mode
+
+ The screen on many mobile devices can be viewed in both portrait and
+ landscape orientation. The orientation can be swiched with the help of a
+ hardware or software trigger. Due to the often small physical screen size,
+ user interfaces has to be very simple and compact to stay usable, and
+ applications usually occupy the whole screen. Designing a user interface
+ that works equally well in both landscape and portrait mode is not always
+ possible, however, so making a different layout for each case usually pays
+ off.
+
+ The example application makes use of two different UI widgets created with
+ the Qt Designer, one for portrait and one for landscape orientation. The
+ application has a widget that contains an image and the user is able to
+ select one of three images for it to show. In addition to the two UIs, the
+ application consists of a \c MainWindow class.
+
+ \section1 Landscape UI
+
+ If the screen is in landscape mode, the user probably holds the device with
+ both hands and is ready to give full attention to the application. The
+ landscape UI looks like this:
+
+ \image orientation-landscape-ui.png The landscape UI
+
+ To the left is a QWidget called \c choiceWidget, which will show the
+ current image, and to the right are three QRadioButton instances. The
+ active radio button specifies the image to show.
+
+ \section1 Portrait UI
+
+ When the device is in portrait mode, it usually means that the user holds
+ it with one hand, and can comfortably use the thumb for small amounts of
+ input. The layout is simpler, and is focused on consuming content. The
+ portrait UI looks like this:
+
+ \image orientation-portrait-ui.png The portrait UI
+
+ Similarly, it contains a QWidget, also called \c choiceWidget, that will
+ show the current image. In contrast to the landscape UI, this one doesn't
+ provide any controls to change the image.
+
+ \section1 MainWindow Class Definition
+
+ \c MainWindow inherits from QWidget and acts as the top level widget of the
+ application.
+
+ \snippet examples/widgets/orientation/mainwindow.h 0
+
+ The \c resizeEvent() method is re-implemented, and used to check which
+ UI to show. The \c onRadioButtonClicked() slot is connected to the
+ landscape UI's radio button group and selects the current image.
+
+ \c landscapeWidget and \c portraitWidget will contain the UI layouts. Only
+ one of them is visible at a time.
+
+ \section1 MainWindow Class Implementation
+
+ In the constructor, the widgets that will hold the UIs are created and set
+ up.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 0
+
+ Since the exit buttons on the layouts are different from each other, both
+ of them have to have their \c clicked() signal connected to the \c close()
+ slot of the main widget. The first image is also made current with the call
+ to \c onRadioButtonClicked().
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 1
+
+ On the Maemo platform, windows are stuck in landscape mode by default. The
+ application has to explicitly say that rotation is supported.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 2
+
+ The \c resizeEvent() is called when the main window is first created, and
+ also whenever the window has been resized. If the window is shown in
+ full screen, this is an indication that the orientation of the screen has
+ changed.
+
+ The dimensions of \c landscapeWidget is the transpose of the dimensions of
+ \c portraitWidget. When the orientation is known, both are set to the
+ (possibly transposed) size of the window. Depending on the orientation, one
+ widget is made visible and the other invisible.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 3
+
+ When the user selects one of the radio buttons in the landscape UI, the
+ current image is changed. The image is displayed by specifying the
+ background style of the choice widget. Since both \c portrait and
+ \c landscape have a \c choiceWidget of their own, the change has to be
+ reflected in both instances.
+
+ \snippet examples/widgets/orientation/mainwindow.cpp 4
+
+ Synchronizing both UIs like this might become unfeasible when there are
+ many things that can change. In that case it is better to make use of the
+ \l{Introduction to Model/View Programming}{Model-View-Controller pattern}
+ more extensively and share the content between both portrait and landscape
+ widgets. Then an interface for displaying and manipulating it can be tailor
+ made for both orientations.
+
+ \section1 The \c main() Function
+
+ The main function creates a \c MainWindow instance and shows it full
+ screen.
+ \snippet examples/widgets/orientation/main.cpp 0
+*/
diff --git a/doc/src/examples/portedasteroids.qdoc b/doc/src/examples/portedasteroids.qdoc
index 0458125..06428bf 100644
--- a/doc/src/examples/portedasteroids.qdoc
+++ b/doc/src/examples/portedasteroids.qdoc
@@ -29,8 +29,9 @@
\example graphicsview/portedasteroids
\title Ported Asteroids Example
- This GraphicsView example is a port of the
- Asteroids game, which was based on QCanvas.
+ The Ported Asteroids example is a port of the
+ Asteroids game, which was based on QCanvas, to the Graphics View
+ framework.
\image portedasteroids-example.png
*/
diff --git a/doc/src/examples/portedcanvas.qdoc b/doc/src/examples/portedcanvas.qdoc
index 43b3a38..49824de 100644
--- a/doc/src/examples/portedcanvas.qdoc
+++ b/doc/src/examples/portedcanvas.qdoc
@@ -29,8 +29,8 @@
\example graphicsview/portedcanvas
\title Ported Canvas Example
- This GraphicsView example is a port of the old
- QCanvas example from Qt 3.
+ The Ported Canvas example is a port of the old
+ QCanvas example from Qt 3 to the Graphics View framework.
\sa {Porting to Graphics View}
diff --git a/doc/src/examples/recipes.qdoc b/doc/src/examples/recipes.qdoc
index f2665eb..d4128aa 100644
--- a/doc/src/examples/recipes.qdoc
+++ b/doc/src/examples/recipes.qdoc
@@ -29,7 +29,7 @@
\example xmlpatterns/recipes
\title Recipes Example
- The recipes example shows how to use QtXmlPatterns to query XML data
+ The Recipes example shows how to use QtXmlPatterns to query XML data
loaded from a file.
\tableofcontents
diff --git a/doc/src/examples/rsslisting.qdoc b/doc/src/examples/rsslisting.qdoc
index 8893325..9554842 100644
--- a/doc/src/examples/rsslisting.qdoc
+++ b/doc/src/examples/rsslisting.qdoc
@@ -29,7 +29,7 @@
\example xml/rsslisting
\title RSS-Listing Example
- This example shows how to create a widget that displays news items
+ The RSS-Listing example shows how to create a widget that displays news items
from RDF news sources.
\image rsslistingexample.png
diff --git a/doc/src/examples/schema.qdoc b/doc/src/examples/schema.qdoc
index 99966a6..77ccaf5 100644
--- a/doc/src/examples/schema.qdoc
+++ b/doc/src/examples/schema.qdoc
@@ -29,8 +29,8 @@
\example xmlpatterns/schema
\title XML Schema Validation Example
- This example shows how to use QtXmlPatterns to validate XML with
- a W3C XML Schema.
+ The XML Schema Validation example shows how to use QtXmlPatterns to
+ validate XML with a W3C XML Schema.
\tableofcontents
diff --git a/doc/src/examples/simplewebplugin.qdoc b/doc/src/examples/simplewebplugin.qdoc
new file mode 100644
index 0000000..4c95b58
--- /dev/null
+++ b/doc/src/examples/simplewebplugin.qdoc
@@ -0,0 +1,181 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/simplewebplugin
+ \title Simple Web Plugin Example
+
+ The Simple Web Plugin example shows how to embed a regular Qt widget into a
+ Web page displayed using QWebView.
+
+ \image webkit-simplewebplugin.png A table widget embedded in a Web page.
+
+ In this example, we will show how to include Qt widgets in Web-centric user
+ interfaces.
+
+ \section1 QtWebKit Basics
+
+ QtWebKit provides integration between Qt and WebKit on two different levels.
+ On a low level, Qt provides widgets for Web pages to be rendered onto; on a
+ high level, a set of classes are provided that represent all the key
+ components of a Web browser.
+
+ QWebView is a widget that is used to display Web pages, QWebPage represents
+ the content in a page, and QWebFrame represents an individual frame in a
+ Web page. The code to display a Web page is very simple:
+
+ \snippet webkitsnippets/simple/main.cpp Using QWebView
+
+ The widget provides fundamental Web browsing features, such as Cascading
+ Style Sheet and JavaScript support. Other technologies can be added to
+ provide a more comprehensive experience.
+
+ \section1 Adding a Widget to a Page
+
+ Since Qt is used to render pages, it is easy to add both standard and
+ custom widgets to pages. All we need is some markup to indicate where a
+ widget is expected in a page and a mechanism that lets us know when it
+ needs to be created.
+
+ The markup used involves the \c <object> element, described in the HTML 4
+ specification, which is used to include generic objects in Web pages. When
+ describing an object to represent a widget, there are typically three
+ attributes this element can have: a \c data attribute that indicates where
+ any relevant data can be obtained; \c width and \c height attributes can
+ be used to set the size of the widget on the page.
+
+ Here's how we might describe such an object:
+
+ \snippet examples/webkit/simplewebplugin/pages/index.html embedded object
+
+ The mechanism used by QtWebKit to insert widgets into pages is a plugin
+ factory that is registered with a given WebPage instance. Factories are
+ subclasses of QWebPluginFactory and can be equipped to supply more than one
+ type of widget.
+
+ \section1 Creating a Widget to Embed
+
+ To demonstrate how the factory is used, we create a simple widget that can
+ be used to display Comma-Separated Values (CSV) files. The widget class,
+ \c CSVView, is just a subclass of QTableView with extra functions to set
+ up an internal data model. Instances of the factory class, \c CSVFactory,
+ are responsible for creating \c CSVView widgets and requesting data on
+ their behalf.
+
+ The \c CSVFactory class is defined in the following way:
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.h plugin factory
+
+ The public functions give a good overview of how QtWebKit will use the
+ factory to create widgets. We begin by looking at the factory's constructor:
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp constructor
+
+ The factory contains a network access manager which we will use to obtain
+ data for each of the plugin widgets created.
+
+ The \c plugins() function is used to report information
+ about the kinds of widget plugins it can create; our implementation reports
+ the MIME type it expects and provides a description of the plugin:
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp plugins
+
+ The \c create() function is where most of the action happens. It is
+ called with a MIME type that describes the kind of data to be displayed,
+ a URL that refers to the data, and information about any additional
+ arguments that were specified in the Web page. We begin by checking the
+ basic MIME type information passed in the \c mimeType parameter, and only
+ continue if we recognize it.
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp begin create
+
+ We construct a view widget
+ using the fully-specified MIME type, which is guaranteed to be in the list of
+ arguments if a MIME type has been supplied.
+
+ \snippet examples/webkit/simplewebplugin/csvfactory.cpp submit request
+
+ Lastly, we use the network access manager to request the data specified by
+ the \c url parameter, connecting its \c finished() signal to the view's
+ \c updateModel() slot so that it can collect the data. The reply object is
+ intentionally created on the heap; the \c finished() signal is connected to
+ its \c deleteLater() slot, ensuring that Qt will dispose of it when it is no
+ longer needed.
+
+ The \c CSVView class provides only minor extensions to the functionality of
+ QTableView, with a public slot to handle incoming data and a private
+ variable to record exact MIME type information:
+
+ \snippet examples/webkit/simplewebplugin/csvview.h definition
+
+ The constructor is simply used to record the MIME type of the data:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp constructor
+
+ To save space, we will only look at parts of the \c updateModel() function,
+ which begins by obtaining the QNetworkReply object that caused the slot
+ to be invoked before checking for errors:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp update model begin
+
+ Assuming that the data is correct, we need to determine whether the
+ CSV file includes a table header, and to find out which character encoding was
+ used to store the data. Both these pieces of information may be included in
+ the complete MIME type information, so we parse this before continuing---this
+ is shown in the online example code.
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp read data begin
+
+ Since QNetworkReply is a QIODevice subclass, the reply can be read
+ using a suitably configured text stream, and the data fed into a standard
+ model. The mechanics of this can be found in the
+ \l{webkit/simplewebplugin/csvview.cpp}{code listing}. Here, we skip to the
+ end of the function where we close the reply object and set the model on
+ the view:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp update model
+
+ Once the reply has been read, and the model populated with data, very little
+ needs to be done by the plugin. Ownership of the view widget is handled
+ elsewhere, and we have ensured that the model will be destroyed when it is
+ no longer needed by making it a child object of the view.
+
+ Let's look quickly at the \c MainWindow implementation:
+
+ \snippet examples/webkit/simplewebplugin/mainwindow.cpp constructor
+
+ Apart from creating and setting a factory on the QWebPage object, the
+ most important task is to enable Web plugins. If this global setting is not
+ enabled, plugins will not be used and our \c <object> elements will simply
+ be ignored.
+
+ \section1 Further Reading
+
+ The \l{Web Plugin Example} extends this example by adding a signal-slot
+ connection between the embedded widget and a JavaScript function in the
+ page.
+*/
diff --git a/doc/src/examples/symbianvibration.qdoc b/doc/src/examples/symbianvibration.qdoc
new file mode 100644
index 0000000..76f79e5
--- /dev/null
+++ b/doc/src/examples/symbianvibration.qdoc
@@ -0,0 +1,192 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*! \example widgets/symbianvibration
+ \group all-examples
+ \title Symbian Vibration Example
+
+ The Symbian Vibrator example shows how to get fine-grained vibration
+ control on Symbian devices.
+
+ Native Symbian APIs have to be used to enable vibration, since QtMobility
+ doesn't provide an interface for it yet. It is, however, planned to be
+ included in a future release. In anticipation for that, we make use of the
+ \c XQVibra class that was a part of the Mobile Extensions Technology Preview
+ API for Qt for Symbian. The pre-compiled libraries are no longer compatible
+ with Qt 4.6, but we can include the source code itself with the project.
+
+ \image symbianvibration-example.png Screenshot of the Symbian Vibration example
+
+ The example application divides the window into rectangles, which can be
+ pressed to make the device vibrate. Pressing different rectangles make the
+ device vibrate with different intensities. Each rectangle has a different
+ color and its intensity number is drawn on top of it. Moving the cursor
+ from one rectangle to another changes the vibration intensity to that of
+ the new one. Vibration stops when the mouse button has been released. It
+ is also possible to launch a short burst of vibration through the menu.
+
+ The example consists of four classes:
+
+ \list
+ \o \c XQVibra is the vibration interface class taken from the Mobile
+ Extensions for Qt for Symbian.
+
+ \o \c XQVibraPrivate is the Symbian specific private implementation of the
+ vibration implementation.
+
+ \o \c VibrationSurface is a custom widget that uses a XQVibra instance to
+ vibrate the device depending on where the user presses.
+
+ \o \c MainWindow inherits from QMainWindow and contains a \c VibrationSurface
+ as its central widget, and also has a menu from which it is possible to
+ make the phone vibrate.
+ \endlist
+
+ \section1 XQVibra Class Definition
+
+ The \c XQVibra class uses the pimpl-idiom to hide the platform specific
+ implementation behind a common interface. Technically it would be possible
+ to support more target platforms, with only the addition of a private
+ implementation. The rest of the code would work the same, since only the
+ common interface is used.
+
+ \snippet examples/widgets/symbianvibration/xqvibra.h 0
+
+ \c XQVibra provides a very simple interface for us to use. The interesting
+ part are the three slots \c start(), \c stop() and \c setIntensity(). Calling the start
+ method initiates vibration for the specified duration. Calling it while the
+ device is already vibrating causes it to stop the current one and start the
+ new one, even if the intensities are the same. The \c setIntensity() method
+ should be called before starting vibration.
+
+
+ \section1 VibrationSurface Class Definition
+
+ \c VibrationSurface inherits from QWidget and acts like a controller for a
+ \c XQVibra object. It responds to mouse events and performs custom painting.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.h 0
+
+ The virtual event methods are reimplemented from QWidget. As can be seen,
+ there is no public programmable interface beyond what QWidget provides.
+
+
+ \section1 VibrationSurface Class Implementation
+
+ Mouse events control the intensity of the vibration.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 0
+ \codeline
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 1
+ \codeline
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 2
+
+ Presses starts the vibration, movement changes the intensity and releases
+ stops the vibration. To set the right amount of vibration, the private
+ method \c applyIntensity() is used. It sets the vibration intensity according to
+ which rectangle the mouse currently resides in.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 3
+
+ We make sure only to change the intensity if it is different than last
+ time, so that the vibrator isn't stopped and restarted unnecessarily.
+
+ The range of vibration intensity ranges from 0 to XQVibra::MaxIntensity. We
+ divide this range into a set of levels. The number of levels and the intensity
+ increase for each level are stored in two constants.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 4
+
+ Each rectangle has an intensity of one \c IntensityPerLevel more than the
+ previous one.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 5
+
+ The rectangles are either put in a row, if the widget's width is greater
+ than its height (landscape), otherwise they are put in a column (portrait).
+ Each rectangle's size is thus dependent on the length of the width or the
+ height of the widget, whichever is longer. The length is then divided by
+ the number of levels, which gets us either the height or the width of each
+ rectangle. The dx and dy specify the distance from one rectangle to the
+ next, which is the same as either the width or height of the rectangle.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 6
+
+ For each level of intensity, we draw a rectangle with increasing
+ brightness. On top of the rectangle a text label is drawn, specifying the
+ intesity of this level. We use the rectangle rect as a template for
+ drawing, and move it down or right at each iteration.
+
+ The intensity is calculated by dividing the greater of the width and height
+ into \c NumberOfLevels slices.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 7
+
+ In case the widget's geometry is too small to fit all the levels, the user
+ interface will not work. For simplicity, we just return 0.
+
+ When we know the axis along which the rectangles lie, we can find the one
+ in which the mouse cursor lie.
+
+ \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 8
+
+ The final clamp of the intensity value at the end is necessary in case the
+ mouse coordinate lies outside the widget's geometry.
+
+
+ \section1 MainWindow Class Definition
+
+ Here's the definition of the \c MainWindow class:
+
+ \snippet examples/widgets/symbianvibration/mainwindow.h 0
+
+ \c MainWindow is a top level window that uses a \c XQVibra and a
+ \c VibrationSurface. It also adds a menu option to the menu bar which can
+ start a short vibration.
+
+ \section1 MainWindow Class Implementation
+
+ In the \c MainWindow constructor the \c XQVibra and the \c VibrationSurface
+ are created. An action is added to the menu and is connected to the vibrate
+ slot.
+
+ \snippet examples/widgets/symbianvibration/mainwindow.cpp 0
+
+ The \c vibrate() slot offers a way to invoke the vibration in case no
+ mouse is present on the device.
+
+ \snippet examples/widgets/symbianvibration/mainwindow.cpp 1
+
+ \section1 Symbian Vibration Library
+
+ The \c XQVibra class requires a platform library to be included. It is
+ included in the \c .pro file for the symbian target.
+
+ \quotefromfile examples/widgets/symbianvibration/symbianvibration.pro
+ \skipto /^symbian \{/
+ \printuntil /^\}/
+*/
diff --git a/doc/src/examples/syntaxhighlighter.qdoc b/doc/src/examples/syntaxhighlighter.qdoc
index 703bd62..919d61c 100644
--- a/doc/src/examples/syntaxhighlighter.qdoc
+++ b/doc/src/examples/syntaxhighlighter.qdoc
@@ -239,4 +239,14 @@
function. The QSyntaxHighlighter class also provides the \l
{QSyntaxHighlighter::document()}{document()} function which
returns the currently set document.
+
+ \section1 Other Code Editor Features
+
+ It is possible to implement parenthesis matching with
+ QSyntaxHighlighter. The "Matching Parentheses with
+ QSyntaxHighlighter" article in Qt Quarterly 31
+ (\l{http://doc.qt.nokia.com/qq/}) implements this. We also have
+ the \l{Code Editor Example}, which shows how to implement line
+ numbers and how to highlight the current line.
+
*/
diff --git a/doc/src/examples/webftpclient.qdoc b/doc/src/examples/webftpclient.qdoc
new file mode 100644
index 0000000..c3d456d
--- /dev/null
+++ b/doc/src/examples/webftpclient.qdoc
@@ -0,0 +1,336 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/webftpclient
+ \title Web FTP Client Example
+
+ The Web FTP Client example shows how to add support for a new protocol
+ to QtWebKit-based applications.
+
+ \image webkit-webftpclient.png An FTP client displaying the contents of the ftp.qt.nokia.com site.
+
+ \section1 Introduction
+
+ The QtWebKit module presents many ways to integrate the worlds of native
+ desktop and mobile applications and the Web, making it possible for
+ developers to extend and combine features found in Qt and WebKit to create
+ new ones. In this article, we examine the use of Qt's network access API
+ with WebKit and show how to turn QWebView into a simple FTP client.
+
+ In the \l{Web Plugin Example}, we extended Qt's WebKit integration by
+ showing how to add custom widgets to Web pages. In the article, we used
+ QNetworkRequest to ask for content for display in a widget, and we obtained
+ the data returned by the server by reading from the corresponding
+ QNetworkReply.
+
+ Qt's network access API is a technology that aims to replace much, but not
+ all, of the functionality provided by the QHttp and QFtp classes.
+ Although the network access API is a Qt-specific technology, the QtWebKit
+ module integrates this Qt technology with WebKit to enable customization of
+ the browser engine by Qt application developers. It also means that we can
+ control how the browser engine obtains and renders content.
+
+ Since QNetworkRequest and QNetworkReply are designed to provide a reusable
+ abstraction for network operations, it seems obvious to use these classes
+ to add FTP support to browsers written using QtWebKit. To do this, we first
+ need to examine the network access classes before we see how the QtWebKit
+ module uses them to manage network operations.
+
+ \section1 Network Access
+
+ The central class in Qt's network access API is QNetworkAccessManager.
+ This class performs the work of dispatching requests to remote servers and
+ handling incoming replies. Applications typically construct an instance of
+ this class and use it for all high level network communication.
+
+ Applications create QNetworkRequest objects, each of them specifying a URL
+ where the request is to be sent and containing meta-data that will be
+ understood by the server. Each request is dispatched by passing it to a
+ function in the network manager \mdash there are different functions
+ corresponding to different kinds of operations, such as
+ \l{QNetworkAccessManager::}{get()}, \l{QNetworkAccessManager::}{put()} and
+ \l{QNetworkAccessManager::}{post()}. Each of these functions returns a
+ QNetworkReply object which is used to obtain the content sent in the reply,
+ as well as any meta-data that describes it.
+
+ The QtWebKit module provides the QWebPage class which represents the
+ content displayed in a QWebView widget. Behind the scenes, this class uses
+ a default network access manager to handle network communication. This
+ default manager works perfectly well for fetching content over HTTP from
+ \tt{http://} URLs, but only supports fetching of files over FTP when using
+ \tt{ftp://} URLs.
+
+ Fortunately, QWebPage provides the \l{QWebPage::}{setNetworkAccessManager()}
+ function that allows the default manager to be replaced with one with more
+ features. This lets us add improved support for FTP quite easily if we can
+ write a new manager that supports \tt{ftp://} URLs.
+
+ The process of replacing the manager and using a new one with an existing
+ QWebPage object can be broken up into three steps:
+
+ \list 1
+ \o Creating a new QNetworkAccessManager subclass.
+ \o Creating a new QNetworkReply subclass to deal with the FTP protocol.
+ \o Setting the new manager on the QWebPage.
+ \endlist
+
+ Additionally, to provide a reasonable user experience, we should also handle
+ content that the browser engine cannot display. To do this, we create a
+ custom \c{Downloader} object. We will briefly return to this topic later.
+
+ \section1 Creating a New Network Manager
+
+ Replacing an existing network manager for a QWebPage is conceptually simple:
+ we subclass QNetworkAccessManager and reimplement its
+ \l{QNetworkAccessManager::}{createRequest()} function to check for URLs
+ with the \tt{ftp} scheme. However, we want to ensure that the manager uses
+ any existing cache and proxy settings that may have been set up for the
+ existing manager used by the QWebPage.
+
+ To keep the existing proxy and cache, we give our network manager a
+ constructor that accepts the old manager as an argument. In the constructor,
+ we reuse the settings from the old manager.
+
+ \snippet examples/webkit/webftpclient/networkaccessmanager.cpp constructor
+
+ The \c{createRequest()} function is used to create and dispatch requests to
+ remote servers for each of the different kinds of operation that the API
+ presents to the developer. Since we are only interested in performing simple
+ fetches of resources using the \tt{ftp} scheme, we filter out other schemes
+ and other kinds of operation, delegating the task of handling these to the
+ default implementation.
+
+ \snippet examples/webkit/webftpclient/networkaccessmanager.cpp create request
+
+ Here, we construct and return an instance of the \c FtpReply class. This
+ class performs most of the work of handling the FTP protocol.
+
+ \section1 Creating a Custom Reply
+
+ The network access API is designed to be simple to use: we set up a request,
+ dispatch it using the network manager, and obtain a QNetworkReply object.
+ If we are not interested in the reply's meta-data, we can simply read the
+ data using its \l{QNetworkReply::}{readAll()} function because QNetworkReply
+ is a QIODevice subclass.
+
+ In order to keep the API so simple, however, we need to perform some work
+ behind the scenes. In this case, that means that we must perform a series of
+ communications with the FTP server. Fortunately, we can use the existing
+ implementation provided by QFtp to perform the low level work.
+
+ In the \c FtpReply class, we need to reimplement four functions in the
+ API to ensure that it will work correctly. These functions,
+ \l{QNetworkReply::}{abort()}, \l{QIODevice::}{bytesAvailable()},
+ \l{QIODevice::}{isSequential()}, \l{QIODevice::}{readData()},
+ rely on the rest of the implementation to fill a QByteArray with data and
+ use an integer offset to track how much has been read from the device by
+ the browser.
+
+ \snippet examples/webkit/webftpclient/ftpreply.h class definition
+
+ The \c{processCommand()}, \c{processListInfo} and \c{processData()} slots
+ handle interaction with the FTP server. The private \c{setContent()} and
+ \c{setListContent()} functions are used to add meta-data to the reply and
+ compose HTML for the browser to display.
+
+ Two of the private variables hold information about the data obtained from
+ the FTP server: \c items is updated to contain information about each
+ file found at a given URL, and \c content contains the raw data obtained
+ from the server. The \c offset variable is used to track how much data has
+ been read by the browser from the reply.
+
+ In the constructor, we construct a QFtp object and connect the signals and
+ slots that form the basis of the interaction with the FTP server. The high
+ level communication is reported by the \l{QFtp::}{commandFinished()}
+ signal. New data from the server is reported by the
+ \l{QFtp::}readyRead()} signal.
+ Individual items in an FTP directory listing are reported by the
+ \l{QFtp::}{listInfo()} signal.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp constructor
+
+ We also initialize the \c offset into the data that represents the number
+ of bytes that the browser has read from the reply. Additionally, we define
+ a list of units for use with the \c setListContent() function.
+ The last two tasks performed in the constructor are to set the URL of the
+ reply so that the browser can tell where it came from, and to connect to
+ the FTP server.
+
+ \section2 Fetching Data from the Server
+
+ All communication with the server is handled by the \c processCommand()
+ slot, which acts on responses from the server and tells us when a command
+ we have issued has completed.
+ This slot performs the task of logging in to the server when connection has
+ occurred (the \l{QFtp::}{ConnectToHost} command has completed), asking for
+ a list of files when logged in (\l{QFtp::}{Login} has completed),
+ preparing a page with a listing when all file information has been received
+ (\l{QFtp::}{List} has completed), and setting the current content for the
+ reply when data has been fetched from the server
+ (\l{QFtp::}{Get} has completed).
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp process command
+
+ The result of the \l{QFtp::}{List} command is handled by looking at the
+ number of items obtained from the server.
+ The items themselves are recorded by the \c processListInfo() slot. When a
+ \l{QFtp::}{List} command is complete, we can count the number of items
+ received and determine whether or not we should create a file listing, or
+ try to fetch the file instead by invoking a \l{QFtp::}{Get} command.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp process list info
+
+ Since the reply will only be used once, we can simply append items to a list
+ and never bother to clear it.
+
+ The \c processData() slot simply appends data obtained from the FTP server
+ to the QByteArray containing the content to be supplied to the browser.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp process data
+
+ Data is appended to the \c content array until the connection to the FTP
+ server is closed, either by the reply or by the server itself. One of the
+ ways in which this happens is when a \l{QFtp::}{Get} command completes. At
+ this point, the \c setContent() function is called from within the
+ \c processCommand() function.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp set content
+
+ Here, we prepare the reply for use by the browser by opening it for
+ unbuffered reading and setting the header that reports the amount of data
+ held by the reply. We emit signals that indicate that the network operation
+ has finished and that it has data to be read. Since we are no longer
+ interested in the FTP server, we close the connection to it.
+
+ \section2 Preparing Content for the Reader
+
+ Another way in which the reply closes the connection to the server is when
+ the \c setListContent() function is called from the \c processCommand()
+ function. Most of the implementation of this function involves transforming
+ the information about the items held in the reply's private \c items
+ variable to HTML.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp set list content
+
+ Once the HTML description of the files has been composed in a QString, we
+ convert it to a UTF-8 encoded set of bytes which we store in the reply's
+ private \c content variable. In this case, the QByteArray holds HTML
+ instead of file data. We set the reply's headers to indicate that it
+ contains UTF-8 encoded HTML with a certain length, and we emit the
+ \l{QNetworkReply::}{readyRead()} and \l{QNetworkReply::}{finished()}
+ signals to let the browser know that it can start reading the content.
+
+ \section2 Supplying Data to the Browser
+
+ We reimplement four QIODevice functions to provide basic read-only behavior,
+ simply supplying the data held in the \c content array.
+
+ We do not support aborting of the reply, so our \c abort() implementation
+ is empty.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp abort
+
+ Similarly, we do not support random access reading, so \c isSequential()
+ is reimplemented to always return true.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp is sequential
+
+ The \c bytesAvailable() function returns the total number of bytes held by
+ the reply minus the value of \c offset, which is the number of bytes we
+ have already supplied to the reader.
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp bytes available
+
+ \snippet examples/webkit/webftpclient/ftpreply.cpp read data
+
+ The \c readData() reimplementation tries to return as much data to the
+ reader as it will allow, copying bytes directly to the appropriate location
+ in memory. The \c offset variable is updated to keep track of how many
+ bytes have been read.
+
+ \section1 Enabling the Protocol
+
+ Now that we have an FTP-enabled network manager and a reply that can handle
+ communication with FTP servers, we can now enable the manager for a given
+ QWebPage.
+ We derive the \c FtpView class from QWebView and configure its behavior in
+ its constructor.
+
+ As we mentioned earlier, we pass the original network manager to the
+ newly-created manager and pass the new manager to the QWebPage belonging to
+ the browser. This enables our network manager for the content it displays.
+
+ \snippet examples/webkit/webftpclient/ftpview.cpp constructor
+
+ We also go to some effort to handle content that WebKit does not natively
+ support, using a \c Downloader helper class to manage this and files that
+ the user downloads via the browser's \gui{Save Link...} context menu entry.
+
+ In the example's \c main() function, we perform the usual steps to
+ initialize our Qt application. We choose an appropriate starting URL for
+ the \c FtpView widget to open before running the application's event loop.
+
+ \snippet examples/webkit/webftpclient/main.cpp main
+
+ \section1 Summary
+
+ As we have seen, enabling support for another protocol and URL scheme in
+ QtWebKit is a fairly simple process involving the creation of a network
+ manager and custom reply object. The implementation challenges
+ are mostly related to how the protocol is handled by the custom
+ QNetworkReply subclass where, in our case, we need to issue the appropriate
+ commands in the correct order to obtain data from the FTP server.
+
+ We also need to ensure that that the reply emits the appropriate signals to
+ inform the browser that it has content to be read. Our implementation is
+ intentionally simple, only notifying the browser with the
+ \l{QIODevice::}{readyRead()} signal when \e all the content is ready to
+ read and emitting the \l{QNetworkReply::}{finished()} signal to indicate
+ that communication is complete; a more sophisticated approach would
+ interleave the commands sent to the server with the emission of signals,
+ allowing the browser to read content as data is obtained from the FTP
+ server.
+
+ The reply also needs to be open for reading. Forgetting to call the
+ \l{QIODevice::}{open()} function is a common error to make when dealing
+ with devices, but in this case it is the reply's responsibility to open
+ itself.
+ It must indicate how much content it has for the browser to read. As we
+ have seen, this is done by setting the reply's
+ \l{QNetworkRequest::}{ContentLengthHeader} header with the appropriate
+ value. With this information available, the browser can read from the reply
+ when the content becomes available, displaying a directory listing or
+ downloading content depending on the type of data supplied.
+
+ We can use the approach described in this article to enable support for
+ other protocols by writing or extending a network manager to handle URL
+ schemes such as \tt mailto, \tt sip, \tt news, \tt file and \tt ldap.
+ Applications that integrate Web content with information from other sources
+ can also provide custom URL schemes as long as care is taken not to use an
+ existing public scheme.
+*/
diff --git a/doc/src/examples/webplugin.qdoc b/doc/src/examples/webplugin.qdoc
new file mode 100644
index 0000000..dcf4fb5
--- /dev/null
+++ b/doc/src/examples/webplugin.qdoc
@@ -0,0 +1,157 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/webplugin
+ \title Web Plugin Example
+
+ The Web Plugin example shows how to communicate between a Qt widget
+ embedded in a Web page and the page itself.
+
+ \image webkit-webplugin.png A table widget embedded in a Web page.
+
+ In this example, we will take the widget described in the
+ \l{Simple Web Plugin Example} and show how to set up communications between
+ the widget and the Web environment.
+
+ \section1 Setting up Communications
+
+ There are two ways of interacting with the content in a Web page. The first
+ way involves the use of QWebElement to read and modify the page
+ content and structure; this is useful for certain types of application, as
+ demonstrated by the \l{DOM Traversal Example} and the
+ \l{Simple Selector Example}.
+
+ The second way is to add Qt objects to the page, connecting their signals
+ to JavaScript functions, and executing the object's slots directly from
+ JavaScript in the page. We explore this approach in this example.
+
+ To perform this communication, we require an updated \c CSVView widget from
+ the \l{Simple Web Plugin Example} that can emit a signal whenever a row is
+ selected, a JavaScript function to modify elements on the page, and some
+ glue code to make the connection.
+
+ On the page, the plugin is declared like this:
+
+ \snippet examples/webkit/webplugin/pages/index.html embedded object
+
+ As in the previous example, the \c <object> definition includes information
+ about the data to be displayed, its location, and the dimensions of the
+ plugin in the page.
+
+ Later in the document, we include a table that we will update with data
+ from the \c CSVView widget:
+
+ \snippet examples/webkit/webplugin/pages/index.html table
+
+ The \c CSVView widget is similar to the previous version. However, we
+ wish to obtain and export individual rows of data, so we define the
+ \c rowSelected() signal and \c exportRow() slot to perform this task.
+
+ \snippet examples/webkit/webplugin/csvview.h definition
+
+ Since we wish to obtain one row of data at a time, the constructor includes
+ code to restrict how the user can interact with the view:
+
+ \snippet examples/webkit/simplewebplugin/csvview.cpp constructor
+
+ The \c exportRow() slot provides a convenient mechanism for obtaining and
+ emitting the values found on the current row of the table:
+
+ \snippet examples/webkit/webplugin/csvview.cpp export row
+
+ This slot is connected to a signal belonging to the view's selection model:
+ \l{QItemSelectionModel::}{currentChanged()}. This can be seen by examining
+ the \c updateModel() function in the source code.
+
+ \c exportRow() emits the \c rowSelected() signal, passing strings containing
+ the name, address and quantity in the current table row. To see how this
+ data is passed to the Web page, we need to look at the \c CSVFactory class.
+
+ \section1 Connecting Components Together
+
+ In the \c CSVFactory class, we reimplement the \l{QWebPluginFactory::}{create()}
+ function to create instances of the \c CSVView class, as in the previous
+ example.
+
+ \snippet examples/webkit/webplugin/csvfactory.cpp begin create
+
+ We also expose the view widget to the frame in the page that
+ contains the elements, and set up a connection between the view and a
+ JavaScript function defined in the page header:
+
+ \snippet examples/webkit/webplugin/csvfactory.cpp create connection
+
+ The view is added to the Web page as \c view, and the connection code we
+ evaluate performs a signal-slot connection from the view's \c rowSelected()
+ signal to a pure JavaScript function:
+
+ \js
+ view.rowSelected.connect(fillInTable);
+ \endjs
+
+ \c fillInTable is the name of the JavaScript function to modify the
+ form's input elements. This function expects three arguments: the name,
+ address and quantity values for a row of data.
+
+ Whenever the current row changes in the \c view object, the \c exportRow()
+ slot is called, the data found in the selected row is extracted from the
+ model and emitted in the \c rowSelected() signal as three strings, and
+ the above connection ensures that \c fillInTable() will be called with the
+ current items of data. The appropriate type conversions occur behind the
+ scenes to ensure that each QString is converted to a JavaScript string
+ object.
+
+ The rest of the function is the same as in the previous example:
+
+ \snippet examples/webkit/webplugin/csvfactory.cpp submit request
+
+ We now give the JavaScript \c fillInForm() function to show what it does
+ with the strings it is given. The function itself is defined in the HTML
+ page header:
+
+ \snippet examples/webkit/webplugin/pages/index.html script
+
+ We obtain the elements in the page that we wish to update by using the HTML
+ Document Object Model (DOM) API. The values of these elements are updated
+ with the \c name, \c address and \c quantity strings supplied.
+
+ \section1 Linking Things Together
+
+ Although we have used the widgets to demonstrate the use of signals and
+ slots for communication between Qt components and JavaScript in the browser,
+ we do not need to embed widgets in Web pages to be able to do this. By
+ inserting objects into pages and evaluating JavaScript, Qt applications can
+ be made to examine and process information found online.
+
+ One additional improvement that can be made to this example is to create
+ a relation between the embedded widget and the table to be updated. We
+ could do this by including \c <param> elements within the \c <object>
+ element that refers to the table cells by their \c id attributes. This
+ would help us to avoid hard-coding the \c customers_name,
+ \c customers_address and \c customers_quantity identifiers in the script.
+*/
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 50e5a21..f528bf2 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -480,6 +480,21 @@
*/
/*!
+ \externalpage http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/_accessible_event_i_d_8idl.html
+ \title AccessibleEventID.idl File Reference
+*/
+
+/*!
+ \externalpage http://msdn.microsoft.com/en-us/library/dd318066.aspx
+ \title Microsoft Active Accessibility Event Constants
+*/
+
+/*!
+ \externalpage http://www.rfc-editor.org/rfc/bcp/bcp47.txt
+ \title RFC 5646 - BCP47
+*/
+
+/*!
\externalpage http://www.developer.nokia.com/Community/Wiki/Graphics_memory_handling
\title Graphics Out Of Memory monitor
*/
diff --git a/doc/src/frameworks-technologies/model-view-programming.qdoc b/doc/src/frameworks-technologies/model-view-programming.qdoc
index eb86476..1965df5 100644
--- a/doc/src/frameworks-technologies/model-view-programming.qdoc
+++ b/doc/src/frameworks-technologies/model-view-programming.qdoc
@@ -1934,6 +1934,13 @@
\l{QSortFilterProxyModel::lessThan()}{lessThan()} function to perform custom
comparisons.
+ \section3 Custom data models
+
+ QIdentityProxyModel instances do not sort or filter the structure of the source model,
+ but provide a base class for creating a data proxy. This could be useful on top of a
+ QFileSystemModel for example to provide different colours for the BackgroundRole for
+ different types of files.
+
\section1 Model subclassing reference
Model subclasses need to provide implementations of many of the virtual functions
diff --git a/doc/src/frameworks-technologies/richtext.qdoc b/doc/src/frameworks-technologies/richtext.qdoc
index 59d7104..236c20c 100644
--- a/doc/src/frameworks-technologies/richtext.qdoc
+++ b/doc/src/frameworks-technologies/richtext.qdoc
@@ -880,6 +880,10 @@
\row \o \c a
\o Anchor or link
\o Supports the \c href and \c name attributes.
+ Note that the \c{:visited} selector is one of those
+ that is not supported by the rich text engine.
+ See \l{#Supported CSS Selectors}{below} for a list
+ of others.
\row \o \c address
\o Address
\o
@@ -1017,6 +1021,11 @@
\row \o \c strong
\o Strong
\o Same as \c b.
+ \row \o \c style
+ \o Style sheet
+ \o Allows styling information to be included with the rich text.
+ A \l{#CSS Properties}{limited subset of CSS syntax} can be
+ used to change the appearance of the text.
\row \o \c sub
\o Subscript
\o
@@ -1210,5 +1219,4 @@
All CSS 2.1 selector classes are supported except pseudo-class selectors such
as \c{:first-child}, \c{:visited} and \c{:hover}.
-
*/
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 699900c..d597890 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -481,6 +481,8 @@
\o \l{network/bearercloud}{Bearer Cloud}\raisedaster
\o \l{network/bearermonitor}{Bearer Monitor}
\o \l{network/securesocketclient}{Secure Socket Client}
+ \o \l{network/multicastreceiver}{Multicast Receiver}
+ \o \l{network/multicastsender}{Multicast Sender}
\endlist
Examples marked with an asterisk (*) are fully documented.
@@ -784,6 +786,13 @@
\row \o \l{webkit/simpleselector}{Simple Selector}\raisedaster
\o A basic demonstration, showing how to use QWebElement to select elements in a
Web page.
+ \row \o \l{webkit/simplewebplugin}{Simple Web Plugin}\raisedaster
+ \o Shows how to embed a widget into a Web page displayed using a QWebView
+ widget.
+ \row \o \l{webkit/webftpclient}{Web FTP Client}\raisedaster
+ \o Shows how to add support for a new protocol to QtWebKit-based applications.
+ \row \o \l{webkit/webplugin}{Web Plugin}\raisedaster
+ \o Shows how to communicate with a widget embedded into a Web page.
\endtable
Examples marked with an asterisk (*) are fully documented.
diff --git a/doc/src/getting-started/gettingstartedqt.qdoc b/doc/src/getting-started/gettingstartedqt.qdoc
index fc9d799..eda5ee1 100644
--- a/doc/src/getting-started/gettingstartedqt.qdoc
+++ b/doc/src/getting-started/gettingstartedqt.qdoc
@@ -374,7 +374,7 @@
\code
25 Notepad::Notepad()
26 {
-27 saveAction = new QAction(tr("&Open"), this);
+27 openAction = new QAction(tr("&Open"), this);
28 saveAction = new QAction(tr("&Save"), this);
29 exitAction = new QAction(tr("E&xit"), this);
30
diff --git a/doc/src/getting-started/how-to-learn-qt.qdoc b/doc/src/getting-started/how-to-learn-qt.qdoc
index 981262c..88d10a7 100644
--- a/doc/src/getting-started/how-to-learn-qt.qdoc
+++ b/doc/src/getting-started/how-to-learn-qt.qdoc
@@ -31,84 +31,188 @@
\brief Links to guides and resources for learning Qt.
\nextpage Tutorials
- \section1 Getting Started
+ \section1 Required programming skills
- We assume that you already know C++ and will be using it for Qt
- development. See the \l{Qt website} for more information about
- using other programming languages with Qt.
+ Qt is an application development framework based on C++. Traditionally, C++ is the major programming language used to develop with Qt.
- If you want to program purely in C++, designing your interfaces
- in code without the aid of any design tools, take a look at the
- \l{Tutorials}. These are designed to get you into Qt programming,
- with an emphasis on working code rather than being a tour of features.
+ Since the introduction of Qt Quick (Qt UI Creation Kit) in the beginning of 2011, Qt has been supporting script-based declarative programming with QML. QML is very easy to understand for anybody who is familiar with JavaScript as well as for all other developers who are familiar the basics of object oriented programming and have worked with other scripting languages. Designers who are familiar with web development can start with QML and implement their ideas in executable code which can later be powered by more application logic developed by engineering teams.
- If you want to design your user interfaces using a design tool, then
- read at least the first few chapters of the \l{Qt Designer manual}.
+ A solid understanding of the basics of C++ is essential for those planning on using Qt for C++. You do not need to be a C++ expert to begin. Qt simplifies many aspects of C++ development, making it a lot of fun. The overall development effort is minimal since Qt API are easy to understand and application functionality can be implemented with a smaller a mount of code. C++ experts will find a lot of powerful APIs and tools in Qt which will make complicated things simple and new features easy to get done.
- By now you'll have produced some small working applications and
- have a broad feel for Qt programming. You could start work on your
- own projects straight away, but we recommend reading a couple of
- key overviews to deepen your understanding of Qt: The Qt \l{Object
- Model} and \l{Signals and Slots}.
+ Various bindings have been developed by the Qt community for other programming languages. See the \l{Qt Language Bindings on Wiki}{this wiki page on Qt Developer Network} for more information about using other programming languages with Qt.
+
+ \section1 Tools to install
+
+ Qt provides a range of tools for all steps in application development for desktops and devices. Tools are integrated into packages that are easily installed on several platforms. You have following options:
+
+ \list
+ \o \l{Qt SDK Product Page}{Qt SDK} - one package with all the tools you need for the creation of applications for Symbian and Maemo in addition to desktop platforms such as Microsoft Windows, Mac OS X, and Linux.
+ \o \l{Qt Creator Product Page}{Qt Creator} - a cross-platform integrated development environment (IDE). Note, that the Qt Creator package does not contain the Qt framework itself. You can either configure it to use with a version of Qt already installed on your machine or download a new version of Qt separately.
+ \o \l{Product Overview}{Qt} binary package - a ready-to-go installer for Mac, Linux and Windows containing a precompiled tool chain, libraries, include files, documentation, demos and examples.
+ \o \l{Product Overview}{Qt} source code packages - Qt and Qt creator are available in source code as zip or tar archives as well as on the \l{Public Qt Repository}.
+ \endlist
+
+ All packages above are available for download on the \l{Downloads} page. We recommend starting with Qt SDK since it contains all you need in one package. Later on you can consider installing other packages separately. They can all coexist on your machine and be configured to work with each other.
+
+ \section1 Examples in action
+
+ One of the most popular ways of discovering new technologies is to walk through examples.
+
+ Qt provides a large selection of examples and demos which are available in source code (check \c demos and \c examples directories in your installation).The main difference between examples and demos is that examples are smaller and more focused on one functionality whereas demos are complete, more complex applications using many Qt features.
+
+ Most of the examples and demos are precompiled and integrated into the \l{Examples and Demos Launcher}.
\div {class="float-left"}
\inlineimage qtdemo-small.png
\enddiv
- \section1 Getting an Overview
+ Run it and see Qt's features in action. You can also start all examples and demos from it as separate applications or browse to the source code. \l{Qt Creator Product Page}{Qt Creator} allows loading of examples as projects with a wizard on the "Welcome" page.
- At this point, we recommend looking at the
- \l{All Overviews and HOWTOs}{overviews} and reading those that are
- relevant to your projects. You may also find it useful to browse the
- source code of the \l{Qt Examples}{examples} that have things in
- common with your projects. You can also read Qt's source code since
- this is supplied.
+ Additionally, \l{Qt Widget Gallery} provides overviews of selected Qt desktop widgets in each of the styles used on various supported platforms.
+ \clearfloat
- If you run the \l{Examples and Demos Launcher}, you'll see many of Qt's
- widgets in action.
+ If you are new to Qt, you should first take a look on the following examples:
- The \l{Qt Widget Gallery} also provides overviews of selected Qt
- widgets in each of the styles used on various supported platforms.
- \clearfloat
+ \list
+ \o \l{Calculator Example}
+ \o \l{Application Example}
+ \o \l{Image Viewer Example}
+ \o \l{Basic Drawing Example}
+ \endlist
+
+ \section1 Qt technology guides
+
+ At some point you should take some time to walk through the Qt technology guides and overviews provided in Qt documentation. Qt is simple to use, but you should have a basic understanding of the key concepts behind Qt to reveal its full power. There is a large selection of documents that are sorted into the following sections:
+
+ \list
+ \o \l{Programming with Qt} - about key components and technologies used in Qt development
+ \o \l{Cross-platform and Platform-specific Development} and \l{Platform-Specific Documentation} - using Qt on different platforms
+ \o \l{Qt Quick} - a home page of Qt Quick in Qt documentation
+ \o \l{UI Design with Qt} - specifics of desktop UI development
+ \o \l{Qt and Key Technologies} - how Qt addresses industry standards and also how they are used in Qt
+ \o \l{Best Practice Guides} - a collection of various tips and hints
+ \endlist
+
+ The following guides are essential for those new to Qt:
+
+ \list
+ \o \l{Object Model}
+ \o \l{Object Trees & Ownership}
+ \o \l{Signals & Slots}
+ \o \l{The Event System}
+ \o \l{Implicit Sharing}
+ \o \l{Container Classes}
+ \o \l{Internationalization with Qt}
+ \o \l{Coordinate System}
+ \o \l{Paint System}
+ \o \l{Network Programming}
+ \o \l{The Qt Resource System}
+ \endlist
+
+ The \l{Develop with Qt} guide provides a good overview of all topics in Qt development and includes links to the section mentioned above as well as many more advanced aspects.
+
+ \section1 Tutorials
+
+ Compared to examples, tutorials walk you through the development steps of an application and show how to use Qt to implement required functionality. Some Qt tutorials also explain specific details of selected Qt features.
+
+ The \l{Getting Started Programming with Qt} tutorial is a good start for all who are new to Qt. In this tutorial you will develop a simple text editor and go through the major steps of developing of a Qt application.
+
+ Desktop developers should then proceed to the \l{Widgets Tutorial} as well as the \l{Address Book Tutorial}.
- \section1 Books and Learning Materials
+ Many Qt developers use Qt Designer to compose desktop UIs in a visual editor. Take a look the \l{Qt Designer manual} to learn more about this.
+
+ The \l{Tutorials} page contains a list of all tutorials provided in Qt documentation.
+
+ \section1 Getting most of Qt documentation
Qt comes with extensive documentation, with hypertext
- cross-references throughout, so you can easily click your way to
+ cross-references throughout so you can easily click your way to
whatever interests you. The part of the documentation that you'll
probably use the most is the \link index.html API
Reference\endlink. Each link provides a different way of
- navigating the API Reference; try them all to see which work best
- for you. You might also like to try \l{Qt Assistant}:
- this tool is supplied with Qt and provides access to the entire
- Qt API, and it provides a full text search facility.
+ navigating the API Reference. Try them all to see which work best
+ for you.
- There are also a growing number of books about Qt programming.
- We recommend the official Qt book,
- \l{http://www.amazon.com/gp/product/0132354160/ref=ase_trolltech/}{C++
- GUI Programming with Qt 4, Second Edition} (ISBN 0-13-235416-0). This book
- provides comprehensive coverage of Qt programming all the way
- from "Hello Qt" to advanced features such as multithreading, 2D and
- 3D graphics, networking, item view classes, and XML. (The first edition,
- which is based on Qt 4.1, is available
- \l{http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip}{online}.)
+ The \l{All Overviews and HOWTOs} page lists all Qt technology overviews and HOWTOs in one please. This includes the overviews mentioned above, but also lists several addtional references (e.g. starting pages of all Qt modules, most of which contain a short introduction to a given module).
- See \l{Books about Qt Programming} for a complete list of Qt books,
- including translations to various languages.
+ You can find Qt documentation either directly integrated into Qt tools as well as \l{Qt Docs Web Start Page}{here}. The advantage of Qt documentation provided in tools is that it is stored on your machine and is available offline. The Qt documentation web site provides access to documentation from different Qt versions as well as the latest snapshot. Qt tools provide search functionality over the index of content as well as free text search. Advanced searches can also be conducted in Qt documentation through the use of search engines. Just limit the search to \c doc.qt.nokia.com and review help topics provided by the search engine you're using to know how to write more advanced search queries.
- Another valuable source of example code and explanations of Qt
- features is the archive of articles from \l{Qt Quarterly}, a quarterly newsletter for users of Qt.
+ The most of the content in Qt documentation is in the documentation of Qt APIs. This includes a lot of code snippets showing how to implement a functionality with Qt APIs. A good example of this is the documentation on the \l{QString} class.
- For documentation on specific Qt modules and other guides, refer to
- \l{All Overviews and HOWTOs}.
+ Make sure to take a look at the following reference documentation since they contain a lot of important details:
+ \list
+ \o \l{Qt Namespace} - contains a log of frequently used static variables
+ \o \l{Global Qt Declarations} - to get an overview of available standard types, macros, and static functions
+ \endlist
- \section1 Further Reading
+ \section1 Get advice and support from the Qt Community
Qt has an active and helpful user community who communicate using
- the \l{Qt Mailing Lists}{qt-interest} mailing list, the \l{Qt Centre}
- Web site, and a number of other community Web sites and Weblogs.
- In addition, many Qt developers are active members of the
- \l{KDE}{KDE community}.
+ the various means:
+
+ \list
+ \o \l{Qt Mailing Lists}{qt-interest} Mailing list
+ \o \l{Qt Centre} Website
+ \o \l{Forums on Qt Developer Network}
+ \o \l{Wiki on Qt Developer Network} written by the Qt community and hosted on the Qt Developer Network
+ \o The \c #qt and \c #qt-creator IRC channels on \c irc.freenode.org
+ \endlist
+
+ In addition, many Qt developers are active members of the \l{KDE}{KDE community}.
+
+ \section1 Books about Qt
+
+ There is a growing number of books about Qt programming. The Qt team maintains a list of books on the Qt Developer Network site. See \l{Books about Qt Programming} for a complete list of Qt books including translations to various languages.
+
+ \section1 Training
+
+ In many cases people prefer attending professional training courses to boost their learning progress. A training course has two unique benefits: Its scope can be adapted to your needs and you will get helped on the spot by Qt trainers who are also experienced Qt developers. \l{Qt Training Partners} offer a wide range of courses. Most courses are based on materials developed by the Qt team.
+
+ There are two types of courses: open enrollment and on-site. \l{Open Enrollment Qt Training Courses}{Open enrollment courses} are public courses open to anybody. They are a good choice for an individual developers or small groups. If you have a large Qt project, on-site training is a better choice and can be more cost efficient. You can request your own agenda for on-site training whereas open enrollment courses have a predefined agenda and scope valid for all attendees.
+
+ \section1 Listen to Qt experts on videos
+
+ A wide range of videos is available on the \l{Qt Video Portal} on the Qt Developer Network. Most of the videos are recordings of talks given by Qt experts at Qt Developer Days. You can use categories and tags to find videos which cover the scope of your needs.
+
+ Another part of the videos are recordings of training sessions recorded at Qt Developer Days:
+ \list
+ \o Qt Essentials, by ICS: (part \l{Qt Essentials by ICS part 1}{1} and \l{Qt Essentials by ICS part 1}{2}) and KDAB: (part \l{Qt Essentials by KDAB part 1}{1} and \l{Qt Essentials by KDAB part 2}{2})
+ \o \c QGraphicsView, \l{QGraphicsView by ICS}{session by ICS} and \l{QGraphicsView by ICS}{session by KDAB}
+ \o Multithreading, \l{Multithreading by ICS}{session by ICS} and \l{Multithreading by KDAB}{session by KDAB}
+ \o UI Development with Qt, \l{UI Development with Qt by ICS}{session by ICS} and \l{UI Development with Qt by KDAB}{session by KDAB}
+ \o Embedded Development, \l{Embedded Development by basysKom}{session by basysKom} and \l{Embedded Development by ICS}{session by ICS}
+ \o Model/View Programming, \l{ModelView Programming by basysKom}{session by basysKom} and \l{ModelView Programming by KDAB}{session by KDAB}
+ \o \c QWebKit, \l{QWebKit by KDAB}{by KDAB}
+ \o Qt Quick, by KDAB: part \l{Quick by KDAB part 1}{1}, \l{Quick by KDAB part 2}{2}, \l{Quick by KDAB part 3}{3}, \l{Quick by KDAB part 4}{4}
+ \o Qt Mobile Development for Nokia Devices, by Digia: part \l{Qt Mobile Development for Nokia Devices by Digia part 1}{1}, \l{Qt Mobile Development for Nokia Devices by Digia part 2}{2}, \l{Qt Mobile Development for Nokia Devices by Digia part 3}{3}
+ \endlist
+
+ Additionally, there are recordings of the Qt Essentials training modules:
+ \list
+ \o Fundamentals of Qt, part \l{Qt Essentials - Fundamentals of Qt part 1}{1} and \l{Qt Essentials - Fundamentals of Qt part 2}{2}
+ \o Application Creation, part \l{Qt Essentials - Application Creation part 1}{1}, \l{Qt Essentials - Application Creation part 2}{2}, \l{Qt Essentials - Application Creation part 3}{3}
+ \o Widgets, part \l{Qt Essentials - Widgets part 1}{1}, \l{Qt Essentials - Widgets part 2}{2}, \l{Qt Essentials - Widgets part 3}{3}
+ \o Graphics View, part \l{Qt Essentials - Graphics View part 1}{1}, \l{Qt Essentials - Graphics View part 2}{2}, \l{Qt Essentials - Graphics View part 3}{3}
+ \o Model/View I, part \l{Qt Essentials - Model/View I part 1}{1}, \l{Qt Essentials - Model/View I part 2}{2}, \l{Qt Essentials - Model/View I part 3}{3}, \l{Qt Essentials - Model/View I part 4}{4}
+ \o Model/View II, , part \l{Qt Essentials - Model/View II part 1}{1}, \l{Qt Essentials - Model/View II part 2}{2}, \l{Qt Essentials - Model/View II part 3}{3}, \l{Qt Essentials - Model/View II part 4}{4}, \l{Qt Essentials - Model/View II part 5}{5}
+ \endlist
+
+ \section1 Prove your knowledge
+
+ \l{Qt Certification} publishes the scope of each exam in Qt Curriculum as "Qt Curriculum Blocks," which are available under \l{Qt Certification Exam Preparation and Prerequisites}{this link}. The Qt Essentials Curriculum Block describes the scope of knowledge which covers all of the fundamental concepts and basic features in Qt. Review this list to find out which areas of Qt you should become familiar with in order to reach a basic level of Qt expertise. If you also have at least 6 months of Qt development experience, consider taking the Qt Essentials exam and becoming a Nokia Certified Qt Developer.
+ \section1 Further Readings and Materials
+
+ A selection of training materials is available to download under \l{Download Qt training materials}{this link} which includes slides (PDF) and source code from the following three courses:
+ \list
+ \o Qt Essentials - Widget Edition
+ \o Qt Essentials - Qt Quick Edition
+ \o Qt Quick for Designers
+ \endlist
+
+ \l{Qt in Education Course Material} is available to download as well. It is more tailored to the needs of educational institutions that use Qt for teaching purposes, but nonetheless provides helpful slides in various formats as well as labs and example code.
+
+ Another valuable source of example code and valuable information about Qt features is the archive of articles from \l{Qt Quarterly}, a quarterly newsletter for users of Qt.
+
+ Good luck and have fun!
- Good luck, and have fun!
*/
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index ef010b4..36d63f5 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -47,7 +47,7 @@ for your platform from the following list.
\tableofcontents
- Qt for X11 has some requirements that are given in more detail
+ Qt for X11 has some requirements that are given in more detail
in the \l{Qt for X11 Requirements} document.
\section1 Step 1: Installing the License File (commercial editions only)
@@ -79,6 +79,8 @@ for your platform from the following list.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 1
Type \c{./configure -help} to get a list of all available options.
+ The \l{Configuration Options for Qt} page gives a brief overview
+ of these.
To create the library and compile all the demos, examples, tools,
and tutorials, type:
@@ -90,7 +92,7 @@ for your platform from the following list.
place. To do this (as root if necessary), type:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 3
-
+
Note that on some systems the make utility is named differently,
e.g. gmake. The configure script tells you which make utility to
use.
@@ -218,7 +220,8 @@ for your platform from the following list.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 8
- Type \c{configure -help} to get a list of all available options.
+ Type \c{configure -help} to get a list of all available options. The
+ \l{Configuration Options for Qt} page gives a brief overview of these.
If you have multiple compilers installed, and want to build the Qt library
using a specific compiler, you must specify a \c qmake specification.
@@ -286,7 +289,7 @@ script to uninstall the binary package. The script is located in /Developer/Tool
must be run as root.
\note Do not run the iPhone simulator while installing Qt. The
-\l{http://openradar.appspot.com/7214991}
+\l{http://openradar.appspot.com/7214991}
{iPhone simulator conflicts with the package installer}.
\section1 Step 1: Install the License File (commercial editions only)
@@ -433,7 +436,9 @@ in the \l{Qt for Windows CE Requirements} document.
If you want to configure Qt for another platform or with other
options, type \c{configure -help} to get a list of all available
- options. See the \c README file for the list of supported platforms.
+ options. The \l{Configuration Options for Qt} page gives a brief
+ overview of these. See the \c README file for the list of supported
+ platforms.
\section1 Step 4: Build Qt Library
@@ -562,17 +567,17 @@ Qt for the Symbian platform has some requirements that are given in more detail
in the \l{Qt for the Symbian platform Requirements} document.
This document describes how to install and configure Qt for
-the Symbian platform from scratch. If you are using pre-built binaries, follow
-the instructions given in the \l{Installing Qt for the Symbian platform from a
+the Symbian platform from scratch. If you are using pre-built binaries, follow
+the instructions given in the \l{Installing Qt for the Symbian platform from a
Binary Package} document.
\section1 Step 1: Set Up the Development Environment
- Make sure your Symbian development environment is correctly installed
+ Make sure your Symbian development environment is correctly installed
and patched as explained in the \l{Qt for the Symbian platform Requirements}
document.
- After you have finished the Symbian development environment setup, it is
+ After you have finished the Symbian development environment setup, it is
good to verify that environment is functional for example by compiling one
of the pure Symbian examples for both emulator and HW. This can be done from
command prompt as follows:
@@ -584,7 +589,7 @@ Binary Package} document.
\section1 Step 2: Install Qt
- Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source
+ Uncompress the \l{http://qt.nokia.com/downloads}{downloaded} source
package into the directory you want Qt installed, e.g. \c{C:\Qt\%VERSION%}.
\note Qt must be installed on the same drive as the Symbian SDK you are
@@ -606,8 +611,8 @@ Binary Package} document.
emulator. This is done by locating the Carbide.c++ submenu on the Start
menu, and choosing "Configure environment for WINSCW command line".
- If you are planning to use \c abld (the default build system that comes with
- the S60 SDK) to build Qt, you will also need to set the following
+ If you are planning to use \c abld (the default build system that comes with
+ the S60 SDK) to build Qt, you will also need to set the following
environment variable:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 33
@@ -620,13 +625,17 @@ Binary Package} document.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 23
(to build the tools using MinGW, and the libraries using abld)
-
+
\bold or
\snippet doc/src/snippets/code/doc_src_installation.qdoc 31
(to build the tools using MinGW, and the libraries using SBSv2)
- SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
+ Type \c{./configure -help} to get a list of all available options.
+ The \l{Configuration Options for Qt} page gives a brief overview
+ of these.
+
+ SBSv2 (also known as \l{http://developer.symbian.org/wiki/index.php/Introduction_to_RAPTOR} {Raptor})
is a next-generation Symbian build system. SBSv2 is not officially supported
by any of the S60 SDKs currently available from Forum Nokia.
@@ -701,7 +710,7 @@ applications using Qt for Symbian can start right away.
Qt for the Symbian platform has some requirements on the development
platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
-processor used on Symbian devices should be present on the development
+processor used on Symbian devices should be present on the development
machine.
See \l{http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
@@ -718,7 +727,7 @@ directory you want Qt installed, e.g. \c{/home/user/qt/%VERSION%}.
In order to build and use Qt, the \c PATH environment variable needs
to be extended to fine Qt tools and also to find the Symbian platform tools:
-First you need to set the \c EPOCROOT environment variable to point to the
+First you need to set the \c EPOCROOT environment variable to point to the
location of your S60 SDK:
\snippet doc/src/snippets/code/doc_src_installation.qdoc 36
@@ -740,6 +749,9 @@ to build the libraries using RVCT or
to build the libraries using GCCE.
+Type \c{./configure -help} to get a list of all available options.
+The \l{Configuration Options for Qt} page gives a brief overview
+of these.
\section1 Step 5: Build Qt
@@ -1014,13 +1026,13 @@ We hope you will enjoy using Qt.
Qt from its source code, you will also need to install the development
packages for these libraries for your system.
- \table 100%
+ \table 100%
\header
\o Name
\o Library
\o Notes
\o Configuration options
- \o Minimum working version
+ \o Minimum working version
\row {id="OptionalColor"}
\o XRender
\o libXrender
@@ -1028,13 +1040,13 @@ We hope you will enjoy using Qt.
\o \tt{-xrender} or auto-detected
\o 0.9.0
\row {id="OptionalColor"}
- \o Xrandr
+ \o Xrandr
\o libXrandr
\o X Resize and Rotate Extension
\o \tt{-xrandr} or auto-detected
\o 1.0.2
\row {id="OptionalColor"}
- \o Xcursor
+ \o Xcursor
\o libXcursor
\o X Cursor Extension
\o \tt{-xcursor} or auto-detected
@@ -1046,7 +1058,7 @@ We hope you will enjoy using Qt.
\o \tt{-xfixes} or auto-detected
\o 3.0.0
\row {id="OptionalColor"}
- \o Xinerama
+ \o Xinerama
\o libXinerama
\o Multi-head support
\o \tt{-xinerama} or auto-detected
@@ -1062,7 +1074,7 @@ We hope you will enjoy using Qt.
\o FreeType
\o libfreetype
\o Font engine
- \o
+ \o
\o 2.1.3
\row {id="DefaultColor"}
@@ -1115,7 +1127,7 @@ We hope you will enjoy using Qt.
\o Multithreading
\o
\o 2.3.5
- \endtable
+ \endtable
\note You must compile with XRender support to get alpha transparency
support for pixmaps and images.
@@ -1199,7 +1211,7 @@ We hope you will enjoy using Qt.
{Windows Mobile 5 Pocket PC}
\o \l{http://www.microsoft.com/downloads/details.aspx?familyid=DC6C00CB-738A-4B97-8910-5CD29AB5F8D9&amp;displaylang=en}
{Windows Mobile 5 Smartphone}
- \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en }
+ \o \l{http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&amp;displaylang=en}
{Windows Mobile 6 Professional/Standard}
\endlist
@@ -1223,7 +1235,7 @@ We hope you will enjoy using Qt.
\section3 Requirements
\list
- \o Development environment:
+ \o Development environment:
\list
\o Microsoft Visual Studio 2005 (Standard Edition) or higher
\o ActivePerl
@@ -1368,287 +1380,297 @@ We hope you will enjoy using Qt.
/*!
\page configure-options.html
- \title Configure options for Qt
+ \title Configuration Options for Qt
\ingroup installation
- \brief Brief description of available options building Qt.
-
- This page gives a brief description of the different options
- available when building Qt using configure. To build Qt using
- default options, just call configure from the command line like
- showed below. If you would like to customize your build, please
- use the options listed in the following tables.
-
- \c {.\configure.exe}
-
- \section2 Cross platform options:
-
- \table
- \header \o Option \o Description \o Note
- \row \o \c {-buildkey } <key> \o Build the Qt library and plugins
- using the specified \o
- \row \o \c {<key>} \o When the library loads plugins, it will only
- load those that have a matching <key>. \o
- \row \o \c {-release } \o Compile and link Qt with debugging turned off. \o
- \row \o \c {-debug } \o Compile and link Qt with debugging turned on.
- \o Default value.
- \row \o \c {-debug-and-release} \o Compile and link two Qt libraries,
- with and without debugging turned on. \o This option denotes a default
- value and needs to be evaluated. If the evaluation succeeds, the
- feature is included.
- \row \o \c {-opensource} \o Compile and link the Open-Source Edition
- of Qt. \o
- \row \o \c {-commercial } \o Compile and link the Commercial Edition
- of Qt. \o
- \row \o \c {-developer-build} \o Compile and link Qt with Qt developer
- options including auto-tests exporting) \o
- \row \o \c {-shared} \o Create and use shared Qt libraries. \o Default
- value.
- \row \o \c {-static} \o Create and use static Qt libraries. \o
- \row \o \c {-ltcg} \o Use Link Time Code Generation. \o Apply to release
- builds only.
- \row \o \c {-no-ltcg} \o Do not use Link Time Code Generation. \o Default
- value.
- \row \o \c {-no-fast} \o Configure Qt normally by generating Makefiles for
- all project files. \o Default value.
- \row \o \c {-fast} \o Configure Qt quickly by generating Makefiles only for
- library and subdirectory targets. \o All other Makefiles are created as
- wrappers which will in turn run qmake.
- \row \o \c {-no-exceptions} \o Disable exceptions on platforms that support
- it. \o
- \row \o \c {-exceptions} \o Enable exceptions on platforms that support it.
- \o Default value.
- \row \o \c {-no-accessibility} \o Do not compile Windows Active
- Accessibility support. \o
- \row \o \c {-accessibility} \o Compile Windows Active Accessibility
- support. \o Default value.
- \row \o \c {-no-stl} \o Do not compile STL support. \o
- \row \o \c {-stl} \o Compile STL support. \o Default value.
- \row \o \c {-no-sql-<driver>} \o Disable SQL <driver> entirely, by default
- none are turned on. \o
- \row \o \c {-qt-sql-<driver>} \o Enable a SQL <driver> in the Qt Library.
- \o
- \row \o \c {-plugin-sql-<driver>} \o Enable SQL <driver> as a plugin to be
- linked to at run time. \o Available values for <driver>: mysql, psql,
- oci, odbc, tds, db2, sqlite, sqlite2, ibase. Drivers marked with a
- '+' during configure have been detected as available on this system.
- \row \o \c {-system-sqlite} \o Use sqlite from the operating system. \o
- \row \o \c {-no-qt3support} \o Disables the Qt 3 support functionality. \o
- \row \o \c {-no-opengl} \o Disables OpenGL functionality \o
- \row \o \c {-opengl <api>} \o Enable OpenGL support with specified API
- version. \o Available values for <api>: desktop - Enable support for
- Desktop OpenGL (Default), es1 - Enable support for OpenGL ES Common
- Profile, es2 - Enable support for OpenGL ES 2.0.
- \row \o \c {-no-openvg} \o Disables OpenVG functionality \o Default value.
- \row \o \c {-openvg} \o Enables OpenVG functionality \o Requires EGL
- support, typically supplied by an OpenGL or other graphics
- implementation.
- \row \o \c {-platform <spec> } \o The operating system and compiler you
- are building on. \o The default value is %QMAKESPEC%.
- \row \o \c {-xplatform <spec> } \o The operating system and compiler you
- are cross compiling for. \o See the README file for a list of supported
- operating systems and compilers.
- \row \o \c {-qtnamespace <namespace>} \o Wraps all Qt library code in
- 'namespace name {..} \o
- \row \o \c {-qtlibinfix <infix>} \o Renames all Qt* libs to Qt*<infix>
- \o
- \row \o \c {-D <define>} \o Add an explicit define to the preprocessor.
- \o
- \row \o \c {-I <includepath>} \o Add an explicit include path. \o
- \row \o \c {-L <librarypath>} \o Add an explicit library path. \o
- \row \o \c {-l <libraryname>} \o Add an explicit library name, residing
- in a librarypath. \o
- \row \o \c {-graphicssystem <sys>} \o Specify which graphics system should
- be used. \o Available values for <sys>: * raster - Software rasterizer,
- opengl - Using OpenGL acceleration, experimental!, openvg - Using
- OpenVG acceleration, experimental!
- \row \o \c {-help, -h, -?} \o Display this information. \o
- \endtable
-
- \section2 Third Party Libraries:
- \table
- \header \o Option \o Description \o Note
- \row \o \c {-qt-zlib} \o Use the zlib bundled with Qt. \o
- \row \o \c {-system-zlib} \o Use zlib from the operating system.
- \o See http://www.gzip.org/zlib
- \row \o \c {-no-gif} \o Do not compile GIF reading support.
- \o This option denotes a default value and needs to be evaluated.
- If the evaluation succeeds, the feature is included.
- \row \o \c {-qt-gif} \o Compile GIF reading support. \o See also
- src/gui/image/qgifhandler_p.h
- \row \o \c {-no-libpng} \o Do not compile PNG support. \o
- \row \o \c {-qt-libpng} \o Use the libpng bundled with Qt.
- \o This option denotes a default value and needs to be evaluated.
- If the evaluation succeeds, the feature is included.
- \row \o \c {-system-libpng} \o Use libpng from the operating system.
- \o See http://www.libpng.org/pub/png
- \row \o \c {-no-libmng} \o Do not compile MNG support. \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-qt-libmng} \o Use the libmng bundled with Qt. \o
- \row \o \c {-system-libmng} \o Use libmng from the operating system.
- \o See http://www.libmng.com
- \row \o \c {-no-libtiff} \o Do not compile TIFF support. \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-qt-libtiff} \o Use the libtiff bundled with Qt. \o
- \row \o \c {-system-libtiff} \o Use libtiff from the operating system.
- \o See http://www.libtiff.org
- \row \o \c {-no-libjpeg} \o Do not compile JPEG support. \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-qt-libjpeg} \o Use the libjpeg bundled with Qt. \o
- \row \o \c {-system-libjpeg} \o Use libjpeg from the operating system.
- \o See http://www.ijg.org. This option denotes a default value and
- needs to be evaluated. If the evaluation succeeds, the feature is
- included.
- \endtable
-
- \section2 Qt for Windows only:
- \table
- \header \o Option \o Description \o Note
- \row \o \c {-no-dsp} \o Do not generate VC++ .dsp files. \o
- \row \o \c {-dsp} \o Generate VC++ .dsp files, only if spec "win32-msvc".
- \o Default value.
- \row \o \c {-no-vcproj} \o Do not generate VC++ .vcproj files. \o
- \row \o \c {-vcproj} \o Generate VC++ .vcproj files, only if platform
- "win32-msvc.net". \o Default value.
- \row \o \c {-no-incredibuild-xge} \o Do not add IncrediBuild XGE distribution
- commands to custom build steps. \o
- \row \o \c {-incredibuild-xge} \o Add IncrediBuild XGE distribution commands
- to custom build steps. This will distribute MOC and UIC steps, and other
- custom buildsteps which are added to the INCREDIBUILD_XGE variable.
- \o The IncrediBuild distribution commands are only added to Visual Studio
- projects. This option denotes a default value and needs to be evaluated.
- If the evaluation succeeds, the feature is included.
- \row \o \c {-no-plugin-manifests} \o Do not embed manifests in plugins. \o
- \row \o \c {-plugin-manifests} \o Embed manifests in plugins.
- \o Default value.
- \row \o \c {-no-qmake} \o Do not compile qmake. \o
- \row \o \c {-qmake} \o Compile qmake. \o Default value
- \row \o \c {-dont-process} \o Do not generate Makefiles/Project files. This
- will override -no-fast if specified. \o
- \row \o \c {-process} \o Generate Makefiles/Project files. \o Default value.
- \row \o \c {-no-rtti} \o Do not compile runtime type information. \o
- \row \o \c {-rtti} \o Compile runtime type information. \o Default value.
- \row \o \c {-no-mmx} \o Do not compile with use of MMX instructions \o
- \row \o \c {-mmx} \o Compile with use of MMX instructions \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-no-3dnow} \o Do not compile with use of 3DNOW instructions \o
- \row \o \c {-3dnow} \o Compile with use of 3DNOW instructions \o This
- option denotes a default value and needs to be evaluated. If the
- evaluation succeeds, the feature is included.
- \row \o \c {-no-sse} \o Do not compile with use of SSE instructions \o
- \row \o \c {-sse} \o Compile with use of SSE instructions \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-no-sse2} \o Do not compile with use of SSE2 instructions \o
- \row \o \c {-sse2} \o Compile with use of SSE2 instructions \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-no-openssl} \o Do not compile in OpenSSL support \o
- \row \o \c {-openssl} \o Compile in run-time OpenSSL support \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-openssl-linked} \o Compile in linked OpenSSL support \o
- \row \o \c {-no-dbus} \o Do not compile in D-Bus support \o
- \row \o \c {-dbus} \o Compile in D-Bus support and load libdbus-1 dynamically.
- \o This option denotes a default value and needs to be evaluated.
- If the evaluation succeeds, the feature is included.
- \row \o \c {-dbus-linked} \o Compile in D-Bus support and link to
- libdbus-1 \o
- \row \o \c {-no-phonon} \o Do not compile in the Phonon module \o
- \row \o \c {-phonon} \o Compile the Phonon module. \o Phonon is built if a
- decent C++ compiler is used. This option denotes a default value and needs
- to be evaluated. If the evaluation succeeds, the feature is included.
- \row \o \c {-no-phonon-backend} \o Do not compile the platform-specific
- Phonon backend-plugin \o
- \row \o \c {-phonon-backend} \o Compile in the platform-specific Phonon
- backend-plugin \o Default value.
- \row \o \c {-no-multimedia} \o Do not compile the multimedia module \o
- \row \o \c {-multimedia} \o Compile in multimedia module \o Default value.
- \row \o \c {-no-audio-backend} \o Do not compile in the platform audio
- backend into QtMultimedia \o
- \row \o \c {-audio-backend} \o Compile in the platform audio backend into
- QtMultimedia \o This option denotes a default value and needs to be
- evaluated. If the evaluation succeeds, the feature is included.
- \row \o \c {-no-webkit} \o Do not compile in the WebKit module \o
- \row \o \c {-webkit} \o Compile in the WebKit module \o WebKit is built
- if a decent C++ compiler is used. This option denotes a default value
- and needs to be evaluated. If the evaluation succeeds, the feature is
- included.
- \row \o \c {-webkit-debug} \o Compile in the WebKit module with debug
- symbols. \o
- \row \o \c {-no-script} \o Do not build the QtScript module. \o
- \row \o \c {-script} \o Build the QtScript module. \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-no-scripttools} \o Do not build the QtScriptTools module. \o
- \row \o \c {-scripttools} \o Build the QtScriptTools module. \o This
- option denotes a default value and needs to be evaluated. If the
- evaluation succeeds, the feature is included.
- \row \o \c {-no-declarative} \o Do not build the declarative module \o
- \row \o \c {-declarative} \o Build the declarative module \o This option
- denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-no-declarative-debug} \o Do not build the declarative debugging
- support \o
- \row \o \c {-declarative-debug} \o Build the declarative debugging support
- \o Default value.
- \row \o \c {-arch <arch>} \o Specify an architecture. \o Available values for
- <arch>: * windows, windowsce, symbian, boundschecker, generic.
- \row \o \c {-no-style-<style>} \o Disable <style> entirely. \o
- \row \o \c {-qt-style-<style>} \o Enable <style> in the Qt Library.
- \o Available styles: * windows, + windowsxp, + windowsvista,
- * plastique, * cleanlooks, * motif, * cde, windowsce, windowsmobile,
- s60
- \row \o \c {-no-native-gestures} \o Do not use native gestures on Windows 7.
- \o
- \row \o \c {-native-gestures} \o Use native gestures on Windows 7.
- \o Default value.
- \row \o \c {-no-mp} \o Do not use multiple processors for compiling with MSVC
- \o Default value.
- \row \o \c {-mp} \o Use multiple processors for compiling with MSVC (-MP) \o
- \row \o \c {-loadconfig <config>} \o Run configure with the parameters from file
- configure_<config>.cache. \o
- \row \o \c {-saveconfig <config>} \o Run configure and save the parameters in
- file configure_<config>.cache. \o
- \row \o \c {-redo} \o Run configure with the same parameters as last time. \o
-\endtable
-
-\section2 Qt for Windows CE only:
- \table
- \header \o Option \o Description \o Note
- \row \o \c {-no-iwmmxt} \o Do not compile with use of IWMMXT instructions \o
- \row \o \c {-iwmmxt} \o Do compile with use of IWMMXT instructions. \o This is
- for Qt for Windows CE on Arm only. This option denotes a default value and
- needs to be evaluated. If the evaluation succeeds, the feature is included.
- \row \o \c {-no-crt} \o Do not add the C runtime to default deployment rules.
- \o Default value.
- \row \o \c {-qt-crt} \o Qt identifies C runtime during project generation \o
- \row \o \c {-crt <path>} \o Specify path to C runtime used for project
- generation. \o
- \row \o \c {-no-cetest} \o Do not compile Windows CE remote test application \o
- \row \o \c {-cetest} \o Compile Windows CE remote test application \o This
- option denotes a default value and needs to be evaluated. If the evaluation
- succeeds, the feature is included.
- \row \o \c {-signature <file>} \o Use file for signing the target project \o
- \row \o \c {-phonon-wince-ds9} \o Enable Phonon Direct Show 9 backend for
- Windows CE \o Default value
- \endtable
-
- \section2 Qt for Symbian OS only:
- \table
- \header \o Option \o Description \o Note
- \row \o \c {-no-freetype} \o Do not compile in Freetype2 support.
- \o Default value.
- \row \o \c {-qt-freetype} \o Use the libfreetype bundled with Qt. \o
- \row \o \c {-fpu <flags>} \o VFP type on ARM, supported options:
- softvfp(default) |vfpv2 | softvfp+vfpv2 \o
- \row \o \c {-no-s60} \o Do not compile in S60 support. \o
- \row \o \c {-s60} \o Compile with support for the S60 UI Framework
- \o Default value.
- \row \o \c {-no-usedeffiles} \o Disable the usage of DEF files. \o
- \row \o \c {-usedeffiles} \o Enable the usage of DEF files. \o
- \endtable
+ \brief Brief description of available options for building Qt.
+
+ This page gives a brief description of the different options available when
+ building Qt using the \c configure script or \c configure.exe binary.
+ To build Qt using the default options, just call configure from the command
+ line as shown below.
+
+ When building on Linux, Mac OS X and Unix platforms:
+
+ \c{./configure}
+
+ On Windows, run the corresponding executable:
+
+ \c{.\configure.exe}
+
+ If you would like to customize your build, please use the options listed in
+ the following tables. To see the full list of options, invoke the configure
+ tool with the \c -help command line option.
+
+ \section2 Cross platform options:
+
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-buildkey} <key> \o Build the Qt library and plugins
+ using the specified \o
+ \row \o \c {<key>} \o When the library loads plugins, it will only
+ load those that have a matching <key>. \o
+ \row \o \c {-release} \o Compile and link Qt with debugging turned off. \o
+ \row \o \c {-debug} \o Compile and link Qt with debugging turned on.
+ \o Default value.
+ \row \o \c {-debug-and-release} \o Compile and link two Qt libraries,
+ with and without debugging turned on. \o This option denotes a default
+ value and needs to be evaluated. If the evaluation succeeds, the
+ feature is included.
+ \row \o \c {-opensource} \o Compile and link the Open-Source Edition
+ of Qt. \o
+ \row \o \c {-commercial} \o Compile and link the Commercial Edition
+ of Qt. \o
+ \row \o \c {-developer-build} \o Compile and link Qt with Qt developer
+ options including auto-tests exporting) \o
+ \row \o \c {-shared} \o Create and use shared Qt libraries. \o Default
+ value.
+ \row \o \c {-static} \o Create and use static Qt libraries. \o
+ \row \o \c {-ltcg} \o Use Link Time Code Generation. \o Apply to release
+ builds only.
+ \row \o \c {-no-ltcg} \o Do not use Link Time Code Generation. \o Default
+ value.
+ \row \o \c {-no-fast} \o Configure Qt normally by generating Makefiles for
+ all project files. \o Default value.
+ \row \o \c {-fast} \o Configure Qt quickly by generating Makefiles only for
+ library and subdirectory targets. \o All other Makefiles are created as
+ wrappers which will in turn run qmake.
+ \row \o \c {-no-exceptions} \o Disable exceptions on platforms that support
+ it. \o
+ \row \o \c {-exceptions} \o Enable exceptions on platforms that support it.
+ \o Default value.
+ \row \o \c {-no-accessibility} \o Do not compile Windows Active
+ Accessibility support. \o
+ \row \o \c {-accessibility} \o Compile Windows Active Accessibility
+ support. \o Default value.
+ \row \o \c {-no-stl} \o Do not compile STL support. \o
+ \row \o \c {-stl} \o Compile STL support. \o Default value.
+ \row \o \c {-no-sql-<driver>} \o Disable SQL <driver> entirely, by default
+ none are turned on. \o
+ \row \o \c {-qt-sql-<driver>} \o Enable a SQL <driver> in the Qt Library.
+ \o
+ \row \o \c {-plugin-sql-<driver>} \o Enable SQL <driver> as a plugin to be
+ linked to at run time. \o Available values for <driver>: mysql, psql,
+ oci, odbc, tds, db2, sqlite, sqlite2, ibase. Drivers marked with a
+ '+' during configure have been detected as available on this system.
+ \row \o \c {-system-sqlite} \o Use sqlite from the operating system. \o
+ \row \o \c {-no-qt3support} \o Disables the Qt 3 support functionality. \o
+ \row \o \c {-no-opengl} \o Disables OpenGL functionality \o
+ \row \o \c {-opengl <api>} \o Enable OpenGL support with specified API
+ version. \o Available values for <api>: desktop - Enable support for
+ Desktop OpenGL (Default), es1 - Enable support for OpenGL ES Common
+ Profile, es2 - Enable support for OpenGL ES 2.0.
+ \row \o \c {-no-openvg} \o Disables OpenVG functionality \o Default value.
+ \row \o \c {-openvg} \o Enables OpenVG functionality \o Requires EGL
+ support, typically supplied by an OpenGL or other graphics
+ implementation.
+ \row \o \c {-platform <spec>} \o The operating system and compiler you
+ are building on. \o The default value is %QMAKESPEC%.
+ \row \o \c {-xplatform <spec>} \o The operating system and compiler you
+ are cross compiling for. \o See the README file for a list of supported
+ operating systems and compilers.
+ \row \o \c {-qtnamespace <namespace>} \o Wraps all Qt library code in
+ 'namespace name {..} \o
+ \row \o \c {-qtlibinfix <infix>} \o Renames all Qt* libs to Qt*<infix>
+ \o
+ \row \o \c {-D <define>} \o Add an explicit define to the preprocessor.
+ \o
+ \row \o \c {-I <includepath>} \o Add an explicit include path. \o
+ \row \o \c {-L <librarypath>} \o Add an explicit library path. \o
+ \row \o \c {-l <libraryname>} \o Add an explicit library name, residing
+ in a librarypath. \o
+ \row \o \c {-graphicssystem <sys>} \o Specify which graphics system should
+ be used. \o Available values for <sys>: * raster - Software rasterizer,
+ opengl - Using OpenGL acceleration, experimental!, openvg - Using
+ OpenVG acceleration, experimental!
+ \row \o \c {-help, -h, -?} \o Display this information. \o
+ \endtable
+
+ \section2 Third Party Libraries
+
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-qt-zlib} \o Use the zlib bundled with Qt. \o
+ \row \o \c {-system-zlib} \o Use zlib from the operating system.
+ \o See http://www.gzip.org/zlib
+ \row \o \c {-no-gif} \o Do not compile GIF reading support.
+ \o This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-qt-gif} \o Compile GIF reading support. \o See also
+ src/gui/image/qgifhandler_p.h
+ \row \o \c {-no-libpng} \o Do not compile PNG support. \o
+ \row \o \c {-qt-libpng} \o Use the libpng bundled with Qt.
+ \o This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-system-libpng} \o Use libpng from the operating system.
+ \o See http://www.libpng.org/pub/png
+ \row \o \c {-no-libmng} \o Do not compile MNG support. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-qt-libmng} \o Use the libmng bundled with Qt. \o
+ \row \o \c {-system-libmng} \o Use libmng from the operating system.
+ \o See http://www.libmng.com
+ \row \o \c {-no-libtiff} \o Do not compile TIFF support. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-qt-libtiff} \o Use the libtiff bundled with Qt. \o
+ \row \o \c {-system-libtiff} \o Use libtiff from the operating system.
+ \o See http://www.libtiff.org
+ \row \o \c {-no-libjpeg} \o Do not compile JPEG support. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-qt-libjpeg} \o Use the libjpeg bundled with Qt. \o
+ \row \o \c {-system-libjpeg} \o Use libjpeg from the operating system.
+ \o See http://www.ijg.org. This option denotes a default value and
+ needs to be evaluated. If the evaluation succeeds, the feature is
+ included.
+ \endtable
+
+ \section2 Qt for Windows only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-dsp} \o Do not generate VC++ .dsp files. \o
+ \row \o \c {-dsp} \o Generate VC++ .dsp files, only if spec "win32-msvc".
+ \o Default value.
+ \row \o \c {-no-vcproj} \o Do not generate VC++ .vcproj files. \o
+ \row \o \c {-vcproj} \o Generate VC++ .vcproj files, only if platform
+ "win32-msvc.net". \o Default value.
+ \row \o \c {-no-incredibuild-xge} \o Do not add IncrediBuild XGE distribution
+ commands to custom build steps. \o
+ \row \o \c {-incredibuild-xge} \o Add IncrediBuild XGE distribution commands
+ to custom build steps. This will distribute MOC and UIC steps, and other
+ custom buildsteps which are added to the INCREDIBUILD_XGE variable.
+ \o The IncrediBuild distribution commands are only added to Visual Studio
+ projects. This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-plugin-manifests} \o Do not embed manifests in plugins. \o
+ \row \o \c {-plugin-manifests} \o Embed manifests in plugins.
+ \o Default value.
+ \row \o \c {-no-qmake} \o Do not compile qmake. \o
+ \row \o \c {-qmake} \o Compile qmake. \o Default value
+ \row \o \c {-dont-process} \o Do not generate Makefiles/Project files. This
+ will override -no-fast if specified. \o
+ \row \o \c {-process} \o Generate Makefiles/Project files. \o Default value.
+ \row \o \c {-no-rtti} \o Do not compile runtime type information. \o
+ \row \o \c {-rtti} \o Compile runtime type information. \o Default value.
+ \row \o \c {-no-mmx} \o Do not compile with use of MMX instructions \o
+ \row \o \c {-mmx} \o Compile with use of MMX instructions \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-3dnow} \o Do not compile with use of 3DNOW instructions \o
+ \row \o \c {-3dnow} \o Compile with use of 3DNOW instructions \o This
+ option denotes a default value and needs to be evaluated. If the
+ evaluation succeeds, the feature is included.
+ \row \o \c {-no-sse} \o Do not compile with use of SSE instructions \o
+ \row \o \c {-sse} \o Compile with use of SSE instructions \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-sse2} \o Do not compile with use of SSE2 instructions \o
+ \row \o \c {-sse2} \o Compile with use of SSE2 instructions \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-openssl} \o Do not compile in OpenSSL support \o
+ \row \o \c {-openssl} \o Compile in run-time OpenSSL support \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-openssl-linked} \o Compile in linked OpenSSL support \o
+ \row \o \c {-no-dbus} \o Do not compile in D-Bus support \o
+ \row \o \c {-dbus} \o Compile in D-Bus support and load libdbus-1 dynamically.
+ \o This option denotes a default value and needs to be evaluated.
+ If the evaluation succeeds, the feature is included.
+ \row \o \c {-dbus-linked} \o Compile in D-Bus support and link to
+ libdbus-1 \o
+ \row \o \c {-no-phonon} \o Do not compile in the Phonon module \o
+ \row \o \c {-phonon} \o Compile the Phonon module. \o Phonon is built if a
+ decent C++ compiler is used. This option denotes a default value and needs
+ to be evaluated. If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-phonon-backend} \o Do not compile the platform-specific
+ Phonon backend-plugin \o
+ \row \o \c {-phonon-backend} \o Compile in the platform-specific Phonon
+ backend-plugin \o Default value.
+ \row \o \c {-no-multimedia} \o Do not compile the multimedia module \o
+ \row \o \c {-multimedia} \o Compile in multimedia module \o Default value.
+ \row \o \c {-no-audio-backend} \o Do not compile in the platform audio
+ backend into QtMultimedia \o
+ \row \o \c {-audio-backend} \o Compile in the platform audio backend into
+ QtMultimedia \o This option denotes a default value and needs to be
+ evaluated. If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-webkit} \o Do not compile in the WebKit module \o
+ \row \o \c {-webkit} \o Compile in the WebKit module \o WebKit is built
+ if a decent C++ compiler is used. This option denotes a default value
+ and needs to be evaluated. If the evaluation succeeds, the feature is
+ included.
+ \row \o \c {-webkit-debug} \o Compile in the WebKit module with debug
+ symbols. \o
+ \row \o \c {-no-script} \o Do not build the QtScript module. \o
+ \row \o \c {-script} \o Build the QtScript module. \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-scripttools} \o Do not build the QtScriptTools module. \o
+ \row \o \c {-scripttools} \o Build the QtScriptTools module. \o This
+ option denotes a default value and needs to be evaluated. If the
+ evaluation succeeds, the feature is included.
+ \row \o \c {-no-declarative} \o Do not build the declarative module \o
+ \row \o \c {-declarative} \o Build the declarative module \o This option
+ denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-no-declarative-debug} \o Do not build the declarative debugging
+ support \o
+ \row \o \c {-declarative-debug} \o Build the declarative debugging support
+ \o Default value.
+ \row \o \c {-arch <arch>} \o Specify an architecture. \o Available values for
+ <arch>: * windows, windowsce, symbian, boundschecker, generic.
+ \row \o \c {-no-style-<style>} \o Disable <style> entirely. \o
+ \row \o \c {-qt-style-<style>} \o Enable <style> in the Qt Library.
+ \o Available styles: * windows, + windowsxp, + windowsvista,
+ * plastique, * cleanlooks, * motif, * cde, windowsce, windowsmobile,
+ s60
+ \row \o \c {-no-native-gestures} \o Do not use native gestures on Windows 7.
+ \o
+ \row \o \c {-native-gestures} \o Use native gestures on Windows 7.
+ \o Default value.
+ \row \o \c {-no-mp} \o Do not use multiple processors for compiling with MSVC
+ \o Default value.
+ \row \o \c {-mp} \o Use multiple processors for compiling with MSVC (-MP) \o
+ \row \o \c {-loadconfig <config>} \o Run configure with the parameters from file
+ configure_<config>.cache. \o
+ \row \o \c {-saveconfig <config>} \o Run configure and save the parameters in
+ file configure_<config>.cache. \o
+ \row \o \c {-redo} \o Run configure with the same parameters as last time. \o
+ \endtable
+
+ \section2 Qt for Windows CE only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-iwmmxt} \o Do not compile with use of IWMMXT instructions \o
+ \row \o \c {-iwmmxt} \o Do compile with use of IWMMXT instructions. \o This is
+ for Qt for Windows CE on Arm only. This option denotes a default value and
+ needs to be evaluated. If the evaluation succeeds, the feature is included.
+ \row \o \c {-no-crt} \o Do not add the C runtime to default deployment rules.
+ \o Default value.
+ \row \o \c {-qt-crt} \o Qt identifies C runtime during project generation \o
+ \row \o \c {-crt <path>} \o Specify path to C runtime used for project
+ generation. \o
+ \row \o \c {-no-cetest} \o Do not compile Windows CE remote test application \o
+ \row \o \c {-cetest} \o Compile Windows CE remote test application \o This
+ option denotes a default value and needs to be evaluated. If the evaluation
+ succeeds, the feature is included.
+ \row \o \c {-signature <file>} \o Use file for signing the target project \o
+ \row \o \c {-phonon-wince-ds9} \o Enable Phonon Direct Show 9 backend for
+ Windows CE \o Default value
+ \endtable
+
+ \section2 Qt for Symbian OS only:
+ \table
+ \header \o Option \o Description \o Note
+ \row \o \c {-no-freetype} \o Do not compile in Freetype2 support.
+ \o Default value.
+ \row \o \c {-qt-freetype} \o Use the libfreetype bundled with Qt. \o
+ \row \o \c {-fpu <flags>} \o VFP type on ARM, supported options:
+ softvfp(default) |vfpv2 | softvfp+vfpv2 \o
+ \row \o \c {-no-s60} \o Do not compile in S60 support. \o
+ \row \o \c {-s60} \o Compile with support for the S60 UI Framework
+ \o Default value.
+ \row \o \c {-no-usedeffiles} \o Disable the usage of DEF files. \o
+ \row \o \c {-usedeffiles} \o Enable the usage of DEF files. \o
+ \endtable
*/
diff --git a/doc/src/images/appicon_packagecontents.png b/doc/src/images/appicon_packagecontents.png
new file mode 100644
index 0000000..49cb1e4
--- /dev/null
+++ b/doc/src/images/appicon_packagecontents.png
Binary files differ
diff --git a/doc/src/images/appicon_screenshot.png b/doc/src/images/appicon_screenshot.png
new file mode 100644
index 0000000..c29dd11
--- /dev/null
+++ b/doc/src/images/appicon_screenshot.png
Binary files differ
diff --git a/doc/src/images/cube.png b/doc/src/images/cube.png
new file mode 100644
index 0000000..95dfc98
--- /dev/null
+++ b/doc/src/images/cube.png
Binary files differ
diff --git a/doc/src/images/cube_faces.png b/doc/src/images/cube_faces.png
new file mode 100644
index 0000000..2c7102a
--- /dev/null
+++ b/doc/src/images/cube_faces.png
Binary files differ
diff --git a/doc/src/images/elidedlabel-example.png b/doc/src/images/elidedlabel-example.png
new file mode 100644
index 0000000..741d289
--- /dev/null
+++ b/doc/src/images/elidedlabel-example.png
Binary files differ
diff --git a/doc/src/images/glhypnotizer-demo.png b/doc/src/images/glhypnotizer-demo.png
new file mode 100644
index 0000000..5b7a1ae
--- /dev/null
+++ b/doc/src/images/glhypnotizer-demo.png
Binary files differ
diff --git a/doc/src/images/maemovibration-example.png b/doc/src/images/maemovibration-example.png
new file mode 100644
index 0000000..be975fc
--- /dev/null
+++ b/doc/src/images/maemovibration-example.png
Binary files differ
diff --git a/doc/src/images/multicastreceiver-example.png b/doc/src/images/multicastreceiver-example.png
new file mode 100644
index 0000000..8de11cd
--- /dev/null
+++ b/doc/src/images/multicastreceiver-example.png
Binary files differ
diff --git a/doc/src/images/multicastsender-example.png b/doc/src/images/multicastsender-example.png
new file mode 100644
index 0000000..a619b04
--- /dev/null
+++ b/doc/src/images/multicastsender-example.png
Binary files differ
diff --git a/doc/src/images/orientation-landscape-ui.png b/doc/src/images/orientation-landscape-ui.png
new file mode 100644
index 0000000..c591ff1
--- /dev/null
+++ b/doc/src/images/orientation-landscape-ui.png
Binary files differ
diff --git a/doc/src/images/orientation-landscape.png b/doc/src/images/orientation-landscape.png
new file mode 100644
index 0000000..e606804
--- /dev/null
+++ b/doc/src/images/orientation-landscape.png
Binary files differ
diff --git a/doc/src/images/orientation-portrait-ui.png b/doc/src/images/orientation-portrait-ui.png
new file mode 100644
index 0000000..304835b
--- /dev/null
+++ b/doc/src/images/orientation-portrait-ui.png
Binary files differ
diff --git a/doc/src/images/orientation-portrait.png b/doc/src/images/orientation-portrait.png
new file mode 100644
index 0000000..3d778e8
--- /dev/null
+++ b/doc/src/images/orientation-portrait.png
Binary files differ
diff --git a/doc/src/images/qml-listview-snippet.png b/doc/src/images/qml-listview-snippet.png
new file mode 100644
index 0000000..0ee0ffc
--- /dev/null
+++ b/doc/src/images/qml-listview-snippet.png
Binary files differ
diff --git a/doc/src/images/symbianvibration-example.png b/doc/src/images/symbianvibration-example.png
new file mode 100644
index 0000000..21461b6
--- /dev/null
+++ b/doc/src/images/symbianvibration-example.png
Binary files differ
diff --git a/doc/src/images/webkit-webftpclient.png b/doc/src/images/webkit-webftpclient.png
new file mode 100644
index 0000000..8aa7a12
--- /dev/null
+++ b/doc/src/images/webkit-webftpclient.png
Binary files differ
diff --git a/doc/src/images/webkit-webplugin.png b/doc/src/images/webkit-webplugin.png
new file mode 100644
index 0000000..1594163
--- /dev/null
+++ b/doc/src/images/webkit-webplugin.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 979c654..af418e0 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -36,8 +36,9 @@
What is Qt
\enddiv
\list
- \o \l{Qt Whitepaper}{Qt C++ Framework}
- \o \l{Intro to Qt Quick}{Qt Quick}
+ \o \l{Qt Features Overview}
+ \o \l{How to Learn Qt}
+ \o \l{Introduction to Qt Quick}
\o \l{external: Qt Mobility Manual}{Qt Mobility}
\o \l{Qt WebKit}
\endlist
@@ -49,8 +50,8 @@
\o \l{external: Qt Simulator Manual}{Qt Simulator}
\endlist
\list
+ \o \l{What's New in Qt 4.8} - latest release
\o \l{Supported Platforms}{Platform Support}
- \o \l{What's New in Qt 4.7} - latest release
\endlist
\enddiv
\div {class="sectionlist normallist"}
diff --git a/doc/src/legal/3rdparty.qdoc b/doc/src/legal/3rdparty.qdoc
index 981ad39..ac1bc9d 100644
--- a/doc/src/legal/3rdparty.qdoc
+++ b/doc/src/legal/3rdparty.qdoc
@@ -45,6 +45,10 @@
Run \c{configure -help} to see any options that may be available for
controlling the use of these libraries.
+ Modifications, if any, done to the third-party libraries can
+ normally be found by reviewing the change history of the
+ corresponding files in the public Qt repository.
+
\tableofcontents
\section1 DES (\c des.cpp)
@@ -126,7 +130,7 @@
See \c src/3rdparty/harfbuzz/COPYING for license details.
- \section1 The Independent JPEG Group's JPEG Software (\c libjpeg) version 8
+ \section1 The Independent JPEG Group's JPEG Software (\c libjpeg) version 8c
\e{This package contains C software to implement JPEG image compression and
decompression. JPEG (pronounced "jay-peg") is a standardized compression
@@ -142,6 +146,49 @@
\hr
+ The authors make NO WARRANTY or representation, either express or implied,
+ with respect to this software, its quality, accuracy, merchantability, or
+ fitness for a particular purpose. This software is provided "AS IS", and you,
+ its user, assume the entire risk as to its quality and accuracy.
+
+ This software is copyright (C) 1991-2010, Thomas G. Lane, Guido Vollbeding.
+ All Rights Reserved except as specified below.
+
+ Permission is hereby granted to use, copy, modify, and distribute this
+ software (or portions thereof) for any purpose, without fee, subject to these
+ conditions:\br
+ (1) If any part of the source code for this software is distributed, then this
+ README file must be included, with this copyright and no-warranty notice
+ unaltered; and any additions, deletions, or changes to the original files
+ must be clearly indicated in accompanying documentation.\br
+ (2) If only executable code is distributed, then the accompanying
+ documentation must state that "this software is based in part on the work of
+ the Independent JPEG Group".\br
+ (3) Permission for use of this software is granted only if the user accepts
+ full responsibility for any undesirable consequences; the authors accept
+ NO LIABILITY for damages of any kind.
+
+ These conditions apply to any software derived from or based on the IJG code,
+ not just to the unmodified library. If you use our work, you ought to
+ acknowledge us.
+
+ Permission is NOT granted for the use of any IJG author's name or company name
+ in advertising or publicity relating to this software or products derived from
+ it. This software may be referred to only as "the Independent JPEG Group's
+ software".
+
+ We specifically permit and encourage the use of this software as the basis of
+ commercial products, provided that all warranty or liability claims are
+ assumed by the product vendor.
+
+ \hr
+
+ The Graphics Interchange Format(c) is the Copyright property of
+ CompuServe Incorporated. GIF(sm) is a Service Mark property of
+ CompuServe Incorporated.
+
+ \hr
+
See \c src/3rdparty/libjpeg/README for license details.
\section1 MD4 (\c md4.cpp and \c md4.h)
@@ -178,51 +225,99 @@
See \c src/3rdparty/libmng/LICENSE for license details.
- \section1 PNG Reference Library (\c libpng) version 1.4.0
+ \section1 PNG Reference Library (\c libpng) version 1.5.1
\e{Libpng was written as a companion to the PNG specification, as a way
of reducing the amount of time and effort it takes to support the PNG
file format in application programs.} -- quoted from \c
- src/3rdparty/libpng/libpng.txt.
+ src/3rdparty/libpng/libpng-manual.txt.
\hr
- copyright (C) 1999 by Willem van Schaik <willem@schaik.com>
-
- version 1.0 - 1999.10.15 - First version.
-
- Permission to use, copy, modify, and distribute this software and
- its documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and
- that both that copyright notice and this permission notice appear in
- supporting documentation. This software is provided "as is" without
- express or implied warranty.
-
- \hr
-
- Copyright (c) 1998-2001 Greg Roelofs. All rights reserved.
-
- This software is provided "as is," without warranty of any kind,
- express or implied. In no event shall the author or contributors
- be held liable for any damages arising in any way from the use of
- this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute
- it freely, subject to the following restrictions:
-
- 1. Redistributions of source code must retain the above copyright
- notice, disclaimer, and this list of conditions.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, disclaimer, and this list of conditions in the documenta-
- tion and/or other materials provided with the distribution.
- 3. All advertising materials mentioning features or use of this
- software must display the following acknowledgment:
-
- This product includes software developed by Greg Roelofs
- and contributors for the book, "PNG: The Definitive Guide,"
- published by O'Reilly and Associates.
-
+ libpng versions 1.2.6, August 15, 2004, through 1.5.1, February 3, 2011, are
+ Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.2.5
+ with the following individual added to the list of Contributing Authors
+
+ Cosmin Truta
+
+ libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-1.0.6
+ with the following individuals added to the list of Contributing Authors
+
+ Simon-Pierre Cadieux\br
+ Eric S. Raymond\br
+ Gilles Vollant
+
+ and with the following additions to the disclaimer:
+
+ There is no warranty against interference with your enjoyment of the
+ library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes
+ or needs. This library is provided with all faults, and the entire
+ risk of satisfactory quality, performance, accuracy, and effort is with
+ the user.
+
+ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+ Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
+ distributed according to the same disclaimer and license as libpng-0.96,
+ with the following individuals added to the list of Contributing Authors:
+
+ Tom Lane\br
+ Glenn Randers-Pehrson\br
+ Willem van Schaik
+
+ libpng versions 0.89, June 1996, through 0.96, May 1997, are
+ Copyright (c) 1996, 1997 Andreas Dilger
+ Distributed according to the same disclaimer and license as libpng-0.88,
+ with the following individuals added to the list of Contributing Authors:
+
+ John Bowler\br
+ Kevin Bracey\br
+ Sam Bushell\br
+ Magnus Holmgren\br
+ Greg Roelofs\br
+ Tom Tanner
+
+ libpng versions 0.5, May 1995, through 0.88, January 1996, are
+ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+
+ For the purposes of this copyright and license, "Contributing Authors"
+ is defined as the following set of individuals:
+
+ Andreas Dilger\br
+ Dave Martindale\br
+ Guy Eric Schalnat\br
+ Paul Schmidt\br
+ Tim Wegner
+
+ The PNG Reference Library is supplied "AS IS". The Contributing Authors
+ and Group 42, Inc. disclaim all warranties, expressed or implied,
+ including, without limitation, the warranties of merchantability and of
+ fitness for any purpose. The Contributing Authors and Group 42, Inc.
+ assume no liability for direct, indirect, incidental, special, exemplary,
+ or consequential damages, which may result from the use of the PNG
+ Reference Library, even if advised of the possibility of such damage.
+
+ Permission is hereby granted to use, copy, modify, and distribute this
+ source code, or portions hereof, for any purpose, without fee, subject
+ to the following restrictions:
+
+ 1. The origin of this source code must not be misrepresented.
+
+ 2. Altered versions must be plainly marked as such and must not
+ be misrepresented as being the original source.
+
+ 3. This Copyright notice may not be removed or altered from any
+ source or altered source distribution.
+
+ The Contributing Authors and Group 42, Inc. specifically permit, without
+ fee, and encourage the use of this source code as a component to
+ supporting the PNG file format in commercial products. If you use this
+ source code in a product, acknowledgment is not required but would be
+ appreciated.
+
\hr
See \c src/3rdparty/libpng/LICENSE for license details.
@@ -277,7 +372,7 @@
\l{http://www.sqlite.org/copyright.html}{SQLite Copyright} page on the
SQLite web site for further information.
- \section1 TIFF Software Distribution (\c libtiff) version 3.8.2
+ \section1 TIFF Software Distribution (\c libtiff) version 3.9.2
\e {libtiff is a set of C functions (a library) that support the
manipulation of TIFF image files.} -- quoted from \c
@@ -406,13 +501,35 @@
See \c src/3rdparty/wintab/wintab.h for license details.
- \section1 Data Compression Library (\c zlib) version 1.2.3
+ \section1 Data Compression Library (\c zlib) version 1.2.5
\e{zlib is a general purpose data compression library. All the code
is thread safe. The data format used by the zlib library is described
by RFCs (Request for Comments) 1950 to 1952} -- quoted from \c
src/3rdparty/zlib/README.
+ \hr
+
+ Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.\br
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.\br
+ 3. This notice may not be removed or altered from any source distribution.
+
+ \hr
+
See \c src/3rdparty/zlib/README for license details.
\section1 JavaScriptCore
diff --git a/doc/src/network-programming/qtnetwork.qdoc b/doc/src/network-programming/qtnetwork.qdoc
index a5013e1..93ba248 100644
--- a/doc/src/network-programming/qtnetwork.qdoc
+++ b/doc/src/network-programming/qtnetwork.qdoc
@@ -257,8 +257,13 @@
QUdpSocket::readDatagram() to read the datagram.
The \l{network/broadcastsender}{Broadcast Sender} and
- \l{network/broadcastreceiver}{Broadcast Receiver} examples show
- how to write a UDP sender and a UDP receiver using Qt.
+ \l{network/broadcastreceiver}{Broadcast Receiver} examples show how to
+ write a UDP sender and a UDP receiver using Qt.
+
+ QUdpSocket also supports multicasting. The
+ \l{network/multicastsender}{Multicast Sender} and
+ \l{network/multicastreceiver}{Multicast Receiver} examples show how to use
+ write UDP multicast clients.
\section1 Resolving Host Names using QHostInfo
diff --git a/doc/src/platforms/emb-install.qdoc b/doc/src/platforms/emb-install.qdoc
index eb12cd4..e5dc6f8 100644
--- a/doc/src/platforms/emb-install.qdoc
+++ b/doc/src/platforms/emb-install.qdoc
@@ -74,6 +74,9 @@
\snippet doc/src/snippets/code/doc_src_emb-install.qdoc embedded help
+ The \l{Configuration Options for Qt} page gives a brief overview
+ of these.
+
Note that by default, \l{Qt for Embedded Linux} is configured for
installation in the \c{/usr/local/Trolltech/QtEmbedded-%VERSION%}
directory, but this can be changed by using the \c{-prefix}
diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc
index 9a37646..0b1265b 100644
--- a/doc/src/platforms/platform-notes-rtos.qdoc
+++ b/doc/src/platforms/platform-notes-rtos.qdoc
@@ -160,7 +160,7 @@
X11 embedded server is not recommended due to missing support for X11 extensions,
resulting in poor rendering quality.
- Qt for QNX contains experimental screen and input drivers based on QNX's
+ Qt for QNX contains screen and input drivers based on QNX's
\c devi-hid and \c io-display. For more information, check the class documentation
for QQnxScreen, QWSQnxKeyboardHandler and QQnxMouseHandler. See the
\l{Porting Qt for Embedded Linux to a New Architecture} document for information
@@ -170,7 +170,7 @@
\section1 Supported Versions
- Qt has been tested on QNX 6.4 on i386 and PowerPC targets with QNX's default
+ Qt has been tested on QNX 6.5 on i386, ARM/ARM-v7 and PowerPC targets with QNX's default
gcc compiler.
\section1 Limitations
@@ -179,16 +179,12 @@
\table
\header \o Function \o Notes
- \row \o QProcess
- \o Not available - QNX doesn't support mixing threads and processes.
- \row \o QSharedMemory
- \o Not available - QNX doesn't support SYSV style shared memory.
- \row \o QSystemSemaphore
- \o Not available - QNX doesn't support SYSV style system semaphores.
- \row \o QWS Multi Process
- \o QT_NO_QWS_MULTIPROCESS is always on due to missing shared memory support.
\row \o Phonon
\o There is no standard audio backend, which could be integrated into Phonon.
+ \row \o QtMultimedia
+ \o There is no standard backend, which could be integrated into QtMultimedia.
+ \row \o QtDBus
+ \o The the QtDBus library is not available on QNX.
\row \o Qt3Support
\o The Qt3Support library is not available on QNX.
\endtable
@@ -203,24 +199,25 @@
i386 QNX target:
\code
- configure -xplatform unsupported/qws/qnx-i386-g++ -embedded i386 -no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -no-qt3support -qt-gfx-qnx -qt-mouse-qnx -qt-kbd-qnx -no-exceptions
+ configure -xplatform unsupported/qws/qnx-i386-g++ -embedded x86 -no-gfx-linuxfb -no-mouse-linuxtp -no-kbd-tty -no-qt3support -qt-mouse-qnx -qt-kbd-qnx -qt-gfx-qnx -depths 16,24,32,generic -no-exceptions
\endcode
\list
\o \c{-xplatform unsupported/qws/qnx-i386-g++} - selects the i386-g++ mkspec for QNX
- \o \c{-embedded i386} - builds the embedded version of Qt and sets the architecture to i386
+ \o \c{-embedded x86} - builds the embedded version of Qt and sets the architecture to i386
\o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp} and \c{-no-kbd-tty} are Linux specific and won't work on QNX
\o \c{-no-qt3support} - required since the Qt3 support classes are not supported on QNX
\o \c{-no-exceptions} - reduces the size of the library by disabling exception support
- \o \c{-qt-gfx-qnx} - enables the experimental \c{io-graphics} based display driver
- \o \c{-qt-mouse-qnx} - enables the experimental \c{devi-hig} based mouse driver
- \o \c{-qt-kbd-qnx} - enables the experimental \c{devi-hig} based keyboard driver
+ \o \c{-qt-mouse-qnx} - enables the \c{devi-hid} based mouse driver
+ \o \c{-qt-kbd-qnx} - enables the \c{devi-hid} based keyboard driver
+ \o \c{-qt-gfx-qnx} - enables the \c{io-graphics} based screen driver
+ \o \c{-depths 16,24,32,generic} - enables all modes supported by the QNX screen driver
\endlist
\section1 General Notes
\list
- \o To enable the experimental QNX display and input drivers, \c{io-display} needs to be
+ \o To enable the QNX screen and input drivers, \c{io-display} needs to be
up and running. The \c devi-hid based Qt input drivers require \c devi-hid to run
in resource mode without Photon support. To enable a standard mouse and keyboard
combination, run \c devi-hid as follows: \c{/usr/photon/bin/devi-hid -Pr kbd mouse}.
@@ -235,8 +232,8 @@
with a newer version, or disable the TIFF plugin entierly by appending
\c{QT_CONFIG += no-tiff} to \c{.qmake.cache} after configuring Qt.
- \o Some of the tools, examples and demos do not compile due to dependencies on QProcess
- or other classes that are not available on QNX.
+ \o Some of the tools, examples and demos do not compile due to dependencies on classes
+ that are not available on QNX.
\endlist
\section1 Platform Regressions
@@ -244,4 +241,121 @@
Qt for QNX's behavior is mostly identical with \l{Qt for Embedded Linux}. However,
some regressions were spotted in QDateTime computation around year 0 and year 1970,
which have been tracked back to faulty time zone data on some QNX versions.
+
+ QString::localeAwareCompare() only works for C locale.
+
+ QTranslator's default locale-based fallback mechanism doesn't work.
+
+ QSystemSemaphore: Due to POSIX semaphores limitations, the semaphore operations aren't
+ automatically undone when the process terminates. This potentially may lead to unexpected
+ lock-ups in applications which does use the SysV semaphores behavior.
+*/
+
+/*!
+ \page platform-notes-integrity.html
+ \title Platform Notes - INTEGRITY
+ \contentspage Platform Notes
+ \target INTEGRITY
+
+ \note INTEGRITY is a community supported platform. See the
+ \l{Supported Platforms} page for more information.
+
+ This page contains information about the Qt for INTEGRITY port. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+
+ Note that Qt for INTEGRITY is currently based on \l{Qt for Embedded Linux},
+ which contains its own windowing system.
+
+ Qt for INTEGRITY contains experimental screen and input drivers based on the
+ gh_FB Framebuffer API for graphics, a Connection-based mouse and keyboard
+ support. For information about these drivers, please refer to Green Hills
+ Software standard support.
+
+ \tableofcontents
+
+ \section1 Supported Versions
+
+ Qt has been tested on INTEGRITY 10 on various PowerPC, ARM and x86 targets.
+ On some platforms a native graphics FrameBuffer driver is available and has
+ then been used for testing. On all other platforms, the default FrameBuffer
+ VNC driver is used.
+
+ \section1 Limitations
+
+ Some of Qt's functionality is currently not available on INTEGRITY:
+
+ \table
+ \header \o Function \o Notes
+ \row \o QProcess
+ \o Not implemented. Volunteers welcome.
+ \row \o QSharedMemory
+ \o Not available - INTEGRITY doesn't support SYSV style shared memory.
+ \row \o QSystemSemaphore
+ \o Not available - INTEGRITY doesn't support SYSV style system semaphores.
+ \row \o QWS Multi Process
+ \o QT_NO_QWS_MULTIPROCESS is always on due to missing shared memory support.
+ \row \o Phonon
+ \o There is no standard audio backend.
+ \row \o Qt3Support
+ \o The Qt3Support library is not available on INTEGRITY.
+ \row \o QtScript
+ \o Not available - INTEGRITY's mmap() doesn't support allocating memory.
+ \endtable
+
+ \section1 Build Instructions
+
+ Qt for INTEGRITY can be built on either a Linux or Windows (with cygwin) host.
+ In both cases, a standard installation of INTEGRITY is required, with the
+ addition of the FrameBuffer API.
+
+ Example configure line for cross-compiling Qt for INTEGRITY for an
+ ARM INTEGRITY target:
+
+ \code
+ ./configure --hostprefix=$PWD -embedded integrity -xplatform unsupported/qws/integrity-arm-cxarm -static -qt-kbd-integrity -qt-mouse-integrity -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty -qt-gfx-integrityfb -no-qt3support -no-gfx-linuxfb -no-glib -no-openssl -no-largefile -little-endian -arch integrity -prefix / -opensource -no-feature-QWS_MULTIPROCESS -no-feature-SHAREDMEMORY -no-feature-PROCESS -no-feature-SYSTEMSEMAPHORE -no-feature-PRINTER -no-feature-QWS_QPF2 -no-scripttools
+ \endcode
+
+ \list
+ \o \c{--hostprefix=$PWD} - specifies the current directory as the base source for Qt
+ \o \c{-arch integrity} - sets the architecture to INTEGRITY (for atomic operations)
+ \o \c{-embedded integrity} - builds the embedded version of Qt and sets the architecture to INTEGRITY
+ \o \c{-xplatform unsupported/qws/integrity-arm-cxarm} - selects the arm-cxarm mkspec for INTEGRITY
+ \o \c{-static} - specifies a static build of Qt
+ \o \c{-no-gfx-linuxfb}, \c{-no-mouse-linuxtp}, \c{-no-mouse-pc} and \c{-no-kbd-tty} are Linux specific and won't work on INTEGRITY
+ \o \c{-no-qt3support} - required since the Qt3 support classes are not supported on INTEGRITY
+ \o \c{-no-exceptions} - reduces the size of the library by disabling exception support
+ \o \c{-no-openssl} - disable support for OpenSSL
+ \o \c{-no-glib} - disable support for unavailable Glib
+ \o \c{-no-largefile} - disable support for large (> 2TB) files
+ \o \c{-no-scripttools} - disable support for QtScript tools
+ \o \c{-qt-gfx-integrity} - enables the experimental gh_FB based display driver
+ \o \c{-qt-mouse-integrity} - enables the experimental Connection-based mouse driver
+ \o \c{-qt-kbd-integrity} - enables the experimental Connection-based keyboard driver
+ \endlist
+
+ The above script will generate MULTI .gpj Project files, not Makefiles. The
+ main benefit of using these project files is automatic dependency checking,
+ but this also provides an organization known to INTEGRITY customers.
+ For Qt libraries, the top-level file is projects.gpj.
+
+ \section1 General Notes
+
+ \list
+ \o Before you run the above configure line, you may want to modify the values
+ of INTEGRITY_DIR and INTEGRITY_BSP in unsupported/qws/integrity-arm-cxarm/qmake.conf.
+ If you do not do this, you will have to modify the resulting generated projects.gpj
+
+ \o GIF support is currently not enabled.
+
+ \o Default .int files are generated. You may want to modify the amount of heap assigned
+ to each example by modifying the HeapSize declaration in the specific example .int file.
+
+ \o Some of the tools, examples and demos do not compile due to dependencies on QProcess
+ or other classes that are not available on INTEGRITY.
+
+ \endlist
+
+ \section1 Platform Regressions
+
*/
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index 231c58a..175cf1c 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -602,6 +602,69 @@
problem, it probably is a good idea to turn off precompiled headers.
Also, consider filing a bug report with Apple so that they can
improve support for this feature.
+
+ \section2 Attributes
+ The following lists a set of useful attributes that can be used to tweak applications
+ on Mac:
+
+ Qt::AA_MacPluginApplication, Qt::AA_DontUseNativeMenuBar, Qt::AA_MacDontSwapCtrlAndMeta
+ Qt::WA_MacNoClickThrough, Qt::WA_MacOpaqueSizeGrip, Qt::WA_MacShowFocusRect,
+ Qt::WA_MacNormalSize, Qt::WA_MacSmallSize, Qt::WA_MacMiniSize, Qt::WA_MacVariableSize,
+ Qt::WA_MacBrushedMetal, Qt::WA_MacAlwaysShowToolWindow, Qt::WA_MacFrameworkScaled,
+ Qt::WA_MacNoShadow, Qt::Sheet, Qt::Drawer, Qt::MacWindowToolBarButtonHint,
+ QMainWindow::unifiedTitleAndToolBarOnMac, WA_MacNoCocoaChildWindow
+
+ \section2 Mixing Qt with native code
+ Two classes are awailable for either adding native Cocoa views/controls
+ inside a Qt application, or the opposite, embedding Qt into a native
+ Cocoa application:
+
+ QMacCocoaViewContainer, QMacNativeWidget
+
+ \section3 Using native Cocoa panels
+ Launching native Cocoa panels from within a Qt application can sometimes
+ be problematic. The reason is that Qt's event dispatcher is more flexible
+ than what Cocoa offers, and lets the user spin the event dispatcher (and
+ running QEventLoop::exec) without having to think about whether or not modal
+ dialogs are showing on screen (which is a difference to Cocoa). Therefore
+ we need to do special bookkeeping in Qt to handle this correctly, which
+ unfortunately make mixing in native panels hard. The best way at the moment
+ to do this, is to follow the pattern below, where we post the call to the
+ function with native code rather than calling it directly. Then we know that
+ Qt has cleanly updated any pending event loop recursions before the native
+ panel is shown:
+
+ \code
+ #include <QtGui>
+
+ class NativeProxyObject : public QObject
+ {
+ Q_OBJECT
+ public slots:
+ void execNativeDialogLater()
+ {
+ QMetaObject::invokeMethod(this, "execNativeDialogNow", Qt::QueuedConnection);
+ }
+
+ void execNativeDialogNow()
+ {
+ NSRunAlertPanel(@"A Native dialog", @"", @"OK", @"", @"");
+ }
+
+ };
+
+ #include "main.moc"
+
+ int main(int argc, char **argv){
+ QApplication app(argc, argv);
+ NativeProxyObject proxy;
+ QPushButton button("Show native dialog");
+ QObject::connect(&button, SIGNAL(clicked()), &proxy, SLOT(execNativeDialogLater()));
+ button.show();
+ return app.exec();
+ }
+
+ \endcode
*/
/*!
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 9d47695..ba59c37 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -334,8 +334,8 @@
\section2 Advanced Text Layout Engine
- Qt for Windows CE supports TrueType® and raster fonts. Qt also has
- extended Unicode support and right-to-left languages. Qt’s rich text
+ Qt for Windows CE supports TrueType and raster fonts. Qt also has
+ extended Unicode support and right-to-left languages. Qt's rich text
engine adds capabilities for complex text layouts including tables,
path tracing and text which flows around shapes.
@@ -373,7 +373,7 @@
by embedded Linux. You can use Qt to create highly memory efficient
devices and applications that have completely unique user experiences.
- Qt runs anywhere Linux runs. Qt’s intuitive API means fewer lines of
+ Qt runs anywhere Linux runs. Qt's intuitive API means fewer lines of
code and higher level functionality in less time. Use the code from
one single code-base and rebuild for all \l{Supported Platforms}
{supported platforms}.
@@ -410,7 +410,7 @@
frame buffer} that will match the physical device display, pixel for
pixel. This gives the developer a realistic testing infrastructure
testing on the desktop where the frame buffer simulates the physical
- device display’s width, height and color depth.
+ device display's width, height and color depth.
\section2 Inter-Process Communication (IPC)
@@ -421,7 +421,7 @@
\section2 Extended Font Format
Qt supports a wide range of font formats on embedded Linux including:
- TrueType®, Postscript® Type1 and Qt pre-rendered fonts. Qt has
+ TrueType, Postscript Type1 and Qt pre-rendered fonts. Qt has
extended Unicode support including automatic data extraction at build
time and automatic update at runtime.
@@ -681,7 +681,7 @@
\group platform-details
Qt is a cross-platform application and UI framework. Using Qt,
- you can write web-enabled applications once and deploy them
+ you can write GUI applications once and deploy them
across desktop, mobile and embedded operating systems without
rewriting the source code.
diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc
index 2a5d5b1..9b1eea2 100644
--- a/doc/src/platforms/symbian-introduction.qdoc
+++ b/doc/src/platforms/symbian-introduction.qdoc
@@ -55,7 +55,7 @@
\endlist
\o
\list
- \o \l {Deploying an Application on the Symbian platform}{Deploying Applications}
+ \o \l {Deploying an Application on the Symbian Platform}{Deploying Applications}
\endlist
\endtable
*/
@@ -152,9 +152,9 @@
when application \c .sis needs to be separately signed before
including it into smart installer \c .sis.
\row \o \c unsigned_installer_sis \o Create unsigned \l{Smart Installer}{smart installer}
- \c .sis file for project.
- Note: The application \c .sis contained in smart installer
- \c .sis will also be unsigned.
+ \c .sis file for project.
+ Note: The application \c .sis contained in smart installer
+ \c .sis will also be unsigned.
\row \o \c stub_sis \o Create a stub sis to allow upgradability of projects
that are deployed in ROM
\endtable
diff --git a/doc/src/porting/porting4.qdoc b/doc/src/porting/porting4.qdoc
index 8305bb9..490a81b 100644
--- a/doc/src/porting/porting4.qdoc
+++ b/doc/src/porting/porting4.qdoc
@@ -2374,8 +2374,8 @@
pointer to a QObjectList. See also the comments on QObjectList
below.
- Use QObject::findChildren() (or qFindChildren() if you need MSVC 6
- compatibility) instead of QObject::queryList(). For example:
+ Use QObject::findChildren() instead of QObject::queryList().
+ For example:
\snippet doc/src/snippets/code/doc_src_porting4.cpp 18
diff --git a/doc/src/qt-features.qdoc b/doc/src/qt-features.qdoc
new file mode 100644
index 0000000..0ae00b0
--- /dev/null
+++ b/doc/src/qt-features.qdoc
@@ -0,0 +1,204 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms
+** and conditions contained in a signed written agreement between you
+** and Nokia.
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qt-overview.html
+ \title Qt Features Overview
+
+ This document provides a summary of the most important features of Qt,
+ providing links to other pages in the documentation that cover these
+ features in more detail. It is not intended to be a comprehensive
+ guide to Qt's features.
+
+ \section1 Fundamental Technologies in Qt
+
+ Qt is built upon a set of core technologies, provided by the \l QtCore
+ and \l QtGui modules. These include the following:
+
+ \list
+ \o \l{The Tulip Container Classes}, a set of template container classes.
+ \o \l{The Arthur Paint System}, the Qt 4 painting framework.
+ \o \l{The Interview Framework}, a model/view architecture for item views
+ and the \l{QtSQL Module}, which also uses this architecture.
+ \o \l{The Scribe Classes}, a framework for creating text documents,
+ performing low-level text layout and writing OpenDocument files.
+ \o A collection of \l{Qt Widget Gallery}{common desktop widgets}, styled
+ to fit in on each supported platform.
+ \o \l{The Qt 4 Main Window Classes}, a main window, toolbar, menu, and
+ docking architecture.
+ \o The \l{Graphics View} framework provides a canvas for producing
+ interactive graphics.
+ \o The \l{QtNetwork Module} provides support for TCP, UDP and local
+ sockets that are integrated with Qt's event model, including support
+ for Secure Socket Layer (SSL) communications,
+ \l{QNetworkProxy}{network proxy} servers and
+ \l{Bearer Management}{network bearer management}.
+ \o Enhanced \l{qt4-threads.html}{thread support} allows
+ \l{Signals & Slots}{signal-slot} connections across threads and
+ per-thread event loops.
+ Additionally, \l{Thread Support in Qt}{a framework for concurrent programming}
+ using Qt paradigms makes common threading tasks easier.
+ \o A \l{resource system} for embedding images and other resource files
+ into executable files makes it easier to deploy applications.
+ \o A \l{QTestLib Manual}{unit testing framework} for Qt applications and
+ libraries.
+ \endlist
+
+ The mature classes provided by these technologies have been used to build
+ robust, cross-platform desktop applications. They are augmented by a number
+ of additional technologies and improvements that have appeared over the
+ lifetime of Qt 4.
+
+ \section1 Graphical User Interfaces
+
+ \div{class="float-right"}
+ \inlineimage gtk-tabwidget.png
+ \enddiv
+ \div{class="float-right"}
+ \inlineimage gtk-progressbar.png
+ \br
+ \inlineimage gtk-checkbox.png
+ \br
+ \inlineimage plastique-combobox.png
+ \br
+ \inlineimage plastique-radiobutton.png
+ \enddiv
+
+ Alongside the support for traditional desktop user interfaces, Qt includes
+ support for declarative UI development with \l{Qt Quick}, a set of
+ technologies for creating fluid, dynamic user interfaces. A starting point
+ for exploring this approach can be found in the \l{Introduction to Qt Quick}
+ guide.
+
+ Qt provides a range of standard user interface elements, called widgets,
+ for each supported platform. Widgets can be used as containers for other
+ widgets, as windows, and as regular controls that the user interacts with.
+ Where the platform supports it, widgets can be made to appear partially
+ transparent, and may be styled with \l{Qt Style Sheets}.
+
+ Support for \l{QTouchEvent}{touch input} and \l{Gestures Programming}{gestures}
+ enable widgets to be used to create intuitive user interfaces for
+ touch-enabled devices.
+
+ User interfaces can also be created dynamically at run-time with the
+ features provided by the \l{QtUiTools} module.
+
+ A selection of available widgets are shown in the \l{Qt Widget Gallery}.
+ An introduction to the concepts behind widgets can be found in the
+ \l{Widgets Tutorial}.
+
+ \clearfloat
+ \section1 Painting, Printing and Rendering
+
+ \div{class="float-left"}
+ \inlineimage qpainter-affinetransformations.png
+ \enddiv
+
+ Widgets are just one of many kinds of paint device that Qt can render onto.
+ This support for unified painting makes it possible for applications to use
+ the same painting code for different tasks, as well as allowing Qt to be
+ extended to support additional file formats.
+
+ Qt provides support for common bitmap image formats,
+ \l{QtSvg Module}{Scalable Vector Graphics} (SVG) drawings and animations,
+ Postscript and Portable Document Format (PDF) files. Postscript and PDF are
+ integrated with \l{Printing with Qt}{Qt's printing system}, which also
+ allows printed output to be previewed.
+
+ Interactive graphics can be created with the
+ \l{The Animation Framework}{animation framework}, allowing animations to be
+ used with both widgets and graphics items. Animations can be used with the
+ \l{The State Machine Framework}{state machine framework}, which provides a
+ way to express application logic and integrate it with the user interface.
+ Animations can be enhanced with a collection of
+ \l{QGraphicsEffect}{graphics effects} that operate on graphics items and
+ can be applied individually or combined to create more complex effects.
+
+ Qt supports integration with \l{QtOpenGL}{OpenGL} on a number of levels,
+ providing convenience functions for handling textures and colors, as well
+ as providing support for pixel and sample buffers. Future support for
+ higher level 3D integration is provided by Qt3D enablers which include
+ \l{QMatrix4x4}{matrix multiplication}, \l{QQuaternion}{quaternions}, and an
+ API for \l{QGLShader}{vertex and fragment shaders}.
+
+ Two APIs are provided for multimedia. The
+ \l{Phonon Overview}{Phonon Multimedia Framework} has traditionally been
+ used on desktop platforms. A set of
+ \l{QtMultimedia Module}{multimedia services} provides low-level access to
+ the system's audio system and is often used on mobile devices.
+
+ \clearfloat
+ \section1 Infrastructure
+
+ \div{class="float-right"}
+ \inlineimage qtscript-context2d.png
+ \enddiv
+
+ Facilities for Inter-Process Communication (IPC) and Remote Procedure
+ Calling (RPC) mechanisms are available on platforms that support the
+ \l{intro-to-dbus.html}{D-Bus} message bus system.
+
+ An \l{Undo Framework}{Undo framework} based on the
+ \l{Books about GUI Design#Design Patterns}{Command pattern} is designed to
+ enable a consistent approach to handling data in editing applications.
+
+ The \l{QtScript} and \l{QtScriptTools} modules provide support for
+ application scripting and debugging using the ECMAScript language.
+
+ The \l{QtHelp Module} provides the foundations of an interactive help
+ system that can be used in conjunction with Qt Creator or integrated into
+ applications directly.
+
+ XML handling is supported in a number of places in Qt. The \l QtCore module
+ provides classes for reading and writing XML streams. The \l QtXmlPatterns
+ module includes XQuery, XPath and XSLT support, providing facilities for
+ XML processing beyond that supported by the QtXml module, which contains
+ SAX and DOM parsers. XML schema validation in the QtXmlPatterns module
+ covers large parts of version 1.0 of the specification.
+
+ \clearfloat
+ \section1 Web Client Integration
+
+ Integration between \l{Webkit in Qt}{Qt and WebKit} makes it possible for
+ developers to use a fully-featured Web browser engine to display documents
+ and access online services. Developers can access the browser's environment
+ to create documents and run scripts within one or more browser widgets.
+
+ A \l{QWebElement}{DOM access API} for QtWebKit provides a cleaner and safer
+ way to access elements and structures of Web pages without the use of
+ JavaScript.
+
+ \section1 Further Reading
+
+ Many of the technologies mentioned here, as well as other, more specific
+ features, are listed in the \l{What's New in Qt 4} document. A complete
+ list of Qt's modules can be found on the \l{All Modules} page, which
+ also includes more domain-specific technologies.
+
+ The tools that are supplied with Qt are covered by the listing in the
+ \l{Qt's Tools} document.
+*/
diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc
index 742de73..c993575 100644
--- a/doc/src/qt-webpages.qdoc
+++ b/doc/src/qt-webpages.qdoc
@@ -65,6 +65,10 @@
\title Visual Studio Integration
*/
/*!
+ \externalpage http://qt.nokia.com/products/developer-tools
+ \title Qt Creator Product Page
+*/
+/*!
\externalpage http://qt.nokia.com/products/add-on-products/catalog/4/Widgets/qtcalendarwidget/
\title Calendar Widget
*/
@@ -141,7 +145,7 @@
\title Task Tracker
*/
/*!
- \externalpage http://lists.trolltech.com
+ \externalpage http://lists.qt.nokia.com/
\title Qt Mailing Lists
*/
/*!
@@ -200,7 +204,10 @@
\externalpage http://labs.qt.nokia.com
\title Qt Labs
*/
-
+/*!
+ \externalpage http://doc.qt.nokia.com/
+ \title Qt Docs Web Start Page
+*/
/*!
\externalpage http://doc.qt.nokia.com/qtcreator/creator-qml-application.html
\title external: Developing Qt Quick Applications with Creator
@@ -210,6 +217,14 @@
\title Qt Coding Style
*/
/*!
+ \externalpage http://developer.qt.nokia.com/forums
+ \title Forums on Qt Developer Network
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/wikis
+ \title Wiki on Qt Developer Network
+*/
+/*!
\externalpage http://developer.qt.nokia.com/wiki/QtCreatorWhitepaper
\title Qt Creator Whitepaper
*/
@@ -250,6 +265,10 @@
\title external: Qt Simulator Manual
*/
/*!
+ \externalpage http://qt.nokia.com/products/qt-sdk
+ \title Qt SDK Product Page
+*/
+/*!
\externalpage http://doc.qt.nokia.com/nokia-qtsdk-latest/index.html
\title external: Qt SDK Manual
*/
@@ -298,6 +317,14 @@
\title external: Mobility Location
*/
/*!
+ \externalpage http://qt.nokia.com/partners/training/
+ \title Qt Training Partners
+*/
+/*!
+ \externalpage http://qt.nokia.com/partners/training/course-schedule
+ \title Open Enrollment Qt Training Courses
+*/
+/*!
\externalpage http://qt.nokia.com/developer/learning/online/training/training-day-at-developer-days-2009/
\title Training Day at Qt Developer Days 2009
*/
@@ -306,6 +333,10 @@
\title external: Qt Mobility Examples
*/
/*!
+ \externalpage http://developer.qt.nokia.com/elearning
+ \title Qt Video Portal
+*/
+/*!
\externalpage http://qt.nokia.com/developer/learning/online/training
\title Qt eLearning
*/
@@ -317,4 +348,209 @@
\externalpage http://qt.nokia.com/developer/learning/online/talks/developerdays2010
\title Qt Developer Days 2010
*/
+/*!
+ \externalpage http://developer.qt.nokia.com/wiki/Category:LanguageBindings
+ \title Qt Language Bindings on Wiki
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_ics_part_1
+ \title Qt Essentials by ICS part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_ics_part_2
+ \title Qt Essentials by ICS part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_kdab_part_1
+ \title Qt Essentials by KDAB part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_programming_essentials_by_kdab_part_2
+ \title Qt Essentials by KDAB part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_qgraphicsview_by_ics
+ \title QGraphicsView by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_qgraphicsview_by_kdab
+ \title QGraphicsView by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_multithreading_by_ics
+ \title Multithreading by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_multithreading_by_kdab
+ \title Multithreading by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_ui_development_with_qt_by_ics
+ \title UI Development with Qt by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_ui_development_with_qt_by_kdab
+ \title UI Development with Qt by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_embedded_development_by_basyskom
+ \title Embedded Development by basysKom
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/training_teaser_embedded_development_by_ics
+ \title Embedded Development by ICS
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_model_view_programming_by_basyskom
+ \title ModelView Programming by basysKom
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_model_view_programming_by_kdab
+ \title ModelView Programming by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/programming_with_qt_webkit_by_kdab
+ \title QWebKit by KDAB
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_introduction_to_qt_quick_part_1_4
+ \title Quick by KDAB part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_user_interaction_user_input_and_states_part_2_4
+ \title Quick by KDAB part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_animations_and_visual_effects_part_3_4
+ \title Quick by KDAB part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_quick_small_projects_arranging_items_qmlcomponentsand_debugging_qml_part
+ \title Quick by KDAB part 4
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_mobile_development_for_nokia_devices_introduction_to_qt_on_mobile_part_1
+ \title Qt Mobile Development for Nokia Devices by Digia part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_mobile_development_for_nokia_devices_mobile_ui_design_technologies_and_a
+ \title Qt Mobile Development for Nokia Devices by Digia part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_mobile_development_for_nokia_devices_getting_started_with_nokia_qt_sdk_p
+ \title Qt Mobile Development for Nokia Devices by Digia part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_essentials_widget_edition_fundamentals_of_qt_part_2_hello_world_in_qtcre
+ \title Qt Essentials - Fundamentals of Qt part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_essentials_widget_edition_fundamentals_of_qt_part_1_your_first_qt_applic
+ \title Qt Essentials - Fundamentals of Qt part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/qt_essentials_widget_edition_application_creation_part_1_mainwindows
+ \title Qt Essentials - Application Creation part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/application_creation_part_2_settings_resources_and_application_deployment
+ \title Qt Essentials - Application Creation part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/application_creation_part_3_translation_for_developers
+ \title Qt Essentials - Application Creation part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/widgets_part_1_common_widgets
+ \title Qt Essentials - Widgets part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/widgets_part_2_layout_management
+ \title Qt Essentials - Widgets part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/widgets_part_3_guidelines_for_custom_widgets
+ \title Qt Essentials - Widgets part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/graphics_view_part_1_using_graphicsview_classes
+ \title Qt Essentials - Graphics View part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/graphics_view_part_2_transformations_and_coordinate_systems
+ \title Qt Essentials - Graphics View part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/graphics_view_part_3_creating_custom_items
+ \title Qt Essentials - Graphics View part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_1_model_view_concept
+ \title Qt Essentials - Model/View I part 1
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_2_showing_simple_data
+ \title Qt Essentials - Model/View I part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_3_proxy_models
+ \title Qt Essentials - Model/View I part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_part_4_custom_models
+ \title Qt Essentials - Model/View I part 4
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_1_editing_item_data
+ \title Qt Essentials - Model/View II part 1
+*/
+/*!
+ \externalpage
+ \title Qt Essentials - Model/View II part 2
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_3_data_widget_mapper
+ \title Qt Essentials - Model/View II part 3
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_4_custom_tree_model
+ \title Qt Essentials - Model/View II part 4
+*/
+/*!
+ \externalpage http://developer.qt.nokia.com/elearning/watch/model_view_ii_part_5_drag_and_drop
+ \title Qt Essentials - Model/View II part 5
+*/
+/*!
+ \externalpage http://qt.nokia.com/certification
+ \title Qt Certification
+*/
+/*!
+ \externalpage http://qt.nokia.com/developer/learning/certification/exams/preparation-prerequisites
+ \title Qt Certification Exam Preparation and Prerequisites
+*/
+
+/*!
+ \externalpage http://qt.nokia.com/developer/learning/online/training/materials
+ \title Download Qt training materials
+*/
+
+/*!
+ \externalpage http://qt.nokia.com/partners/qt-in-education/qt-in-education-course-material/
+ \title Qt in Education Course Material
+*/
+
+/*!
+ \externalpage http://developer.qt.nokia.com/
+ \title Qt Developer Network
+*/
+
+/*!
+ \externalpage http://developer.qt.nokia.com/wiki/Qt_Modules_Maturity_Level
+ \title Qt Modules' Maturity Levels - Modules List
+*/
+
+/*!
+ \externalpage http://labs.qt.nokia.com/2011/05/03/qt-modules-maturity-level/
+ \title Qt Modules' Maturity Level - Description
+*/
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 41d8b2e..01103a8 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -62,6 +62,12 @@
The following features have been added to Qt since the first release of Qt 4.
+ In Qt 4.8:
+ \list
+ \o \l{Qt Quick} 1.1 offers changes to the \l{QML Elements} and performance
+ upgrades
+ \
+ \endlist
In Qt 4.7:
\list
\o Declarative UI Development with \l{Qt Quick}, technologies for creating
@@ -118,7 +124,7 @@
64-bit Macintosh hardware.
\o The QtXmlPatterns module has been extended to cover XSLT, a
transformation language for XML documents.
- \o Qt Script introduced its debugger,
+ \o Qt Script introduced its debugger,
providing error reporting for scripts, and to let users track down
bugs in their own scripts.
\o Qt 4.5 includes support for writing rich text documents as
@@ -132,7 +138,7 @@
In Qt 4.4:
\list
- \o \l{Webkit in QT}{Qt WebKit integration}, making it possible for developers
+ \o \l{WebKit in Qt}{Qt WebKit integration}, making it possible for developers
to use a fully-featured Web browser to display documents and access online
services.
\o A multimedia API provided by the \l{Phonon Overview}{Phonon Multimedia Framework}.
@@ -489,6 +495,97 @@
*/
/*!
+ \page qt4-8-intro.html
+ \title What's New in Qt 4.8
+
+ Qt 4.8 provides many improvements and enhancements over the previous
+ releases in the Qt 4 series. This document covers the most important
+ features in this release, separated by category.
+
+ A list of other Qt 4 features can be found on the \bold{\l{What's
+ New in Qt 4}} page.
+
+ \section1 Qt Quick 1.1
+ Qt Quick 1.1 introduces \l{What's New in Qt Quick}{new changes} such as
+ new properties and better performance.
+
+ \list
+ \o \l {QML Right-to-left User Interfaces}{Right-To-Left} text support
+ \o Improved image caching
+ \o Text input improvements - Support for split-screen virtual keyboard
+ \o \l PinchArea Element - enables simple pinch gesture handling
+ \o New properties for \l{QML Elements}.
+ \endlist
+
+
+ \section1 Qt Platform Abstraction -- \e Lighthouse
+
+ \e QPA allows porting Qt to different windowing systems and devices
+ easier. It provides a clean abstraction layer for porting QtGui to new
+ window systems.
+
+ \section1 Qt WebKit 2.2
+
+ The new Qt WebKit release introduces bug fixes, performance improvements,
+ and greater compiler compatibility.
+
+ \section1 Threaded OpenGL
+
+ Many Qt OpenGL functions are now thread-safe. Threads that cater to
+ different situations are now available.
+
+ \list
+ \o Buffer swapping thread
+ \o Texture uploading thread
+ \o \l QPainter thread
+ \endlist
+
+ \section1 Deprecated Items in Qt 4.8
+
+ As part of Open Governance, modules in Qt 4.8 will receive maintainers and
+ receive different support levels.
+
+ Currently, a module has an activity classification, the \e{Module Maturity Level}.
+ As well, a list of modules and their maturity level is in the \l{Qt Developer Network}.
+
+ \list
+ \o \l{Qt Modules' Maturity Level - Description} - description of the
+ different \e{maturity levels}
+ \o \l{Qt Modules' Maturity Levels - Modules List} - list of the Qt
+ modules and their maturity level
+ \endlist
+ \section1 Additions to the Qt API
+
+ Qt 4.8 introduces changes to the Qt API.
+ \list
+ \o Localization API
+ Changes to the Localization APIs include improvements to \l QLocale and more
+ support for different language code formats.
+
+ \list
+ \o \l {QLocale::quoteString()} - for localized quotes
+ \o \l {QLocale::createSeparatedList()} - for localized list separation (e.g. "1, 2 and 3")
+ \o \l {QLocale::bcp47Name()} - for locale names in the canonical form
+ according to \l {RFC 5646 - BCP47}
+ \o \l {QLocale::matchingLocales()} - to get a list of locales that match a
+ criteria - e.g. a list of locales that use French language.
+ \o \l {QLocale::firstDayOfWeek()}
+ \o \l {QLocale::weekdays()}
+ \o \l{QLocale::currencySymbol()}
+ \o \l{QLocale::toCurrencyString()} - number formatting for currencies
+ \o \l{QLocale::uiLanguages()}
+ \o \l{QLocale::nativeLanguageName()}
+ \o \l{QLocale::nativeCountryName()}
+ \endlist
+ \o IP Multicast API
+ \o Multithreaded HTTP
+ \endlist
+
+ \section1 New Classes, Functions, Macros, etc.
+ \sincelist 4.8
+*/
+
+/*!
\page qt4-7-intro.html
\title What's New in Qt 4.7
@@ -610,7 +707,6 @@
introduced in Qt 4.7.
\sincelist 4.7
-
*/
/*!
@@ -686,7 +782,7 @@
\list
\o Simplify complex application semantics.
\o Use of states to reduce code bloat.
- \o Use states to improve maintainability.
+ \o Use states to improve maintainability.
\o Makes event-driven programming robust and more
reusable.
\endlist
diff --git a/doc/src/snippets/accessibilityslidersnippet.cpp b/doc/src/snippets/accessibilityslidersnippet.cpp
index 843cd1f..cb4347e 100644
--- a/doc/src/snippets/accessibilityslidersnippet.cpp
+++ b/doc/src/snippets/accessibilityslidersnippet.cpp
@@ -227,7 +227,7 @@ QVariant QAccessibleAbstractSlider::invokeMethodEx(Method method, int child, con
case ListSupportedMethods: {
QSet<QAccessible::Method> set;
set << ListSupportedMethods;
- return qVariantFromValue(set | qvariant_cast<QSet<QAccessible::Method> >(
+ return QVariant::fromValue(set | qvariant_cast<QSet<QAccessible::Method> >(
QAccessibleWidgetEx::invokeMethodEx(method, child, params)));
}
default:
diff --git a/doc/src/snippets/code/doc_src_porting4.cpp b/doc/src/snippets/code/doc_src_porting4.cpp
index 730f71f..14c708a 100644
--- a/doc/src/snippets/code/doc_src_porting4.cpp
+++ b/doc/src/snippets/code/doc_src_porting4.cpp
@@ -165,7 +165,7 @@ while (i.hasNext()) {
//! [18]
-QList<QWidget *> myWidgets = qFindChildren<QWidget *>(myParent);
+QList<QWidget *> myWidgets = myParent->findChildren<QWidget *>();
//! [18]
diff --git a/doc/src/snippets/code/doc_src_qmake-manual.pro b/doc/src/snippets/code/doc_src_qmake-manual.pro
index e5b749e..ee35b77 100644
--- a/doc/src/snippets/code/doc_src_qmake-manual.pro
+++ b/doc/src/snippets/code/doc_src_qmake-manual.pro
@@ -193,15 +193,15 @@ DEFINES += USE_MY_STUFF QT_DLL
#! [28]
-myFiles.sources = path\*.png
+myFiles.files = path\*.png
DEPLOYMENT += myFiles
#! [28]
#! [29]
-myFiles.sources = path\file1.ext1 path2\file2.ext1 path3\*
+myFiles.files = path\file1.ext1 path2\file2.ext1 path3\*
myFiles.path = \some\path\on\device
-someother.sources = C:\additional\files\*
+someother.files = C:\additional\files\*
someother.path = \myFiles\path2
DEPLOYMENT += myFiles someother
#! [29]
@@ -831,12 +831,12 @@ CONFIG(debug, debug|release) {
#! [127]
#! [128]
-customplugin.sources = customimageplugin.dll
-customplugin.sources += c:\myplugins\othercustomimageplugin.dll
+customplugin.files = customimageplugin.dll
+customplugin.files += c:\myplugins\othercustomimageplugin.dll
customplugin.path = imageformats
-dynamiclibrary.sources = mylib.dll helper.exe
+dynamiclibrary.files = mylib.dll helper.exe
dynamiclibrary.path = \sys\bin
-globalplugin.sources = someglobalimageplugin.dll
+globalplugin.files = someglobalimageplugin.dll
globalplugin.path = \resource\qt\plugins\imageformats
DEPLOYMENT += customplugin dynamiclibrary globalplugin
#! [128]
@@ -905,7 +905,7 @@ MMP_RULES += myIfdefBlock
#! [139]
#! [140]
-somelib.sources = somelib.dll
+somelib.files = somelib.dll
somelib.path = \sys\bin
somelib.pkg_prerules = "(0x12345678), 2, 2, 0, {\"Some Package\"}" \
"(0x87654321), 1, *, * ~ 2, 2, 0, {\"Some Other Package\"}"
@@ -1003,7 +1003,7 @@ DEPLOYMENT -= default_bin_deployment default_resource_deployment default_reg_dep
#! [155]
default_bin_deployment.flags += FILERUN RUNINSTALL
-dep_note.sources = install_note.txt
+dep_note.files = install_note.txt
dep_note.flags = FILETEXT TEXTEXIT
DEPLOYMENT += dep_note
#! [155]
@@ -1011,3 +1011,15 @@ DEPLOYMENT += dep_note
#! [156]
DEPLOYMENT.display_name = My Qt App
#! [156]
+
+#! [157]
+packagesExist(sqlite3 QtNetwork QtDeclarative) {
+ DEFINES += USE_FANCY_UI
+}
+#! [157]
+
+#! [158]
+#ifdef USE_FANCY_UI
+ // Use the fancy UI, as we have extra packages available
+#endif
+#! [158]
diff --git a/doc/src/snippets/code/doc_src_qtscript.cpp b/doc/src/snippets/code/doc_src_qtscript.cpp
index 822e6fa..de82029 100644
--- a/doc/src/snippets/code/doc_src_qtscript.cpp
+++ b/doc/src/snippets/code/doc_src_qtscript.cpp
@@ -544,7 +544,7 @@ QScriptValue constructXmlStreamReader(QScriptContext *context, QScriptEngine *en
XmlStreamReaderPointer pointer(reader);
// store the shared pointer in the script object that we are constructing
- return engine->newVariant(context->thisObject(), qVariantFromValue(pointer));
+ return engine->newVariant(context->thisObject(), QVariant::fromValue(pointer));
}
//! [93]
diff --git a/doc/src/snippets/code/src_corelib_global_qglobal.cpp b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
index 0b54cef..c79a714 100644
--- a/doc/src/snippets/code/src_corelib_global_qglobal.cpp
+++ b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
@@ -531,3 +531,27 @@ class MyClass : public QObject
//! [47]
CApaApplication *myApplicationFactory();
//! [47]
+
+//! [qlikely]
+ // the condition inside the "if" will be successful most of the times
+ for (int i = 1; i <= 365; i++) {
+ if (Q_LIKELY(isWorkingDay(i))) {
+ ...
+ }
+ ...
+ }
+//! [qlikely]
+
+//! [qunlikely]
+bool readConfiguration(const QFile &file)
+{
+ // We expect to be asked to read an existing file
+ if (Q_UNLIKELY(!file.exists())) {
+ qWarning() << "File not found";
+ return false;
+ }
+
+ ...
+ return true;
+}
+//! [qunlikely]
diff --git a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
index 5919c01..cf40f9a 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
@@ -86,3 +86,38 @@ beginMoveRows(parent, 2, 2, parent, 0);
//! [9]
beginMoveRows(parent, 2, 2, parent, 4);
//! [9]
+
+
+//! [10]
+class CustomDataProxy : public QSortFilterProxyModel
+{
+ Q_OBJECT
+public:
+ CustomDataProxy(QObject *parent)
+ : QSortFilterProxyModel(parent)
+ {
+ }
+
+ ...
+
+ QVariant data(const QModelIndex &index, int role)
+ {
+ if (role != Qt::BackgroundRole)
+ return QSortFilterProxyModel::data(index, role);
+
+ if (m_customData.contains(index.row()))
+ return m_customData.value(index.row());
+ return QSortFilterProxyModel::data(index, role);
+ }
+
+private slots:
+ void resetInternalData()
+ {
+ m_customData.clear();
+ }
+
+private:
+ QHash<int, QVariant> m_customData;
+};
+//! [10]
+
diff --git a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
index a57d722..8b1bcbf 100644
--- a/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
+++ b/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp
@@ -132,5 +132,5 @@ return QVariant::fromValue(s);
//! [8]
QObject *object = getObjectFromSomewhere();
-QVariant data = qVariantFromValue(object);
+QVariant data = QVariant::fromValue(object);
//! [8]
diff --git a/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp b/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp
index 6d22734..84eb1cd 100644
--- a/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp
+++ b/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp
@@ -46,3 +46,7 @@ if (child) {
delete child;
}
//! [0]
+
+//! [1]
+typedef QAccessibleInterface* myFactoryFunction(const QString &key, QObject *);
+//! [1]
diff --git a/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp b/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
new file mode 100644
index 0000000..6bf6c89
--- /dev/null
+++ b/doc/src/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+class DateFormatProxyModel : public QIdentityProxyModel
+{
+ // ...
+
+ void setDateFormatString(const QString &formatString)
+ {
+ m_formatString = formatString;
+ }
+
+ QVariant data(const QModelIndex &index, int role)
+ {
+ if (role != Qt::DisplayRole)
+ return QIdentityProxyModel::data(index, role);
+
+ const QDateTime dateTime = sourceModel()->data(SourceClass::DateRole).toDateTime();
+
+ return dateTime.toString(m_formatString);
+ }
+
+private:
+ QString m_formatString;
+};
+//! [0]
diff --git a/doc/src/snippets/code/src_network_access_qhttpmultipart.cpp b/doc/src/snippets/code/src_network_access_qhttpmultipart.cpp
new file mode 100644
index 0000000..7c2e0ac
--- /dev/null
+++ b/doc/src/snippets/code/src_network_access_qhttpmultipart.cpp
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
+
+QHttpPart textPart;
+textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\""));
+textPart.setBody("my text");
+
+QHttpPart imagePart;
+imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg"));
+imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"image\""));
+QFile *file = new QFile("image.jpg");
+file->open(QIODevice::ReadOnly);
+imagePart.setBodyDevice(file);
+file->setParent(multiPart); // we cannot delete the file now, so delete it with the multiPart
+
+multiPart->append(textPart);
+multiPart->append(imagePart);
+
+QUrl url("http://my.server.tld");
+QNetworkRequest request(url);
+
+QNetworkAccessManager manager;
+QNetworkReply *reply = manager.post(request, multiPart);
+multiPart->setParent(reply); // delete the multiPart with the reply
+// here connect signals etc.
+//! [0]
diff --git a/doc/src/snippets/code/src_network_access_qhttppart.cpp b/doc/src/snippets/code/src_network_access_qhttppart.cpp
new file mode 100644
index 0000000..e70fead
--- /dev/null
+++ b/doc/src/snippets/code/src_network_access_qhttppart.cpp
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+Content-Type: text/plain
+Content-Disposition: form-data; name="text"
+
+here goes the body
+//! [0]
+
+//! [1]
+QHttpPart textPart;
+textPart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("text/plain"));
+textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\""));
+textPart.setBody("here goes the body");
+//! [1]
+
+//! [2]
+QHttpPart imagePart;
+imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/jpeg"));
+imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"image\""));
+imagePart.setRawHeader("Content-ID", "my@content.id"); // add any headers you like via setRawHeader()
+QFile *file = new QFile("image.jpg");
+file->open(QIODevice::ReadOnly);
+imagePart.setBodyDevice(file);
+//! [2]
+
diff --git a/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp b/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
index aa5225a..812adf9 100644
--- a/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
+++ b/doc/src/snippets/code/src_opengl_qglshaderprogram.cpp
@@ -52,7 +52,7 @@ program.bind();
//! [1]
program.addShaderFromSourceCode(QGLShader::Vertex,
"attribute highp vec4 vertex;\n"
- "attribute mediump mat4 matrix;\n"
+ "uniform highp mat4 matrix;\n"
"void main(void)\n"
"{\n"
" gl_Position = matrix * vertex;\n"
@@ -67,7 +67,7 @@ program.link();
program.bind();
int vertexLocation = program.attributeLocation("vertex");
-int matrixLocation = program.attributeLocation("matrix");
+int matrixLocation = program.uniformLocation("matrix");
int colorLocation = program.uniformLocation("color");
//! [1]
diff --git a/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp b/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp
index d446af7..dd5cd5b 100644
--- a/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp
+++ b/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp
@@ -163,7 +163,7 @@
break;
default:
if (v.userType() == qMetaTypeId<QXmlName>()) {
- QXmlName n = qVariantValue<QXmlName>(v);
+ QXmlName n = qvariant_cast<QXmlName>(v);
// process QXmlName n...
}
else {
diff --git a/doc/src/snippets/declarative/application.qml b/doc/src/snippets/declarative/application.qml
index 06f83f2..fa8cf0b 100644
--- a/doc/src/snippets/declarative/application.qml
+++ b/doc/src/snippets/declarative/application.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/focus/focusColumn.qml b/doc/src/snippets/declarative/focus/focusColumn.qml
index 42ee3da..e6a6fcf 100644
--- a/doc/src/snippets/declarative/focus/focusColumn.qml
+++ b/doc/src/snippets/declarative/focus/focusColumn.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/grid/grid-items.qml b/doc/src/snippets/declarative/grid/grid-items.qml
new file mode 100644
index 0000000..62a444d
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-items.qml
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 112; height: 112
+ color: "#303030"
+
+ Grid {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ columns: 2
+ spacing: 6
+
+ Rectangle { color: "#aa6666"; width: 50; height: 50 }
+ Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+ Rectangle { color: "#9999aa"; width: 50; height: 50 }
+ Rectangle { color: "#6666aa"; width: 50; height: 50 }
+ }
+}
diff --git a/doc/src/snippets/declarative/grid/grid-no-spacing.qml b/doc/src/snippets/declarative/grid/grid-no-spacing.qml
new file mode 100644
index 0000000..a6ca305
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-no-spacing.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 112; height: 112
+ color: "#303030"
+
+ Grid {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ columns: 2
+
+ Rectangle { color: "#aa6666"; width: 50; height: 50 }
+ Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+ Rectangle { color: "#9999aa"; width: 50; height: 50 }
+ Rectangle { color: "#6666aa"; width: 50; height: 50 }
+ }
+}
diff --git a/doc/src/snippets/declarative/grid/grid-spacing.qml b/doc/src/snippets/declarative/grid/grid-spacing.qml
new file mode 100644
index 0000000..c03cdad
--- /dev/null
+++ b/doc/src/snippets/declarative/grid/grid-spacing.qml
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import QtQuick 1.0
+
+Rectangle {
+ width: 112; height: 112
+ color: "#303030"
+
+ Grid {
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ columns: 2
+ spacing: 6
+
+ Rectangle { color: "#aa6666"; width: 50; height: 50 }
+ Rectangle { color: "#aaaa66"; width: 50; height: 50 }
+ Rectangle { color: "#9999aa"; width: 50; height: 50 }
+ Rectangle { color: "#6666aa"; width: 50; height: 50 }
+ }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/listview/listview-snippet.qml b/doc/src/snippets/declarative/listview/listview-snippet.qml
new file mode 100644
index 0000000..f2a260d
--- /dev/null
+++ b/doc/src/snippets/declarative/listview/listview-snippet.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [document]
+import QtQuick 1.0
+
+ListView {
+ width: 50; height: 200
+ model: 4
+ delegate: Text {
+ text: index;
+ font.pixelSize: 40
+ }
+}
+//! [document]
diff --git a/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml b/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml
index 03473ba..1b9a9ec 100644
--- a/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml
+++ b/doc/src/snippets/declarative/mousearea/mousearea-snippet.qml
@@ -47,53 +47,53 @@ Rectangle {
width: 500; height: 500
color: "green"
-Column {
-//! [anchor fill]
-Rectangle {
- id: button
- width: 100; height: 100
+ Column {
+ //! [anchor fill]
+ Rectangle {
+ id: button
+ width: 100; height: 100
- MouseArea {
- anchors.fill: parent
- onClicked: console.log("button clicked")
- }
- MouseArea {
- width:150; height: 75
- onClicked: console.log("irregular area clicked")
- }
-}
-//! [anchor fill]
+ MouseArea {
+ anchors.fill: parent
+ onClicked: console.log("button clicked")
+ }
+ MouseArea {
+ width:150; height: 75
+ onClicked: console.log("irregular area clicked")
+ }
+ }
+ //! [anchor fill]
-Rectangle {
- id: button
- width: 100; height: 100
+ Rectangle {
+ id: button
+ width: 100; height: 100
-//! [enable handlers]
- MouseArea {
- hoverEnabled: true
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- onEntered: console.log("mouse entered the area")
- onExited: console.log("mouse left the area")
- }
-//! [enable handlers]
-}
+ //! [enable handlers]
+ MouseArea {
+ hoverEnabled: true
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ onEntered: console.log("mouse entered the area")
+ onExited: console.log("mouse left the area")
+ }
+ //! [enable handlers]
+ }
-Rectangle {
- id: button
- width: 100; height: 100
+ Rectangle {
+ id: button
+ width: 100; height: 100
-//! [mouse handlers]
- MouseArea {
- anchors.fill: parent
- onClicked: console.log("area clicked")
- onDoubleClicked: console.log("area double clicked")
- onEntered: console.log("mouse entered the area")
- onExited: console.log("mouse left the area")
- }
-//! [mouse handlers]
-}
+ //! [mouse handlers]
+ MouseArea {
+ anchors.fill: parent
+ onClicked: console.log("area clicked")
+ onDoubleClicked: console.log("area double clicked")
+ onEntered: console.log("mouse entered the area")
+ onExited: console.log("mouse left the area")
+ }
+ //! [mouse handlers]
+ }
-} //end of column
+ } //end of column
//! [parent end]
}
//! [parent end]
diff --git a/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg b/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg
new file mode 100644
index 0000000..8c018be
--- /dev/null
+++ b/doc/src/snippets/declarative/qml-intro/images/qt-logo.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ clip-rule="evenodd"
+ stroke-miterlimit="10"
+ viewBox="0 0 174.35 209.78"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ width="744.09186"
+ height="895.29858"
+ sodipodi:docname="qt-logo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0"
+ style="stroke-miterlimit:10">
+ <metadata
+ id="metadata29">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ inkscape:window-height="668"
+ inkscape:window-width="722"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="0.12195802"
+ inkscape:cx="525.6108"
+ inkscape:cy="-287.87189"
+ inkscape:window-x="476"
+ inkscape:window-y="228"
+ inkscape:current-layer="svg2" />
+ <desc
+ id="desc4">SVG generated by Lineform</desc>
+ <defs
+ id="defs6">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective31" />
+ </defs>
+ <g
+ id="g8"
+ transform="translate(-1.5304326e-4,-3.775985e-4)">
+ <path
+ d="M 43.08,0.36 C 40.94,0 38.84,-0.08 36.81,0.08 L 36.8,0.08 C 36.8,0.08 22.92,1.02 22.29,1.07 C 9.62,2.08 0,12.5 0,26.89 L 0,196.55 L 14.19,209.78 L 156.79,185.81 C 166.6,184.11 174.35,172.54 174.35,160.04 L 174.35,21.88 L 43.08,0.36"
+ id="path10"
+ style="fill:#0c481e" />
+ <path
+ d="M 174.35,160.04 C 174.35,172.54 166.6,184.11 156.79,185.82 L 14.19,209.78 L 14.19,25.99 C 14.19,9.27 27.53,-2.21 43.08,0.36 L 174.35,21.88 L 174.35,160.04"
+ id="path12"
+ style="fill:#66b036" />
+ <path
+ d="M 130.42,45.91 L 141.94,47.15 L 141.94,67.36 L 154.9,68.28 L 154.9,80.96 L 141.94,80.36 L 141.94,126.69 C 141.94,130.72 142.38,133.31 143.28,134.48 C 144.08,135.55 145.32,136.07 146.99,136.07 C 147.15,136.07 147.32,136.07 147.48,136.06 C 150.03,135.91 152.81,135.13 155.83,133.75 L 155.83,145.4 C 150.69,147.65 145.65,149 140.7,149.42 C 139.99,149.47 139.29,149.5 138.62,149.5 C 134.14,149.5 130.72,148.2 128.38,145.57 C 125.65,142.52 124.29,137.62 124.29,130.9 L 124.29,79.54 L 118.06,79.26 L 118.06,65.67 L 125.65,66.22 L 130.42,45.91"
+ id="path14"
+ style="fill:#ffffff" />
+ <path
+ d="M 154.9,80.96 L 141.94,80.36 L 141.94,80.64 L 148.88,80.96 L 154.9,80.96"
+ id="path16"
+ style="fill:#0c481e" />
+ <path
+ d="M 144.64,135.6 C 145.3,135.92 146.07,136.07 146.99,136.07 C 147.15,136.07 147.32,136.07 147.48,136.06 C 150.03,135.91 152.81,135.13 155.83,133.75 L 149.81,133.75 C 147.99,134.58 146.28,135.21 144.64,135.6"
+ id="path18"
+ style="fill:#0c481e" />
+ <path
+ d="M 128.38,145.57 C 125.65,142.52 124.29,137.62 124.29,130.9 L 124.29,79.54 L 118.06,79.26 L 118.06,65.67 L 112.05,65.67 L 112.05,68.71 C 112.92,71.98 113.6,75.53 114.11,79.35 L 118.28,79.54 L 118.28,130.9 C 118.28,137.62 119.64,142.52 122.37,145.57 C 124.71,148.2 128.13,149.5 132.61,149.5 L 138.62,149.5 C 134.14,149.5 130.72,148.2 128.38,145.57 z M 130.42,45.91 L 124.41,45.91 L 119.74,65.79 L 125.65,66.22 L 130.42,45.91"
+ id="path20"
+ style="fill:#0c481e" />
+ <path
+ d="M 91.15,132.4 C 93.5,126.36 94.66,114.49 94.66,96.79 C 94.66,80.9 93.51,69.97 91.18,63.98 C 88.84,57.95 85.35,54.69 80.66,54.28 C 80.3,54.25 79.95,54.23 79.6,54.23 C 75.26,54.23 71.92,56.77 69.59,61.86 C 67.07,67.4 65.8,78.9 65.8,96.3 C 65.8,113.11 67.04,125.05 69.54,132.05 C 71.89,138.72 75.41,142.03 80.04,142.03 C 80.25,142.03 80.45,142.02 80.66,142.01 C 85.29,141.71 88.78,138.51 91.15,132.4 M 109.13,136.15 C 105.01,145.86 98.73,152.21 90.14,155.15 C 91.01,159.6 92.32,162.6 94.06,164.17 C 95.41,165.39 97.49,165.99 100.28,165.99 C 101.09,165.99 101.96,165.94 102.87,165.84 L 102.87,178.96 L 96.91,179.75 C 95.16,179.97 93.49,180.09 91.91,180.09 C 86.69,180.09 82.47,178.82 79.29,176.26 C 75.08,172.89 71.98,166.37 69.99,156.73 C 60.86,154.78 53.73,148.97 48.8,139.23 C 43.8,129.32 41.25,114.83 41.25,95.89 C 41.25,75.46 44.74,60.38 51.6,50.81 C 57.38,42.75 65.46,38.78 75.62,38.78 C 77.24,38.78 78.93,38.88 80.66,39.08 C 92.61,40.46 101.28,46.1 106.92,55.87 C 112.46,65.43 115.17,79.14 115.17,97.13 C 115.17,113.62 113.17,126.58 109.13,136.15"
+ id="path22"
+ style="fill:#ffffff" />
+ <path
+ d="M 100.28,165.99 C 101.09,165.99 101.95,165.94 102.87,165.84 L 98.04,165.84 C 98.71,165.94 99.49,165.99 100.28,165.99"
+ id="path24"
+ style="fill:#0c481e" />
+ <path
+ d="M 84.85,63.98 C 87.19,69.97 88.34,80.9 88.34,96.79 C 88.34,114.49 87.18,126.36 84.82,132.4 C 82.93,137.28 80.3,140.31 76.96,141.48 C 77.93,141.84 78.96,142.03 80.04,142.03 C 80.25,142.03 80.45,142.02 80.66,142.01 C 85.29,141.71 88.78,138.51 91.15,132.4 C 93.5,126.36 94.66,114.49 94.66,96.79 C 94.66,80.9 93.51,69.97 91.18,63.98 C 88.84,57.95 85.35,54.69 80.66,54.28 C 80.3,54.25 79.95,54.23 79.6,54.23 C 78.51,54.23 77.48,54.39 76.52,54.72 L 76.52,54.72 C 80.12,55.83 82.89,58.93 84.85,63.98 z M 82.51,178.25 C 82.4,178.2 82.28,178.15 82.17,178.09 C 82.16,178.09 82.15,178.08 82.14,178.08 C 82.03,178.03 81.93,177.97 81.83,177.92 C 81.81,177.91 81.79,177.9 81.77,177.89 C 81.68,177.84 81.59,177.79 81.49,177.74 C 81.46,177.72 81.44,177.71 81.41,177.69 C 81.33,177.65 81.24,177.6 81.16,177.55 C 81.12,177.53 81.09,177.51 81.05,177.48 C 80.98,177.44 80.91,177.4 80.84,177.36 C 80.79,177.33 80.74,177.3 80.7,177.27 C 80.64,177.23 80.58,177.19 80.52,177.15 C 80.46,177.12 80.41,177.08 80.35,177.04 C 80.3,177.01 80.25,176.98 80.2,176.94 C 80.14,176.9 80.07,176.85 80.01,176.81 C 79.97,176.78 79.93,176.75 79.89,176.72 C 79.82,176.67 79.74,176.61 79.67,176.55 C 79.64,176.54 79.61,176.52 79.59,176.5 C 79.49,176.42 79.39,176.34 79.29,176.26 C 75.08,172.89 71.98,166.37 69.99,156.73 C 60.86,154.78 53.73,148.97 48.8,139.23 C 43.8,129.32 41.25,114.83 41.25,95.89 C 41.25,75.46 44.74,60.38 51.6,50.81 C 57.38,42.75 65.46,38.78 75.62,38.78 C 75.65,38.78 69.27,38.77 69.27,38.77 L 69.27,38.78 C 59.12,38.78 51.05,42.75 45.27,50.81 C 38.41,60.38 34.92,75.46 34.92,95.89 C 34.92,114.83 37.47,129.32 42.47,139.23 C 47.41,148.97 54.53,154.78 63.67,156.73 C 65.65,166.37 68.76,172.89 72.96,176.26 C 76.14,178.82 80.36,180.09 85.58,180.09 C 85.68,180.09 85.78,180.09 85.88,180.09 L 91.42,180.09 C 88.01,180.03 85.04,179.43 82.52,178.26 C 82.51,178.26 82.51,178.26 82.51,178.25"
+ id="path26"
+ style="fill:#0c481e" />
+ </g>
+</svg>
diff --git a/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h b/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h
index f317d40..763a451 100644
--- a/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h
+++ b/doc/src/snippets/declarative/qtbinding/properties-cpp/applicationdata.h
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/states/statechangescript.qml b/doc/src/snippets/declarative/states/statechangescript.qml
index f490a97..aa1246d 100644
--- a/doc/src/snippets/declarative/states/statechangescript.qml
+++ b/doc/src/snippets/declarative/states/statechangescript.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/declarative/webview/webview.qml b/doc/src/snippets/declarative/webview/webview.qml
index a986fab..f652369 100644
--- a/doc/src/snippets/declarative/webview/webview.qml
+++ b/doc/src/snippets/declarative/webview/webview.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
diff --git a/doc/src/snippets/myscrollarea.cpp b/doc/src/snippets/myscrollarea.cpp
index 93b487d..9a41ed8 100644
--- a/doc/src/snippets/myscrollarea.cpp
+++ b/doc/src/snippets/myscrollarea.cpp
@@ -98,8 +98,8 @@ void MyScrollArea::updateArea()
QSize areaSize = viewport()->size();
QSize widgetSize = widget->size();
- verticalScrollBar()->setPageStep(widgetSize.height());
- horizontalScrollBar()->setPageStep(widgetSize.width());
+ verticalScrollBar()->setPageStep(areaSize.height());
+ horizontalScrollBar()->setPageStep(areaSize.width());
verticalScrollBar()->setRange(0, widgetSize.height() - areaSize.height());
horizontalScrollBar()->setRange(0, widgetSize.width() - areaSize.width());
updateWidgetPosition();
diff --git a/doc/src/snippets/qmake/qt_version.pro b/doc/src/snippets/qmake/qt_version.pro
new file mode 100644
index 0000000..ac0338b
--- /dev/null
+++ b/doc/src/snippets/qmake/qt_version.pro
@@ -0,0 +1,7 @@
+#! [checking for a specific version of Qt]
+contains(QT_VERSION, "4.7.4") {
+ message(4.7.4)
+} else {
+ message(Some other version)
+}
+#! [checking for a specific version of Qt]
diff --git a/doc/src/snippets/qmake/spaces.pro b/doc/src/snippets/qmake/spaces.pro
index 544ef05..614d4c5 100644
--- a/doc/src/snippets/qmake/spaces.pro
+++ b/doc/src/snippets/qmake/spaces.pro
@@ -1,9 +1,9 @@
#! [quoting library paths with spaces]
-win32:LIBS += $$quote(C:/mylibs/extra libs/extra.lib)
-unix:LIBS += $$quote(-L/home/user/extra libs) -lextra
+win32:LIBS += "C:/mylibs/extra libs/extra.lib"
+unix:LIBS += "-L/home/user/extra libs" -lextra
#! [quoting library paths with spaces]
#! [quoting include paths with spaces]
-win32:INCLUDEPATH += $$quote(C:/mylibs/extra headers)
-unix:INCLUDEPATH += $$quote(/home/user/extra headers)
+win32:INCLUDEPATH += "C:/mylibs/extra headers"
+unix:INCLUDEPATH += "/home/user/extra headers"
#! [quoting include paths with spaces]
diff --git a/doc/src/snippets/qstring/stringbuilder.cpp b/doc/src/snippets/qstring/stringbuilder.cpp