xref: /vim-8.2.3635/src/version.c (revision c8a9fe54)
1 /* vi:set ts=8 sts=4 sw=4 noet:
2  *
3  * VIM - Vi IMproved		by Bram Moolenaar
4  *
5  * Do ":help uganda"  in Vim to read copying and usage conditions.
6  * Do ":help credits" in Vim to see a list of people who contributed.
7  * See README.txt for an overview of the Vim source code.
8  */
9 
10 #include "vim.h"
11 
12 /*
13  * Vim originated from Stevie version 3.6 (Fish disk 217) by GRWalter (Fred)
14  * It has been changed beyond recognition since then.
15  *
16  * Differences between version 7.4 and 8.x can be found with ":help version8".
17  * Differences between version 6.4 and 7.x can be found with ":help version7".
18  * Differences between version 5.8 and 6.x can be found with ":help version6".
19  * Differences between version 4.x and 5.x can be found with ":help version5".
20  * Differences between version 3.0 and 4.x can be found with ":help version4".
21  * All the remarks about older versions have been removed, they are not very
22  * interesting.
23  */
24 
25 #include "version.h"
26 
27 char		*Version = VIM_VERSION_SHORT;
28 static char	*mediumVersion = VIM_VERSION_MEDIUM;
29 
30 #if defined(HAVE_DATE_TIME) || defined(PROTO)
31 # if (defined(VMS) && defined(VAXC)) || defined(PROTO)
32 char	longVersion[sizeof(VIM_VERSION_LONG_DATE) + sizeof(__DATE__)
33 						      + sizeof(__TIME__) + 3];
34 
35     void
36 init_longVersion(void)
37 {
38     /*
39      * Construct the long version string.  Necessary because
40      * VAX C can't concatenate strings in the preprocessor.
41      */
42     strcpy(longVersion, VIM_VERSION_LONG_DATE);
43 #ifdef BUILD_DATE
44     strcat(longVersion, BUILD_DATE);
45 #else
46     strcat(longVersion, __DATE__);
47     strcat(longVersion, " ");
48     strcat(longVersion, __TIME__);
49 #endif
50     strcat(longVersion, ")");
51 }
52 
53 # else
54 char	*longVersion = NULL;
55 
56     void
57 init_longVersion(void)
58 {
59     if (longVersion == NULL)
60     {
61 #ifdef BUILD_DATE
62 	char *date_time = BUILD_DATE;
63 #else
64 	char *date_time = __DATE__ " " __TIME__;
65 #endif
66 	char *msg = _("%s (%s, compiled %s)");
67 	size_t len = strlen(msg)
68 		    + strlen(VIM_VERSION_LONG_ONLY)
69 		    + strlen(VIM_VERSION_DATE_ONLY)
70 		    + strlen(date_time);
71 
72 	longVersion = alloc(len);
73 	if (longVersion == NULL)
74 	    longVersion = VIM_VERSION_LONG;
75 	else
76 	    vim_snprintf(longVersion, len, msg,
77 		      VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
78     }
79 }
80 # endif
81 #else
82 char	*longVersion = VIM_VERSION_LONG;
83 
84     void
85 init_longVersion(void)
86 {
87     // nothing to do
88 }
89 #endif
90 
91 static char *(features[]) =
92 {
93 #ifdef HAVE_ACL
94 	"+acl",
95 #else
96 	"-acl",
97 #endif
98 #ifdef AMIGA		// only for Amiga systems
99 # ifdef FEAT_ARP
100 	"+ARP",
101 # else
102 	"-ARP",
103 # endif
104 #endif
105 #ifdef FEAT_ARABIC
106 	"+arabic",
107 #else
108 	"-arabic",
109 #endif
110 	"+autocmd",
111 #ifdef FEAT_AUTOCHDIR
112        "+autochdir",
113 #else
114        "-autochdir",
115 #endif
116 #ifdef FEAT_AUTOSERVERNAME
117 	"+autoservername",
118 #else
119 	"-autoservername",
120 #endif
121 #ifdef FEAT_BEVAL_GUI
122 	"+balloon_eval",
123 #else
124 	"-balloon_eval",
125 #endif
126 #ifdef FEAT_BEVAL_TERM
127 	"+balloon_eval_term",
128 #else
129 	"-balloon_eval_term",
130 #endif
131 #ifdef FEAT_BROWSE
132 	"+browse",
133 #else
134 	"-browse",
135 #endif
136 #ifdef NO_BUILTIN_TCAPS
137 	"-builtin_terms",
138 #endif
139 #ifdef SOME_BUILTIN_TCAPS
140 	"+builtin_terms",
141 #endif
142 #ifdef ALL_BUILTIN_TCAPS
143 	"++builtin_terms",
144 #endif
145 #ifdef FEAT_BYTEOFF
146 	"+byte_offset",
147 #else
148 	"-byte_offset",
149 #endif
150 #ifdef FEAT_JOB_CHANNEL
151 	"+channel",
152 #else
153 	"-channel",
154 #endif
155 #ifdef FEAT_CINDENT
156 	"+cindent",
157 #else
158 	"-cindent",
159 #endif
160 #ifdef FEAT_CLIENTSERVER
161 	"+clientserver",
162 #else
163 	"-clientserver",
164 #endif
165 #ifdef FEAT_CLIPBOARD
166 	"+clipboard",
167 #else
168 	"-clipboard",
169 #endif
170 	"+cmdline_compl",
171 	"+cmdline_hist",
172 #ifdef FEAT_CMDL_INFO
173 	"+cmdline_info",
174 #else
175 	"-cmdline_info",
176 #endif
177 	"+comments",
178 #ifdef FEAT_CONCEAL
179 	"+conceal",
180 #else
181 	"-conceal",
182 #endif
183 #ifdef FEAT_CRYPT
184 	"+cryptv",
185 #else
186 	"-cryptv",
187 #endif
188 #ifdef FEAT_CSCOPE
189 	"+cscope",
190 #else
191 	"-cscope",
192 #endif
193 	"+cursorbind",
194 #ifdef CURSOR_SHAPE
195 	"+cursorshape",
196 #else
197 	"-cursorshape",
198 #endif
199 #if defined(FEAT_CON_DIALOG) && defined(FEAT_GUI_DIALOG)
200 	"+dialog_con_gui",
201 #else
202 # if defined(FEAT_CON_DIALOG)
203 	"+dialog_con",
204 # else
205 #  if defined(FEAT_GUI_DIALOG)
206 	"+dialog_gui",
207 #  else
208 	"-dialog",
209 #  endif
210 # endif
211 #endif
212 #ifdef FEAT_DIFF
213 	"+diff",
214 #else
215 	"-diff",
216 #endif
217 #ifdef FEAT_DIGRAPHS
218 	"+digraphs",
219 #else
220 	"-digraphs",
221 #endif
222 #ifdef FEAT_GUI_MSWIN
223 # ifdef FEAT_DIRECTX
224 	"+directx",
225 # else
226 	"-directx",
227 # endif
228 #endif
229 #ifdef FEAT_DND
230 	"+dnd",
231 #else
232 	"-dnd",
233 #endif
234 #ifdef EBCDIC
235 	"+ebcdic",
236 #else
237 	"-ebcdic",
238 #endif
239 #ifdef FEAT_EMACS_TAGS
240 	"+emacs_tags",
241 #else
242 	"-emacs_tags",
243 #endif
244 #ifdef FEAT_EVAL
245 	"+eval",
246 #else
247 	"-eval",
248 #endif
249 	"+ex_extra",
250 #ifdef FEAT_SEARCH_EXTRA
251 	"+extra_search",
252 #else
253 	"-extra_search",
254 #endif
255 	"-farsi",
256 #ifdef FEAT_SEARCHPATH
257 	"+file_in_path",
258 #else
259 	"-file_in_path",
260 #endif
261 #ifdef FEAT_FIND_ID
262 	"+find_in_path",
263 #else
264 	"-find_in_path",
265 #endif
266 #ifdef FEAT_FLOAT
267 	"+float",
268 #else
269 	"-float",
270 #endif
271 #ifdef FEAT_FOLDING
272 	"+folding",
273 #else
274 	"-folding",
275 #endif
276 #ifdef FEAT_FOOTER
277 	"+footer",
278 #else
279 	"-footer",
280 #endif
281 	    // only interesting on Unix systems
282 #if !defined(USE_SYSTEM) && defined(UNIX)
283 	"+fork()",
284 #endif
285 #ifdef FEAT_GETTEXT
286 # ifdef DYNAMIC_GETTEXT
287 	"+gettext/dyn",
288 # else
289 	"+gettext",
290 # endif
291 #else
292 	"-gettext",
293 #endif
294 	"-hangul_input",
295 #if (defined(HAVE_ICONV_H) && defined(USE_ICONV)) || defined(DYNAMIC_ICONV)
296 # ifdef DYNAMIC_ICONV
297 	"+iconv/dyn",
298 # else
299 	"+iconv",
300 # endif
301 #else
302 	"-iconv",
303 #endif
304 	"+insert_expand",
305 #ifdef FEAT_IPV6
306 	"+ipv6",
307 #else
308 	"-ipv6",
309 #endif
310 #ifdef FEAT_JOB_CHANNEL
311 	"+job",
312 #else
313 	"-job",
314 #endif
315 #ifdef FEAT_JUMPLIST
316 	"+jumplist",
317 #else
318 	"-jumplist",
319 #endif
320 #ifdef FEAT_KEYMAP
321 	"+keymap",
322 #else
323 	"-keymap",
324 #endif
325 #ifdef FEAT_EVAL
326 	"+lambda",
327 #else
328 	"-lambda",
329 #endif
330 #ifdef FEAT_LANGMAP
331 	"+langmap",
332 #else
333 	"-langmap",
334 #endif
335 #ifdef FEAT_LIBCALL
336 	"+libcall",
337 #else
338 	"-libcall",
339 #endif
340 #ifdef FEAT_LINEBREAK
341 	"+linebreak",
342 #else
343 	"-linebreak",
344 #endif
345 #ifdef FEAT_LISP
346 	"+lispindent",
347 #else
348 	"-lispindent",
349 #endif
350 	"+listcmds",
351 	"+localmap",
352 #ifdef FEAT_LUA
353 # ifdef DYNAMIC_LUA
354 	"+lua/dyn",
355 # else
356 	"+lua",
357 # endif
358 #else
359 	"-lua",
360 #endif
361 #ifdef FEAT_MENU
362 	"+menu",
363 #else
364 	"-menu",
365 #endif
366 #ifdef FEAT_SESSION
367 	"+mksession",
368 #else
369 	"-mksession",
370 #endif
371 	"+modify_fname",
372 	"+mouse",
373 #ifdef FEAT_MOUSESHAPE
374 	"+mouseshape",
375 #else
376 	"-mouseshape",
377 #endif
378 
379 #if defined(UNIX) || defined(VMS)
380 # ifdef FEAT_MOUSE_DEC
381 	"+mouse_dec",
382 # else
383 	"-mouse_dec",
384 # endif
385 # ifdef FEAT_MOUSE_GPM
386 	"+mouse_gpm",
387 # else
388 	"-mouse_gpm",
389 # endif
390 # ifdef FEAT_MOUSE_JSB
391 	"+mouse_jsbterm",
392 # else
393 	"-mouse_jsbterm",
394 # endif
395 # ifdef FEAT_MOUSE_NET
396 	"+mouse_netterm",
397 # else
398 	"-mouse_netterm",
399 # endif
400 #endif
401 
402 #ifdef __QNX__
403 # ifdef FEAT_MOUSE_PTERM
404 	"+mouse_pterm",
405 # else
406 	"-mouse_pterm",
407 # endif
408 #endif
409 
410 #if defined(UNIX) || defined(VMS)
411 	"+mouse_sgr",
412 # ifdef FEAT_SYSMOUSE
413 	"+mouse_sysmouse",
414 # else
415 	"-mouse_sysmouse",
416 # endif
417 # ifdef FEAT_MOUSE_URXVT
418 	"+mouse_urxvt",
419 # else
420 	"-mouse_urxvt",
421 # endif
422 	"+mouse_xterm",
423 #endif
424 
425 #ifdef FEAT_MBYTE_IME
426 # ifdef DYNAMIC_IME
427 	"+multi_byte_ime/dyn",
428 # else
429 	"+multi_byte_ime",
430 # endif
431 #else
432 	"+multi_byte",
433 #endif
434 #ifdef FEAT_MULTI_LANG
435 	"+multi_lang",
436 #else
437 	"-multi_lang",
438 #endif
439 #ifdef FEAT_MZSCHEME
440 # ifdef DYNAMIC_MZSCHEME
441 	"+mzscheme/dyn",
442 # else
443 	"+mzscheme",
444 # endif
445 #else
446 	"-mzscheme",
447 #endif
448 #ifdef FEAT_NETBEANS_INTG
449 	"+netbeans_intg",
450 #else
451 	"-netbeans_intg",
452 #endif
453 	"+num64",
454 #ifdef FEAT_GUI_MSWIN
455 # ifdef FEAT_OLE
456 	"+ole",
457 # else
458 	"-ole",
459 # endif
460 #endif
461 #ifdef FEAT_EVAL
462 	"+packages",
463 #else
464 	"-packages",
465 #endif
466 #ifdef FEAT_PATH_EXTRA
467 	"+path_extra",
468 #else
469 	"-path_extra",
470 #endif
471 #ifdef FEAT_PERL
472 # ifdef DYNAMIC_PERL
473 	"+perl/dyn",
474 # else
475 	"+perl",
476 # endif
477 #else
478 	"-perl",
479 #endif
480 #ifdef FEAT_PERSISTENT_UNDO
481 	"+persistent_undo",
482 #else
483 	"-persistent_undo",
484 #endif
485 #ifdef FEAT_PROP_POPUP
486 	"+popupwin",
487 #else
488 	"-popupwin",
489 #endif
490 #ifdef FEAT_PRINTER
491 # ifdef FEAT_POSTSCRIPT
492 	"+postscript",
493 # else
494 	"-postscript",
495 # endif
496 	"+printer",
497 #else
498 	"-printer",
499 #endif
500 #ifdef FEAT_PROFILE
501 	"+profile",
502 #else
503 	"-profile",
504 #endif
505 #ifdef FEAT_PYTHON
506 # ifdef DYNAMIC_PYTHON
507 	"+python/dyn",
508 # else
509 	"+python",
510 # endif
511 #else
512 	"-python",
513 #endif
514 #ifdef FEAT_PYTHON3
515 # ifdef DYNAMIC_PYTHON3
516 	"+python3/dyn",
517 # else
518 	"+python3",
519 # endif
520 #else
521 	"-python3",
522 #endif
523 #ifdef FEAT_QUICKFIX
524 	"+quickfix",
525 #else
526 	"-quickfix",
527 #endif
528 #ifdef FEAT_RELTIME
529 	"+reltime",
530 #else
531 	"-reltime",
532 #endif
533 #ifdef FEAT_RIGHTLEFT
534 	"+rightleft",
535 #else
536 	"-rightleft",
537 #endif
538 #ifdef FEAT_RUBY
539 # ifdef DYNAMIC_RUBY
540 	"+ruby/dyn",
541 # else
542 	"+ruby",
543 # endif
544 #else
545 	"-ruby",
546 #endif
547 	"+scrollbind",
548 #ifdef FEAT_SIGNS
549 	"+signs",
550 #else
551 	"-signs",
552 #endif
553 #ifdef FEAT_SMARTINDENT
554 	"+smartindent",
555 #else
556 	"-smartindent",
557 #endif
558 #ifdef FEAT_SODIUM
559 	"+sodium",
560 #else
561 	"-sodium",
562 #endif
563 #ifdef FEAT_SOUND
564 	"+sound",
565 #else
566 	"-sound",
567 #endif
568 #ifdef FEAT_SPELL
569 	"+spell",
570 #else
571 	"-spell",
572 #endif
573 #ifdef STARTUPTIME
574 	"+startuptime",
575 #else
576 	"-startuptime",
577 #endif
578 #ifdef FEAT_STL_OPT
579 	"+statusline",
580 #else
581 	"-statusline",
582 #endif
583 	"-sun_workshop",
584 #ifdef FEAT_SYN_HL
585 	"+syntax",
586 #else
587 	"-syntax",
588 #endif
589 	    // only interesting on Unix systems
590 #if defined(USE_SYSTEM) && defined(UNIX)
591 	"+system()",
592 #endif
593 #ifdef FEAT_TAG_BINS
594 	"+tag_binary",
595 #else
596 	"-tag_binary",
597 #endif
598 	"-tag_old_static",
599 	"-tag_any_white",
600 #ifdef FEAT_TCL
601 # ifdef DYNAMIC_TCL
602 	"+tcl/dyn",
603 # else
604 	"+tcl",
605 # endif
606 #else
607 	"-tcl",
608 #endif
609 #ifdef FEAT_TERMGUICOLORS
610 	"+termguicolors",
611 #else
612 	"-termguicolors",
613 #endif
614 #ifdef FEAT_TERMINAL
615 	"+terminal",
616 #else
617 	"-terminal",
618 #endif
619 #if defined(UNIX)
620 // only Unix can have terminfo instead of termcap
621 # ifdef TERMINFO
622 	"+terminfo",
623 # else
624 	"-terminfo",
625 # endif
626 #endif
627 #ifdef FEAT_TERMRESPONSE
628 	"+termresponse",
629 #else
630 	"-termresponse",
631 #endif
632 #ifdef FEAT_TEXTOBJ
633 	"+textobjects",
634 #else
635 	"-textobjects",
636 #endif
637 #ifdef FEAT_PROP_POPUP
638 	"+textprop",
639 #else
640 	"-textprop",
641 #endif
642 #if !defined(UNIX)
643 // unix always includes termcap support
644 # ifdef HAVE_TGETENT
645 	"+tgetent",
646 # else
647 	"-tgetent",
648 # endif
649 #endif
650 #ifdef FEAT_TIMERS
651 	"+timers",
652 #else
653 	"-timers",
654 #endif
655 #ifdef FEAT_TITLE
656 	"+title",
657 #else
658 	"-title",
659 #endif
660 #ifdef FEAT_TOOLBAR
661 	"+toolbar",
662 #else
663 	"-toolbar",
664 #endif
665 	"+user_commands",
666 #ifdef FEAT_VARTABS
667 	"+vartabs",
668 #else
669 	"-vartabs",
670 #endif
671 	"+vertsplit",
672 	"+virtualedit",
673 	"+visual",
674 	"+visualextra",
675 #ifdef FEAT_VIMINFO
676 	"+viminfo",
677 #else
678 	"-viminfo",
679 #endif
680 	"+vreplace",
681 #ifdef MSWIN
682 # ifdef FEAT_VTP
683 	"+vtp",
684 # else
685 	"-vtp",
686 # endif
687 #endif
688 #ifdef FEAT_WILDIGN
689 	"+wildignore",
690 #else
691 	"-wildignore",
692 #endif
693 #ifdef FEAT_WILDMENU
694 	"+wildmenu",
695 #else
696 	"-wildmenu",
697 #endif
698 	"+windows",
699 #ifdef FEAT_WRITEBACKUP
700 	"+writebackup",
701 #else
702 	"-writebackup",
703 #endif
704 #if defined(UNIX) || defined(VMS)
705 # ifdef FEAT_X11
706 	"+X11",
707 # else
708 	"-X11",
709 # endif
710 #endif
711 #ifdef FEAT_XFONTSET
712 	"+xfontset",
713 #else
714 	"-xfontset",
715 #endif
716 #ifdef FEAT_XIM
717 	"+xim",
718 #else
719 	"-xim",
720 #endif
721 #ifdef MSWIN
722 # ifdef FEAT_XPM_W32
723 	"+xpm_w32",
724 # else
725 	"-xpm_w32",
726 # endif
727 #else
728 # ifdef HAVE_XPM
729 	"+xpm",
730 # else
731 	"-xpm",
732 # endif
733 #endif
734 #if defined(UNIX) || defined(VMS)
735 # ifdef USE_XSMP_INTERACT
736 	"+xsmp_interact",
737 # else
738 #  ifdef USE_XSMP
739 	"+xsmp",
740 #  else
741 	"-xsmp",
742 #  endif
743 # endif
744 # ifdef FEAT_XCLIPBOARD
745 	"+xterm_clipboard",
746 # else
747 	"-xterm_clipboard",
748 # endif
749 #endif
750 #ifdef FEAT_XTERM_SAVE
751 	"+xterm_save",
752 #else
753 	"-xterm_save",
754 #endif
755 	NULL
756 };
757 
758 static int included_patches[] =
759 {   /* Add new patch number below this line */
760 /**/
761     3631,
762 /**/
763     3630,
764 /**/
765     3629,
766 /**/
767     3628,
768 /**/
769     3627,
770 /**/
771     3626,
772 /**/
773     3625,
774 /**/
775     3624,
776 /**/
777     3623,
778 /**/
779     3622,
780 /**/
781     3621,
782 /**/
783     3620,
784 /**/
785     3619,
786 /**/
787     3618,
788 /**/
789     3617,
790 /**/
791     3616,
792 /**/
793     3615,
794 /**/
795     3614,
796 /**/
797     3613,
798 /**/
799     3612,
800 /**/
801     3611,
802 /**/
803     3610,
804 /**/
805     3609,
806 /**/
807     3608,
808 /**/
809     3607,
810 /**/
811     3606,
812 /**/
813     3605,
814 /**/
815     3604,
816 /**/
817     3603,
818 /**/
819     3602,
820 /**/
821     3601,
822 /**/
823     3600,
824 /**/
825     3599,
826 /**/
827     3598,
828 /**/
829     3597,
830 /**/
831     3596,
832 /**/
833     3595,
834 /**/
835     3594,
836 /**/
837     3593,
838 /**/
839     3592,
840 /**/
841     3591,
842 /**/
843     3590,
844 /**/
845     3589,
846 /**/
847     3588,
848 /**/
849     3587,
850 /**/
851     3586,
852 /**/
853     3585,
854 /**/
855     3584,
856 /**/
857     3583,
858 /**/
859     3582,
860 /**/
861     3581,
862 /**/
863     3580,
864 /**/
865     3579,
866 /**/
867     3578,
868 /**/
869     3577,
870 /**/
871     3576,
872 /**/
873     3575,
874 /**/
875     3574,
876 /**/
877     3573,
878 /**/
879     3572,
880 /**/
881     3571,
882 /**/
883     3570,
884 /**/
885     3569,
886 /**/
887     3568,
888 /**/
889     3567,
890 /**/
891     3566,
892 /**/
893     3565,
894 /**/
895     3564,
896 /**/
897     3563,
898 /**/
899     3562,
900 /**/
901     3561,
902 /**/
903     3560,
904 /**/
905     3559,
906 /**/
907     3558,
908 /**/
909     3557,
910 /**/
911     3556,
912 /**/
913     3555,
914 /**/
915     3554,
916 /**/
917     3553,
918 /**/
919     3552,
920 /**/
921     3551,
922 /**/
923     3550,
924 /**/
925     3549,
926 /**/
927     3548,
928 /**/
929     3547,
930 /**/
931     3546,
932 /**/
933     3545,
934 /**/
935     3544,
936 /**/
937     3543,
938 /**/
939     3542,
940 /**/
941     3541,
942 /**/
943     3540,
944 /**/
945     3539,
946 /**/
947     3538,
948 /**/
949     3537,
950 /**/
951     3536,
952 /**/
953     3535,
954 /**/
955     3534,
956 /**/
957     3533,
958 /**/
959     3532,
960 /**/
961     3531,
962 /**/
963     3530,
964 /**/
965     3529,
966 /**/
967     3528,
968 /**/
969     3527,
970 /**/
971     3526,
972 /**/
973     3525,
974 /**/
975     3524,
976 /**/
977     3523,
978 /**/
979     3522,
980 /**/
981     3521,
982 /**/
983     3520,
984 /**/
985     3519,
986 /**/
987     3518,
988 /**/
989     3517,
990 /**/
991     3516,
992 /**/
993     3515,
994 /**/
995     3514,
996 /**/
997     3513,
998 /**/
999     3512,
1000 /**/
1001     3511,
1002 /**/
1003     3510,
1004 /**/
1005     3509,
1006 /**/
1007     3508,
1008 /**/
1009     3507,
1010 /**/
1011     3506,
1012 /**/
1013     3505,
1014 /**/
1015     3504,
1016 /**/
1017     3503,
1018 /**/
1019     3502,
1020 /**/
1021     3501,
1022 /**/
1023     3500,
1024 /**/
1025     3499,
1026 /**/
1027     3498,
1028 /**/
1029     3497,
1030 /**/
1031     3496,
1032 /**/
1033     3495,
1034 /**/
1035     3494,
1036 /**/
1037     3493,
1038 /**/
1039     3492,
1040 /**/
1041     3491,
1042 /**/
1043     3490,
1044 /**/
1045     3489,
1046 /**/
1047     3488,
1048 /**/
1049     3487,
1050 /**/
1051     3486,
1052 /**/
1053     3485,
1054 /**/
1055     3484,
1056 /**/
1057     3483,
1058 /**/
1059     3482,
1060 /**/
1061     3481,
1062 /**/
1063     3480,
1064 /**/
1065     3479,
1066 /**/
1067     3478,
1068 /**/
1069     3477,
1070 /**/
1071     3476,
1072 /**/
1073     3475,
1074 /**/
1075     3474,
1076 /**/
1077     3473,
1078 /**/
1079     3472,
1080 /**/
1081     3471,
1082 /**/
1083     3470,
1084 /**/
1085     3469,
1086 /**/
1087     3468,
1088 /**/
1089     3467,
1090 /**/
1091     3466,
1092 /**/
1093     3465,
1094 /**/
1095     3464,
1096 /**/
1097     3463,
1098 /**/
1099     3462,
1100 /**/
1101     3461,
1102 /**/
1103     3460,
1104 /**/
1105     3459,
1106 /**/
1107     3458,
1108 /**/
1109     3457,
1110 /**/
1111     3456,
1112 /**/
1113     3455,
1114 /**/
1115     3454,
1116 /**/
1117     3453,
1118 /**/
1119     3452,
1120 /**/
1121     3451,
1122 /**/
1123     3450,
1124 /**/
1125     3449,
1126 /**/
1127     3448,
1128 /**/
1129     3447,
1130 /**/
1131     3446,
1132 /**/
1133     3445,
1134 /**/
1135     3444,
1136 /**/
1137     3443,
1138 /**/
1139     3442,
1140 /**/
1141     3441,
1142 /**/
1143     3440,
1144 /**/
1145     3439,
1146 /**/
1147     3438,
1148 /**/
1149     3437,
1150 /**/
1151     3436,
1152 /**/
1153     3435,
1154 /**/
1155     3434,
1156 /**/
1157     3433,
1158 /**/
1159     3432,
1160 /**/
1161     3431,
1162 /**/
1163     3430,
1164 /**/
1165     3429,
1166 /**/
1167     3428,
1168 /**/
1169     3427,
1170 /**/
1171     3426,
1172 /**/
1173     3425,
1174 /**/
1175     3424,
1176 /**/
1177     3423,
1178 /**/
1179     3422,
1180 /**/
1181     3421,
1182 /**/
1183     3420,
1184 /**/
1185     3419,
1186 /**/
1187     3418,
1188 /**/
1189     3417,
1190 /**/
1191     3416,
1192 /**/
1193     3415,
1194 /**/
1195     3414,
1196 /**/
1197     3413,
1198 /**/
1199     3412,
1200 /**/
1201     3411,
1202 /**/
1203     3410,
1204 /**/
1205     3409,
1206 /**/
1207     3408,
1208 /**/
1209     3407,
1210 /**/
1211     3406,
1212 /**/
1213     3405,
1214 /**/
1215     3404,
1216 /**/
1217     3403,
1218 /**/
1219     3402,
1220 /**/
1221     3401,
1222 /**/
1223     3400,
1224 /**/
1225     3399,
1226 /**/
1227     3398,
1228 /**/
1229     3397,
1230 /**/
1231     3396,
1232 /**/
1233     3395,
1234 /**/
1235     3394,
1236 /**/
1237     3393,
1238 /**/
1239     3392,
1240 /**/
1241     3391,
1242 /**/
1243     3390,
1244 /**/
1245     3389,
1246 /**/
1247     3388,
1248 /**/
1249     3387,
1250 /**/
1251     3386,
1252 /**/
1253     3385,
1254 /**/
1255     3384,
1256 /**/
1257     3383,
1258 /**/
1259     3382,
1260 /**/
1261     3381,
1262 /**/
1263     3380,
1264 /**/
1265     3379,
1266 /**/
1267     3378,
1268 /**/
1269     3377,
1270 /**/
1271     3376,
1272 /**/
1273     3375,
1274 /**/
1275     3374,
1276 /**/
1277     3373,
1278 /**/
1279     3372,
1280 /**/
1281     3371,
1282 /**/
1283     3370,
1284 /**/
1285     3369,
1286 /**/
1287     3368,
1288 /**/
1289     3367,
1290 /**/
1291     3366,
1292 /**/
1293     3365,
1294 /**/
1295     3364,
1296 /**/
1297     3363,
1298 /**/
1299     3362,
1300 /**/
1301     3361,
1302 /**/
1303     3360,
1304 /**/
1305     3359,
1306 /**/
1307     3358,
1308 /**/
1309     3357,
1310 /**/
1311     3356,
1312 /**/
1313     3355,
1314 /**/
1315     3354,
1316 /**/
1317     3353,
1318 /**/
1319     3352,
1320 /**/
1321     3351,
1322 /**/
1323     3350,
1324 /**/
1325     3349,
1326 /**/
1327     3348,
1328 /**/
1329     3347,
1330 /**/
1331     3346,
1332 /**/
1333     3345,
1334 /**/
1335     3344,
1336 /**/
1337     3343,
1338 /**/
1339     3342,
1340 /**/
1341     3341,
1342 /**/
1343     3340,
1344 /**/
1345     3339,
1346 /**/
1347     3338,
1348 /**/
1349     3337,
1350 /**/
1351     3336,
1352 /**/
1353     3335,
1354 /**/
1355     3334,
1356 /**/
1357     3333,
1358 /**/
1359     3332,
1360 /**/
1361     3331,
1362 /**/
1363     3330,
1364 /**/
1365     3329,
1366 /**/
1367     3328,
1368 /**/
1369     3327,
1370 /**/
1371     3326,
1372 /**/
1373     3325,
1374 /**/
1375     3324,
1376 /**/
1377     3323,
1378 /**/
1379     3322,
1380 /**/
1381     3321,
1382 /**/
1383     3320,
1384 /**/
1385     3319,
1386 /**/
1387     3318,
1388 /**/
1389     3317,
1390 /**/
1391     3316,
1392 /**/
1393     3315,
1394 /**/
1395     3314,
1396 /**/
1397     3313,
1398 /**/
1399     3312,
1400 /**/
1401     3311,
1402 /**/
1403     3310,
1404 /**/
1405     3309,
1406 /**/
1407     3308,
1408 /**/
1409     3307,
1410 /**/
1411     3306,
1412 /**/
1413     3305,
1414 /**/
1415     3304,
1416 /**/
1417     3303,
1418 /**/
1419     3302,
1420 /**/
1421     3301,
1422 /**/
1423     3300,
1424 /**/
1425     3299,
1426 /**/
1427     3298,
1428 /**/
1429     3297,
1430 /**/
1431     3296,
1432 /**/
1433     3295,
1434 /**/
1435     3294,
1436 /**/
1437     3293,
1438 /**/
1439     3292,
1440 /**/
1441     3291,
1442 /**/
1443     3290,
1444 /**/
1445     3289,
1446 /**/
1447     3288,
1448 /**/
1449     3287,
1450 /**/
1451     3286,
1452 /**/
1453     3285,
1454 /**/
1455     3284,
1456 /**/
1457     3283,
1458 /**/
1459     3282,
1460 /**/
1461     3281,
1462 /**/
1463     3280,
1464 /**/
1465     3279,
1466 /**/
1467     3278,
1468 /**/
1469     3277,
1470 /**/
1471     3276,
1472 /**/
1473     3275,
1474 /**/
1475     3274,
1476 /**/
1477     3273,
1478 /**/
1479     3272,
1480 /**/
1481     3271,
1482 /**/
1483     3270,
1484 /**/
1485     3269,
1486 /**/
1487     3268,
1488 /**/
1489     3267,
1490 /**/
1491     3266,
1492 /**/
1493     3265,
1494 /**/
1495     3264,
1496 /**/
1497     3263,
1498 /**/
1499     3262,
1500 /**/
1501     3261,
1502 /**/
1503     3260,
1504 /**/
1505     3259,
1506 /**/
1507     3258,
1508 /**/
1509     3257,
1510 /**/
1511     3256,
1512 /**/
1513     3255,
1514 /**/
1515     3254,
1516 /**/
1517     3253,
1518 /**/
1519     3252,
1520 /**/
1521     3251,
1522 /**/
1523     3250,
1524 /**/
1525     3249,
1526 /**/
1527     3248,
1528 /**/
1529     3247,
1530 /**/
1531     3246,
1532 /**/
1533     3245,
1534 /**/
1535     3244,
1536 /**/
1537     3243,
1538 /**/
1539     3242,
1540 /**/
1541     3241,
1542 /**/
1543     3240,
1544 /**/
1545     3239,
1546 /**/
1547     3238,
1548 /**/
1549     3237,
1550 /**/
1551     3236,
1552 /**/
1553     3235,
1554 /**/
1555     3234,
1556 /**/
1557     3233,
1558 /**/
1559     3232,
1560 /**/
1561     3231,
1562 /**/
1563     3230,
1564 /**/
1565     3229,
1566 /**/
1567     3228,
1568 /**/
1569     3227,
1570 /**/
1571     3226,
1572 /**/
1573     3225,
1574 /**/
1575     3224,
1576 /**/
1577     3223,
1578 /**/
1579     3222,
1580 /**/
1581     3221,
1582 /**/
1583     3220,
1584 /**/
1585     3219,
1586 /**/
1587     3218,
1588 /**/
1589     3217,
1590 /**/
1591     3216,
1592 /**/
1593     3215,
1594 /**/
1595     3214,
1596 /**/
1597     3213,
1598 /**/
1599     3212,
1600 /**/
1601     3211,
1602 /**/
1603     3210,
1604 /**/
1605     3209,
1606 /**/
1607     3208,
1608 /**/
1609     3207,
1610 /**/
1611     3206,
1612 /**/
1613     3205,
1614 /**/
1615     3204,
1616 /**/
1617     3203,
1618 /**/
1619     3202,
1620 /**/
1621     3201,
1622 /**/
1623     3200,
1624 /**/
1625     3199,
1626 /**/
1627     3198,
1628 /**/
1629     3197,
1630 /**/
1631     3196,
1632 /**/
1633     3195,
1634 /**/
1635     3194,
1636 /**/
1637     3193,
1638 /**/
1639     3192,
1640 /**/
1641     3191,
1642 /**/
1643     3190,
1644 /**/
1645     3189,
1646 /**/
1647     3188,
1648 /**/
1649     3187,
1650 /**/
1651     3186,
1652 /**/
1653     3185,
1654 /**/
1655     3184,
1656 /**/
1657     3183,
1658 /**/
1659     3182,
1660 /**/
1661     3181,
1662 /**/
1663     3180,
1664 /**/
1665     3179,
1666 /**/
1667     3178,
1668 /**/
1669     3177,
1670 /**/
1671     3176,
1672 /**/
1673     3175,
1674 /**/
1675     3174,
1676 /**/
1677     3173,
1678 /**/
1679     3172,
1680 /**/
1681     3171,
1682 /**/
1683     3170,
1684 /**/
1685     3169,
1686 /**/
1687     3168,
1688 /**/
1689     3167,
1690 /**/
1691     3166,
1692 /**/
1693     3165,
1694 /**/
1695     3164,
1696 /**/
1697     3163,
1698 /**/
1699     3162,
1700 /**/
1701     3161,
1702 /**/
1703     3160,
1704 /**/
1705     3159,
1706 /**/
1707     3158,
1708 /**/
1709     3157,
1710 /**/
1711     3156,
1712 /**/
1713     3155,
1714 /**/
1715     3154,
1716 /**/
1717     3153,
1718 /**/
1719     3152,
1720 /**/
1721     3151,
1722 /**/
1723     3150,
1724 /**/
1725     3149,
1726 /**/
1727     3148,
1728 /**/
1729     3147,
1730 /**/
1731     3146,
1732 /**/
1733     3145,
1734 /**/
1735     3144,
1736 /**/
1737     3143,
1738 /**/
1739     3142,
1740 /**/
1741     3141,
1742 /**/
1743     3140,
1744 /**/
1745     3139,
1746 /**/
1747     3138,
1748 /**/
1749     3137,
1750 /**/
1751     3136,
1752 /**/
1753     3135,
1754 /**/
1755     3134,
1756 /**/
1757     3133,
1758 /**/
1759     3132,
1760 /**/
1761     3131,
1762 /**/
1763     3130,
1764 /**/
1765     3129,
1766 /**/
1767     3128,
1768 /**/
1769     3127,
1770 /**/
1771     3126,
1772 /**/
1773     3125,
1774 /**/
1775     3124,
1776 /**/
1777     3123,
1778 /**/
1779     3122,
1780 /**/
1781     3121,
1782 /**/
1783     3120,
1784 /**/
1785     3119,
1786 /**/
1787     3118,
1788 /**/
1789     3117,
1790 /**/
1791     3116,
1792 /**/
1793     3115,
1794 /**/
1795     3114,
1796 /**/
1797     3113,
1798 /**/
1799     3112,
1800 /**/
1801     3111,
1802 /**/
1803     3110,
1804 /**/
1805     3109,
1806 /**/
1807     3108,
1808 /**/
1809     3107,
1810 /**/
1811     3106,
1812 /**/
1813     3105,
1814 /**/
1815     3104,
1816 /**/
1817     3103,
1818 /**/
1819     3102,
1820 /**/
1821     3101,
1822 /**/
1823     3100,
1824 /**/
1825     3099,
1826 /**/
1827     3098,
1828 /**/
1829     3097,
1830 /**/
1831     3096,
1832 /**/
1833     3095,
1834 /**/
1835     3094,
1836 /**/
1837     3093,
1838 /**/
1839     3092,
1840 /**/
1841     3091,
1842 /**/
1843     3090,
1844 /**/
1845     3089,
1846 /**/
1847     3088,
1848 /**/
1849     3087,
1850 /**/
1851     3086,
1852 /**/
1853     3085,
1854 /**/
1855     3084,
1856 /**/
1857     3083,
1858 /**/
1859     3082,
1860 /**/
1861     3081,
1862 /**/
1863     3080,
1864 /**/
1865     3079,
1866 /**/
1867     3078,
1868 /**/
1869     3077,
1870 /**/
1871     3076,
1872 /**/
1873     3075,
1874 /**/
1875     3074,
1876 /**/
1877     3073,
1878 /**/
1879     3072,
1880 /**/
1881     3071,
1882 /**/
1883     3070,
1884 /**/
1885     3069,
1886 /**/
1887     3068,
1888 /**/
1889     3067,
1890 /**/
1891     3066,
1892 /**/
1893     3065,
1894 /**/
1895     3064,
1896 /**/
1897     3063,
1898 /**/
1899     3062,
1900 /**/
1901     3061,
1902 /**/
1903     3060,
1904 /**/
1905     3059,
1906 /**/
1907     3058,
1908 /**/
1909     3057,
1910 /**/
1911     3056,
1912 /**/
1913     3055,
1914 /**/
1915     3054,
1916 /**/
1917     3053,
1918 /**/
1919     3052,
1920 /**/
1921     3051,
1922 /**/
1923     3050,
1924 /**/
1925     3049,
1926 /**/
1927     3048,
1928 /**/
1929     3047,
1930 /**/
1931     3046,
1932 /**/
1933     3045,
1934 /**/
1935     3044,
1936 /**/
1937     3043,
1938 /**/
1939     3042,
1940 /**/
1941     3041,
1942 /**/
1943     3040,
1944 /**/
1945     3039,
1946 /**/
1947     3038,
1948 /**/
1949     3037,
1950 /**/
1951     3036,
1952 /**/
1953     3035,
1954 /**/
1955     3034,
1956 /**/
1957     3033,
1958 /**/
1959     3032,
1960 /**/
1961     3031,
1962 /**/
1963     3030,
1964 /**/
1965     3029,
1966 /**/
1967     3028,
1968 /**/
1969     3027,
1970 /**/
1971     3026,
1972 /**/
1973     3025,
1974 /**/
1975     3024,
1976 /**/
1977     3023,
1978 /**/
1979     3022,
1980 /**/
1981     3021,
1982 /**/
1983     3020,
1984 /**/
1985     3019,
1986 /**/
1987     3018,
1988 /**/
1989     3017,
1990 /**/
1991     3016,
1992 /**/
1993     3015,
1994 /**/
1995     3014,
1996 /**/
1997     3013,
1998 /**/
1999     3012,
2000 /**/
2001     3011,
2002 /**/
2003     3010,
2004 /**/
2005     3009,
2006 /**/
2007     3008,
2008 /**/
2009     3007,
2010 /**/
2011     3006,
2012 /**/
2013     3005,
2014 /**/
2015     3004,
2016 /**/
2017     3003,
2018 /**/
2019     3002,
2020 /**/
2021     3001,
2022 /**/
2023     3000,
2024 /**/
2025     2999,
2026 /**/
2027     2998,
2028 /**/
2029     2997,
2030 /**/
2031     2996,
2032 /**/
2033     2995,
2034 /**/
2035     2994,
2036 /**/
2037     2993,
2038 /**/
2039     2992,
2040 /**/
2041     2991,
2042 /**/
2043     2990,
2044 /**/
2045     2989,
2046 /**/
2047     2988,
2048 /**/
2049     2987,
2050 /**/
2051     2986,
2052 /**/
2053     2985,
2054 /**/
2055     2984,
2056 /**/
2057     2983,
2058 /**/
2059     2982,
2060 /**/
2061     2981,
2062 /**/
2063     2980,
2064 /**/
2065     2979,
2066 /**/
2067     2978,
2068 /**/
2069     2977,
2070 /**/
2071     2976,
2072 /**/
2073     2975,
2074 /**/
2075     2974,
2076 /**/
2077     2973,
2078 /**/
2079     2972,
2080 /**/
2081     2971,
2082 /**/
2083     2970,
2084 /**/
2085     2969,
2086 /**/
2087     2968,
2088 /**/
2089     2967,
2090 /**/
2091     2966,
2092 /**/
2093     2965,
2094 /**/
2095     2964,
2096 /**/
2097     2963,
2098 /**/
2099     2962,
2100 /**/
2101     2961,
2102 /**/
2103     2960,
2104 /**/
2105     2959,
2106 /**/
2107     2958,
2108 /**/
2109     2957,
2110 /**/
2111     2956,
2112 /**/
2113     2955,
2114 /**/
2115     2954,
2116 /**/
2117     2953,
2118 /**/
2119     2952,
2120 /**/
2121     2951,
2122 /**/
2123     2950,
2124 /**/
2125     2949,
2126 /**/
2127     2948,
2128 /**/
2129     2947,
2130 /**/
2131     2946,
2132 /**/
2133     2945,
2134 /**/
2135     2944,
2136 /**/
2137     2943,
2138 /**/
2139     2942,
2140 /**/
2141     2941,
2142 /**/
2143     2940,
2144 /**/
2145     2939,
2146 /**/
2147     2938,
2148 /**/
2149     2937,
2150 /**/
2151     2936,
2152 /**/
2153     2935,
2154 /**/
2155     2934,
2156 /**/
2157     2933,
2158 /**/
2159     2932,
2160 /**/
2161     2931,
2162 /**/
2163     2930,
2164 /**/
2165     2929,
2166 /**/
2167     2928,
2168 /**/
2169     2927,
2170 /**/
2171     2926,
2172 /**/
2173     2925,
2174 /**/
2175     2924,
2176 /**/
2177     2923,
2178 /**/
2179     2922,
2180 /**/
2181     2921,
2182 /**/
2183     2920,
2184 /**/
2185     2919,
2186 /**/
2187     2918,
2188 /**/
2189     2917,
2190 /**/
2191     2916,
2192 /**/
2193     2915,
2194 /**/
2195     2914,
2196 /**/
2197     2913,
2198 /**/
2199     2912,
2200 /**/
2201     2911,
2202 /**/
2203     2910,
2204 /**/
2205     2909,
2206 /**/
2207     2908,
2208 /**/
2209     2907,
2210 /**/
2211     2906,
2212 /**/
2213     2905,
2214 /**/
2215     2904,
2216 /**/
2217     2903,
2218 /**/
2219     2902,
2220 /**/
2221     2901,
2222 /**/
2223     2900,
2224 /**/
2225     2899,
2226 /**/
2227     2898,
2228 /**/
2229     2897,
2230 /**/
2231     2896,
2232 /**/
2233     2895,
2234 /**/
2235     2894,
2236 /**/
2237     2893,
2238 /**/
2239     2892,
2240 /**/
2241     2891,
2242 /**/
2243     2890,
2244 /**/
2245     2889,
2246 /**/
2247     2888,
2248 /**/
2249     2887,
2250 /**/
2251     2886,
2252 /**/
2253     2885,
2254 /**/
2255     2884,
2256 /**/
2257     2883,
2258 /**/
2259     2882,
2260 /**/
2261     2881,
2262 /**/
2263     2880,
2264 /**/
2265     2879,
2266 /**/
2267     2878,
2268 /**/
2269     2877,
2270 /**/
2271     2876,
2272 /**/
2273     2875,
2274 /**/
2275     2874,
2276 /**/
2277     2873,
2278 /**/
2279     2872,
2280 /**/
2281     2871,
2282 /**/
2283     2870,
2284 /**/
2285     2869,
2286 /**/
2287     2868,
2288 /**/
2289     2867,
2290 /**/
2291     2866,
2292 /**/
2293     2865,
2294 /**/
2295     2864,
2296 /**/
2297     2863,
2298 /**/
2299     2862,
2300 /**/
2301     2861,
2302 /**/
2303     2860,
2304 /**/
2305     2859,
2306 /**/
2307     2858,
2308 /**/
2309     2857,
2310 /**/
2311     2856,
2312 /**/
2313     2855,
2314 /**/
2315     2854,
2316 /**/
2317     2853,
2318 /**/
2319     2852,
2320 /**/
2321     2851,
2322 /**/
2323     2850,
2324 /**/
2325     2849,
2326 /**/
2327     2848,
2328 /**/
2329     2847,
2330 /**/
2331     2846,
2332 /**/
2333     2845,
2334 /**/
2335     2844,
2336 /**/
2337     2843,
2338 /**/
2339     2842,
2340 /**/
2341     2841,
2342 /**/
2343     2840,
2344 /**/
2345     2839,
2346 /**/
2347     2838,
2348 /**/
2349     2837,
2350 /**/
2351     2836,
2352 /**/
2353     2835,
2354 /**/
2355     2834,
2356 /**/
2357     2833,
2358 /**/
2359     2832,
2360 /**/
2361     2831,
2362 /**/
2363     2830,
2364 /**/
2365     2829,
2366 /**/
2367     2828,
2368 /**/
2369     2827,
2370 /**/
2371     2826,
2372 /**/
2373     2825,
2374 /**/
2375     2824,
2376 /**/
2377     2823,
2378 /**/
2379     2822,
2380 /**/
2381     2821,
2382 /**/
2383     2820,
2384 /**/
2385     2819,
2386 /**/
2387     2818,
2388 /**/
2389     2817,
2390 /**/
2391     2816,
2392 /**/
2393     2815,
2394 /**/
2395     2814,
2396 /**/
2397     2813,
2398 /**/
2399     2812,
2400 /**/
2401     2811,
2402 /**/
2403     2810,
2404 /**/
2405     2809,
2406 /**/
2407     2808,
2408 /**/
2409     2807,
2410 /**/
2411     2806,
2412 /**/
2413     2805,
2414 /**/
2415     2804,
2416 /**/
2417     2803,
2418 /**/
2419     2802,
2420 /**/
2421     2801,
2422 /**/
2423     2800,
2424 /**/
2425     2799,
2426 /**/
2427     2798,
2428 /**/
2429     2797,
2430 /**/
2431     2796,
2432 /**/
2433     2795,
2434 /**/
2435     2794,
2436 /**/
2437     2793,
2438 /**/
2439     2792,
2440 /**/
2441     2791,
2442 /**/
2443     2790,
2444 /**/
2445     2789,
2446 /**/
2447     2788,
2448 /**/
2449     2787,
2450 /**/
2451     2786,
2452 /**/
2453     2785,
2454 /**/
2455     2784,
2456 /**/
2457     2783,
2458 /**/
2459     2782,
2460 /**/
2461     2781,
2462 /**/
2463     2780,
2464 /**/
2465     2779,
2466 /**/
2467     2778,
2468 /**/
2469     2777,
2470 /**/
2471     2776,
2472 /**/
2473     2775,
2474 /**/
2475     2774,
2476 /**/
2477     2773,
2478 /**/
2479     2772,
2480 /**/
2481     2771,
2482 /**/
2483     2770,
2484 /**/
2485     2769,
2486 /**/
2487     2768,
2488 /**/
2489     2767,
2490 /**/
2491     2766,
2492 /**/
2493     2765,
2494 /**/
2495     2764,
2496 /**/
2497     2763,
2498 /**/
2499     2762,
2500 /**/
2501     2761,
2502 /**/
2503     2760,
2504 /**/
2505     2759,
2506 /**/
2507     2758,
2508 /**/
2509     2757,
2510 /**/
2511     2756,
2512 /**/
2513     2755,
2514 /**/
2515     2754,
2516 /**/
2517     2753,
2518 /**/
2519     2752,
2520 /**/
2521     2751,
2522 /**/
2523     2750,
2524 /**/
2525     2749,
2526 /**/
2527     2748,
2528 /**/
2529     2747,
2530 /**/
2531     2746,
2532 /**/
2533     2745,
2534 /**/
2535     2744,
2536 /**/
2537     2743,
2538 /**/
2539     2742,
2540 /**/
2541     2741,
2542 /**/
2543     2740,
2544 /**/
2545     2739,
2546 /**/
2547     2738,
2548 /**/
2549     2737,
2550 /**/
2551     2736,
2552 /**/
2553     2735,
2554 /**/
2555     2734,
2556 /**/
2557     2733,
2558 /**/
2559     2732,
2560 /**/
2561     2731,
2562 /**/
2563     2730,
2564 /**/
2565     2729,
2566 /**/
2567     2728,
2568 /**/
2569     2727,
2570 /**/
2571     2726,
2572 /**/
2573     2725,
2574 /**/
2575     2724,
2576 /**/
2577     2723,
2578 /**/
2579     2722,
2580 /**/
2581     2721,
2582 /**/
2583     2720,
2584 /**/
2585     2719,
2586 /**/
2587     2718,
2588 /**/
2589     2717,
2590 /**/
2591     2716,
2592 /**/
2593     2715,
2594 /**/
2595     2714,
2596 /**/
2597     2713,
2598 /**/
2599     2712,
2600 /**/
2601     2711,
2602 /**/
2603     2710,
2604 /**/
2605     2709,
2606 /**/
2607     2708,
2608 /**/
2609     2707,
2610 /**/
2611     2706,
2612 /**/
2613     2705,
2614 /**/
2615     2704,
2616 /**/
2617     2703,
2618 /**/
2619     2702,
2620 /**/
2621     2701,
2622 /**/
2623     2700,
2624 /**/
2625     2699,
2626 /**/
2627     2698,
2628 /**/
2629     2697,
2630 /**/
2631     2696,
2632 /**/
2633     2695,
2634 /**/
2635     2694,
2636 /**/
2637     2693,
2638 /**/
2639     2692,
2640 /**/
2641     2691,
2642 /**/
2643     2690,
2644 /**/
2645     2689,
2646 /**/
2647     2688,
2648 /**/
2649     2687,
2650 /**/
2651     2686,
2652 /**/
2653     2685,
2654 /**/
2655     2684,
2656 /**/
2657     2683,
2658 /**/
2659     2682,
2660 /**/
2661     2681,
2662 /**/
2663     2680,
2664 /**/
2665     2679,
2666 /**/
2667     2678,
2668 /**/
2669     2677,
2670 /**/
2671     2676,
2672 /**/
2673     2675,
2674 /**/
2675     2674,
2676 /**/
2677     2673,
2678 /**/
2679     2672,
2680 /**/
2681     2671,
2682 /**/
2683     2670,
2684 /**/
2685     2669,
2686 /**/
2687     2668,
2688 /**/
2689     2667,
2690 /**/
2691     2666,
2692 /**/
2693     2665,
2694 /**/
2695     2664,
2696 /**/
2697     2663,
2698 /**/
2699     2662,
2700 /**/
2701     2661,
2702 /**/
2703     2660,
2704 /**/
2705     2659,
2706 /**/
2707     2658,
2708 /**/
2709     2657,
2710 /**/
2711     2656,
2712 /**/
2713     2655,
2714 /**/
2715     2654,
2716 /**/
2717     2653,
2718 /**/
2719     2652,
2720 /**/
2721     2651,
2722 /**/
2723     2650,
2724 /**/
2725     2649,
2726 /**/
2727     2648,
2728 /**/
2729     2647,
2730 /**/
2731     2646,
2732 /**/
2733     2645,
2734 /**/
2735     2644,
2736 /**/
2737     2643,
2738 /**/
2739     2642,
2740 /**/
2741     2641,
2742 /**/
2743     2640,
2744 /**/
2745     2639,
2746 /**/
2747     2638,
2748 /**/
2749     2637,
2750 /**/
2751     2636,
2752 /**/
2753     2635,
2754 /**/
2755     2634,
2756 /**/
2757     2633,
2758 /**/
2759     2632,
2760 /**/
2761     2631,
2762 /**/
2763     2630,
2764 /**/
2765     2629,
2766 /**/
2767     2628,
2768 /**/
2769     2627,
2770 /**/
2771     2626,
2772 /**/
2773     2625,
2774 /**/
2775     2624,
2776 /**/
2777     2623,
2778 /**/
2779     2622,
2780 /**/
2781     2621,
2782 /**/
2783     2620,
2784 /**/
2785     2619,
2786 /**/
2787     2618,
2788 /**/
2789     2617,
2790 /**/
2791     2616,
2792 /**/
2793     2615,
2794 /**/
2795     2614,
2796 /**/
2797     2613,
2798 /**/
2799     2612,
2800 /**/
2801     2611,
2802 /**/
2803     2610,
2804 /**/
2805     2609,
2806 /**/
2807     2608,
2808 /**/
2809     2607,
2810 /**/
2811     2606,
2812 /**/
2813     2605,
2814 /**/
2815     2604,
2816 /**/
2817     2603,
2818 /**/
2819     2602,
2820 /**/
2821     2601,
2822 /**/
2823     2600,
2824 /**/
2825     2599,
2826 /**/
2827     2598,
2828 /**/
2829     2597,
2830 /**/
2831     2596,
2832 /**/
2833     2595,
2834 /**/
2835     2594,
2836 /**/
2837     2593,
2838 /**/
2839     2592,
2840 /**/
2841     2591,
2842 /**/
2843     2590,
2844 /**/
2845     2589,
2846 /**/
2847     2588,
2848 /**/
2849     2587,
2850 /**/
2851     2586,
2852 /**/
2853     2585,
2854 /**/
2855     2584,
2856 /**/
2857     2583,
2858 /**/
2859     2582,
2860 /**/
2861     2581,
2862 /**/
2863     2580,
2864 /**/
2865     2579,
2866 /**/
2867     2578,
2868 /**/
2869     2577,
2870 /**/
2871     2576,
2872 /**/
2873     2575,
2874 /**/
2875     2574,
2876 /**/
2877     2573,
2878 /**/
2879     2572,
2880 /**/
2881     2571,
2882 /**/
2883     2570,
2884 /**/
2885     2569,
2886 /**/
2887     2568,
2888 /**/
2889     2567,
2890 /**/
2891     2566,
2892 /**/
2893     2565,
2894 /**/
2895     2564,
2896 /**/
2897     2563,
2898 /**/
2899     2562,
2900 /**/
2901     2561,
2902 /**/
2903     2560,
2904 /**/
2905     2559,
2906 /**/
2907     2558,
2908 /**/
2909     2557,
2910 /**/
2911     2556,
2912 /**/
2913     2555,
2914 /**/
2915     2554,
2916 /**/
2917     2553,
2918 /**/
2919     2552,
2920 /**/
2921     2551,
2922 /**/
2923     2550,
2924 /**/
2925     2549,
2926 /**/
2927     2548,
2928 /**/
2929     2547,
2930 /**/
2931     2546,
2932 /**/
2933     2545,
2934 /**/
2935     2544,
2936 /**/
2937     2543,
2938 /**/
2939     2542,
2940 /**/
2941     2541,
2942 /**/
2943     2540,
2944 /**/
2945     2539,
2946 /**/
2947     2538,
2948 /**/
2949     2537,
2950 /**/
2951     2536,
2952 /**/
2953     2535,
2954 /**/
2955     2534,
2956 /**/
2957     2533,
2958 /**/
2959     2532,
2960 /**/
2961     2531,
2962 /**/
2963     2530,
2964 /**/
2965     2529,
2966 /**/
2967     2528,
2968 /**/
2969     2527,
2970 /**/
2971     2526,
2972 /**/
2973     2525,
2974 /**/
2975     2524,
2976 /**/
2977     2523,
2978 /**/
2979     2522,
2980 /**/
2981     2521,
2982 /**/
2983     2520,
2984 /**/
2985     2519,
2986 /**/
2987     2518,
2988 /**/
2989     2517,
2990 /**/
2991     2516,
2992 /**/
2993     2515,
2994 /**/
2995     2514,
2996 /**/
2997     2513,
2998 /**/
2999     2512,
3000 /**/
3001     2511,
3002 /**/
3003     2510,
3004 /**/
3005     2509,
3006 /**/
3007     2508,
3008 /**/
3009     2507,
3010 /**/
3011     2506,
3012 /**/
3013     2505,
3014 /**/
3015     2504,
3016 /**/
3017     2503,
3018 /**/
3019     2502,
3020 /**/
3021     2501,
3022 /**/
3023     2500,
3024 /**/
3025     2499,
3026 /**/
3027     2498,
3028 /**/
3029     2497,
3030 /**/
3031     2496,
3032 /**/
3033     2495,
3034 /**/
3035     2494,
3036 /**/
3037     2493,
3038 /**/
3039     2492,
3040 /**/
3041     2491,
3042 /**/
3043     2490,
3044 /**/
3045     2489,
3046 /**/
3047     2488,
3048 /**/
3049     2487,
3050 /**/
3051     2486,
3052 /**/
3053     2485,
3054 /**/
3055     2484,
3056 /**/
3057     2483,
3058 /**/
3059     2482,
3060 /**/
3061     2481,
3062 /**/
3063     2480,
3064 /**/
3065     2479,
3066 /**/
3067     2478,
3068 /**/
3069     2477,
3070 /**/
3071     2476,
3072 /**/
3073     2475,
3074 /**/
3075     2474,
3076 /**/
3077     2473,
3078 /**/
3079     2472,
3080 /**/
3081     2471,
3082 /**/
3083     2470,
3084 /**/
3085     2469,
3086 /**/
3087     2468,
3088 /**/
3089     2467,
3090 /**/
3091     2466,
3092 /**/
3093     2465,
3094 /**/
3095     2464,
3096 /**/
3097     2463,
3098 /**/
3099     2462,
3100 /**/
3101     2461,
3102 /**/
3103     2460,
3104 /**/
3105     2459,
3106 /**/
3107     2458,
3108 /**/
3109     2457,
3110 /**/
3111     2456,
3112 /**/
3113     2455,
3114 /**/
3115     2454,
3116 /**/
3117     2453,
3118 /**/
3119     2452,
3120 /**/
3121     2451,
3122 /**/
3123     2450,
3124 /**/
3125     2449,
3126 /**/
3127     2448,
3128 /**/
3129     2447,
3130 /**/
3131     2446,
3132 /**/
3133     2445,
3134 /**/
3135     2444,
3136 /**/
3137     2443,
3138 /**/
3139     2442,
3140 /**/
3141     2441,
3142 /**/
3143     2440,
3144 /**/
3145     2439,
3146 /**/
3147     2438,
3148 /**/
3149     2437,
3150 /**/
3151     2436,
3152 /**/
3153     2435,
3154 /**/
3155     2434,
3156 /**/
3157     2433,
3158 /**/
3159     2432,
3160 /**/
3161     2431,
3162 /**/
3163     2430,
3164 /**/
3165     2429,
3166 /**/
3167     2428,
3168 /**/
3169     2427,
3170 /**/
3171     2426,
3172 /**/
3173     2425,
3174 /**/
3175     2424,
3176 /**/
3177     2423,
3178 /**/
3179     2422,
3180 /**/
3181     2421,
3182 /**/
3183     2420,
3184 /**/
3185     2419,
3186 /**/
3187     2418,
3188 /**/
3189     2417,
3190 /**/
3191     2416,
3192 /**/
3193     2415,
3194 /**/
3195     2414,
3196 /**/
3197     2413,
3198 /**/
3199     2412,
3200 /**/
3201     2411,
3202 /**/
3203     2410,
3204 /**/
3205     2409,
3206 /**/
3207     2408,
3208 /**/
3209     2407,
3210 /**/
3211     2406,
3212 /**/
3213     2405,
3214 /**/
3215     2404,
3216 /**/
3217     2403,
3218 /**/
3219     2402,
3220 /**/
3221     2401,
3222 /**/
3223     2400,
3224 /**/
3225     2399,
3226 /**/
3227     2398,
3228 /**/
3229     2397,
3230 /**/
3231     2396,
3232 /**/
3233     2395,
3234 /**/
3235     2394,
3236 /**/
3237     2393,
3238 /**/
3239     2392,
3240 /**/
3241     2391,
3242 /**/
3243     2390,
3244 /**/
3245     2389,
3246 /**/
3247     2388,
3248 /**/
3249     2387,
3250 /**/
3251     2386,
3252 /**/
3253     2385,
3254 /**/
3255     2384,
3256 /**/
3257     2383,
3258 /**/
3259     2382,
3260 /**/
3261     2381,
3262 /**/
3263     2380,
3264 /**/
3265     2379,
3266 /**/
3267     2378,
3268 /**/
3269     2377,
3270 /**/
3271     2376,
3272 /**/
3273     2375,
3274 /**/
3275     2374,
3276 /**/
3277     2373,
3278 /**/
3279     2372,
3280 /**/
3281     2371,
3282 /**/
3283     2370,
3284 /**/
3285     2369,
3286 /**/
3287     2368,
3288 /**/
3289     2367,
3290 /**/
3291     2366,
3292 /**/
3293     2365,
3294 /**/
3295     2364,
3296 /**/
3297     2363,
3298 /**/
3299     2362,
3300 /**/
3301     2361,
3302 /**/
3303     2360,
3304 /**/
3305     2359,
3306 /**/
3307     2358,
3308 /**/
3309     2357,
3310 /**/
3311     2356,
3312 /**/
3313     2355,
3314 /**/
3315     2354,
3316 /**/
3317     2353,
3318 /**/
3319     2352,
3320 /**/
3321     2351,
3322 /**/
3323     2350,
3324 /**/
3325     2349,
3326 /**/
3327     2348,
3328 /**/
3329     2347,
3330 /**/
3331     2346,
3332 /**/
3333     2345,
3334 /**/
3335     2344,
3336 /**/
3337     2343,
3338 /**/
3339     2342,
3340 /**/
3341     2341,
3342 /**/
3343     2340,
3344 /**/
3345     2339,
3346 /**/
3347     2338,
3348 /**/
3349     2337,
3350 /**/
3351     2336,
3352 /**/
3353     2335,
3354 /**/
3355     2334,
3356 /**/
3357     2333,
3358 /**/
3359     2332,
3360 /**/
3361     2331,
3362 /**/
3363     2330,
3364 /**/
3365     2329,
3366 /**/
3367     2328,
3368 /**/
3369     2327,
3370 /**/
3371     2326,
3372 /**/
3373     2325,
3374 /**/
3375     2324,
3376 /**/
3377     2323,
3378 /**/
3379     2322,
3380 /**/
3381     2321,
3382 /**/
3383     2320,
3384 /**/
3385     2319,
3386 /**/
3387     2318,
3388 /**/
3389     2317,
3390 /**/
3391     2316,
3392 /**/
3393     2315,
3394 /**/
3395     2314,
3396 /**/
3397     2313,
3398 /**/
3399     2312,
3400 /**/
3401     2311,
3402 /**/
3403     2310,
3404 /**/
3405     2309,
3406 /**/
3407     2308,
3408 /**/
3409     2307,
3410 /**/
3411     2306,
3412 /**/
3413     2305,
3414 /**/
3415     2304,
3416 /**/
3417     2303,
3418 /**/
3419     2302,
3420 /**/
3421     2301,
3422 /**/
3423     2300,
3424 /**/
3425     2299,
3426 /**/
3427     2298,
3428 /**/
3429     2297,
3430 /**/
3431     2296,
3432 /**/
3433     2295,
3434 /**/
3435     2294,
3436 /**/
3437     2293,
3438 /**/
3439     2292,
3440 /**/
3441     2291,
3442 /**/
3443     2290,
3444 /**/
3445     2289,
3446 /**/
3447     2288,
3448 /**/
3449     2287,
3450 /**/
3451     2286,
3452 /**/
3453     2285,
3454 /**/
3455     2284,
3456 /**/
3457     2283,
3458 /**/
3459     2282,
3460 /**/
3461     2281,
3462 /**/
3463     2280,
3464 /**/
3465     2279,
3466 /**/
3467     2278,
3468 /**/
3469     2277,
3470 /**/
3471     2276,
3472 /**/
3473     2275,
3474 /**/
3475     2274,
3476 /**/
3477     2273,
3478 /**/
3479     2272,
3480 /**/
3481     2271,
3482 /**/
3483     2270,
3484 /**/
3485     2269,
3486 /**/
3487     2268,
3488 /**/
3489     2267,
3490 /**/
3491     2266,
3492 /**/
3493     2265,
3494 /**/
3495     2264,
3496 /**/
3497     2263,
3498 /**/
3499     2262,
3500 /**/
3501     2261,
3502 /**/
3503     2260,
3504 /**/
3505     2259,
3506 /**/
3507     2258,
3508 /**/
3509     2257,
3510 /**/
3511     2256,
3512 /**/
3513     2255,
3514 /**/
3515     2254,
3516 /**/
3517     2253,
3518 /**/
3519     2252,
3520 /**/
3521     2251,
3522 /**/
3523     2250,
3524 /**/
3525     2249,
3526 /**/
3527     2248,
3528 /**/
3529     2247,
3530 /**/
3531     2246,
3532 /**/
3533     2245,
3534 /**/
3535     2244,
3536 /**/
3537     2243,
3538 /**/
3539     2242,
3540 /**/
3541     2241,
3542 /**/
3543     2240,
3544 /**/
3545     2239,
3546 /**/
3547     2238,
3548 /**/
3549     2237,
3550 /**/
3551     2236,
3552 /**/
3553     2235,
3554 /**/
3555     2234,
3556 /**/
3557     2233,
3558 /**/
3559     2232,
3560 /**/
3561     2231,
3562 /**/
3563     2230,
3564 /**/
3565     2229,
3566 /**/
3567     2228,
3568 /**/
3569     2227,
3570 /**/
3571     2226,
3572 /**/
3573     2225,
3574 /**/
3575     2224,
3576 /**/
3577     2223,
3578 /**/
3579     2222,
3580 /**/
3581     2221,
3582 /**/
3583     2220,
3584 /**/
3585     2219,
3586 /**/
3587     2218,
3588 /**/
3589     2217,
3590 /**/
3591     2216,
3592 /**/
3593     2215,
3594 /**/
3595     2214,
3596 /**/
3597     2213,
3598 /**/
3599     2212,
3600 /**/
3601     2211,
3602 /**/
3603     2210,
3604 /**/
3605     2209,
3606 /**/
3607     2208,
3608 /**/
3609     2207,
3610 /**/
3611     2206,
3612 /**/
3613     2205,
3614 /**/
3615     2204,
3616 /**/
3617     2203,
3618 /**/
3619     2202,
3620 /**/
3621     2201,
3622 /**/
3623     2200,
3624 /**/
3625     2199,
3626 /**/
3627     2198,
3628 /**/
3629     2197,
3630 /**/
3631     2196,
3632 /**/
3633     2195,
3634 /**/
3635     2194,
3636 /**/
3637     2193,
3638 /**/
3639     2192,
3640 /**/
3641     2191,
3642 /**/
3643     2190,
3644 /**/
3645     2189,
3646 /**/
3647     2188,
3648 /**/
3649     2187,
3650 /**/
3651     2186,
3652 /**/
3653     2185,
3654 /**/
3655     2184,
3656 /**/
3657     2183,
3658 /**/
3659     2182,
3660 /**/
3661     2181,
3662 /**/
3663     2180,
3664 /**/
3665     2179,
3666 /**/
3667     2178,
3668 /**/
3669     2177,
3670 /**/
3671     2176,
3672 /**/
3673     2175,
3674 /**/
3675     2174,
3676 /**/
3677     2173,
3678 /**/
3679     2172,
3680 /**/
3681     2171,
3682 /**/
3683     2170,
3684 /**/
3685     2169,
3686 /**/
3687     2168,
3688 /**/
3689     2167,
3690 /**/
3691     2166,
3692 /**/
3693     2165,
3694 /**/
3695     2164,
3696 /**/
3697     2163,
3698 /**/
3699     2162,
3700 /**/
3701     2161,
3702 /**/
3703     2160,
3704 /**/
3705     2159,
3706 /**/
3707     2158,
3708 /**/
3709     2157,
3710 /**/
3711     2156,
3712 /**/
3713     2155,
3714 /**/
3715     2154,
3716 /**/
3717     2153,
3718 /**/
3719     2152,
3720 /**/
3721     2151,
3722 /**/
3723     2150,
3724 /**/
3725     2149,
3726 /**/
3727     2148,
3728 /**/
3729     2147,
3730 /**/
3731     2146,
3732 /**/
3733     2145,
3734 /**/
3735     2144,
3736 /**/
3737     2143,
3738 /**/
3739     2142,
3740 /**/
3741     2141,
3742 /**/
3743     2140,
3744 /**/
3745     2139,
3746 /**/
3747     2138,
3748 /**/
3749     2137,
3750 /**/
3751     2136,
3752 /**/
3753     2135,
3754 /**/
3755     2134,
3756 /**/
3757     2133,
3758 /**/
3759     2132,
3760 /**/
3761     2131,
3762 /**/
3763     2130,
3764 /**/
3765     2129,
3766 /**/
3767     2128,
3768 /**/
3769     2127,
3770 /**/
3771     2126,
3772 /**/
3773     2125,
3774 /**/
3775     2124,
3776 /**/
3777     2123,
3778 /**/
3779     2122,
3780 /**/
3781     2121,
3782 /**/
3783     2120,
3784 /**/
3785     2119,
3786 /**/
3787     2118,
3788 /**/
3789     2117,
3790 /**/
3791     2116,
3792 /**/
3793     2115,
3794 /**/
3795     2114,
3796 /**/
3797     2113,
3798 /**/
3799     2112,
3800 /**/
3801     2111,
3802 /**/
3803     2110,
3804 /**/
3805     2109,
3806 /**/
3807     2108,
3808 /**/
3809     2107,
3810 /**/
3811     2106,
3812 /**/
3813     2105,
3814 /**/
3815     2104,
3816 /**/
3817     2103,
3818 /**/
3819     2102,
3820 /**/
3821     2101,
3822 /**/
3823     2100,
3824 /**/
3825     2099,
3826 /**/
3827     2098,
3828 /**/
3829     2097,
3830 /**/
3831     2096,
3832 /**/
3833     2095,
3834 /**/
3835     2094,
3836 /**/
3837     2093,
3838 /**/
3839     2092,
3840 /**/
3841     2091,
3842 /**/
3843     2090,
3844 /**/
3845     2089,
3846 /**/
3847     2088,
3848 /**/
3849     2087,
3850 /**/
3851     2086,
3852 /**/
3853     2085,
3854 /**/
3855     2084,
3856 /**/
3857     2083,
3858 /**/
3859     2082,
3860 /**/
3861     2081,
3862 /**/
3863     2080,
3864 /**/
3865     2079,
3866 /**/
3867     2078,
3868 /**/
3869     2077,
3870 /**/
3871     2076,
3872 /**/
3873     2075,
3874 /**/
3875     2074,
3876 /**/
3877     2073,
3878 /**/
3879     2072,
3880 /**/
3881     2071,
3882 /**/
3883     2070,
3884 /**/
3885     2069,
3886 /**/
3887     2068,
3888 /**/
3889     2067,
3890 /**/
3891     2066,
3892 /**/
3893     2065,
3894 /**/
3895     2064,
3896 /**/
3897     2063,
3898 /**/
3899     2062,
3900 /**/
3901     2061,
3902 /**/
3903     2060,
3904 /**/
3905     2059,
3906 /**/
3907     2058,
3908 /**/
3909     2057,
3910 /**/
3911     2056,
3912 /**/
3913     2055,
3914 /**/
3915     2054,
3916 /**/
3917     2053,
3918 /**/
3919     2052,
3920 /**/
3921     2051,
3922 /**/
3923     2050,
3924 /**/
3925     2049,
3926 /**/
3927     2048,
3928 /**/
3929     2047,
3930 /**/
3931     2046,
3932 /**/
3933     2045,
3934 /**/
3935     2044,
3936 /**/
3937     2043,
3938 /**/
3939     2042,
3940 /**/
3941     2041,
3942 /**/
3943     2040,
3944 /**/
3945     2039,
3946 /**/
3947     2038,
3948 /**/
3949     2037,
3950 /**/
3951     2036,
3952 /**/
3953     2035,
3954 /**/
3955     2034,
3956 /**/
3957     2033,
3958 /**/
3959     2032,
3960 /**/
3961     2031,
3962 /**/
3963     2030,
3964 /**/
3965     2029,
3966 /**/
3967     2028,
3968 /**/
3969     2027,
3970 /**/
3971     2026,
3972 /**/
3973     2025,
3974 /**/
3975     2024,
3976 /**/
3977     2023,
3978 /**/
3979     2022,
3980 /**/
3981     2021,
3982 /**/
3983     2020,
3984 /**/
3985     2019,
3986 /**/
3987     2018,
3988 /**/
3989     2017,
3990 /**/
3991     2016,
3992 /**/
3993     2015,
3994 /**/
3995     2014,
3996 /**/
3997     2013,
3998 /**/
3999     2012,
4000 /**/
4001     2011,
4002 /**/
4003     2010,
4004 /**/
4005     2009,
4006 /**/
4007     2008,
4008 /**/
4009     2007,
4010 /**/
4011     2006,
4012 /**/
4013     2005,
4014 /**/
4015     2004,
4016 /**/
4017     2003,
4018 /**/
4019     2002,
4020 /**/
4021     2001,
4022 /**/
4023     2000,
4024 /**/
4025     1999,
4026 /**/
4027     1998,
4028 /**/
4029     1997,
4030 /**/
4031     1996,
4032 /**/
4033     1995,
4034 /**/
4035     1994,
4036 /**/
4037     1993,
4038 /**/
4039     1992,
4040 /**/
4041     1991,
4042 /**/
4043     1990,
4044 /**/
4045     1989,
4046 /**/
4047     1988,
4048 /**/
4049     1987,
4050 /**/
4051     1986,
4052 /**/
4053     1985,
4054 /**/
4055     1984,
4056 /**/
4057     1983,
4058 /**/
4059     1982,
4060 /**/
4061     1981,
4062 /**/
4063     1980,
4064 /**/
4065     1979,
4066 /**/
4067     1978,
4068 /**/
4069     1977,
4070 /**/
4071     1976,
4072 /**/
4073     1975,
4074 /**/
4075     1974,
4076 /**/
4077     1973,
4078 /**/
4079     1972,
4080 /**/
4081     1971,
4082 /**/
4083     1970,
4084 /**/
4085     1969,
4086 /**/
4087     1968,
4088 /**/
4089     1967,
4090 /**/
4091     1966,
4092 /**/
4093     1965,
4094 /**/
4095     1964,
4096 /**/
4097     1963,
4098 /**/
4099     1962,
4100 /**/
4101     1961,
4102 /**/
4103     1960,
4104 /**/
4105     1959,
4106 /**/
4107     1958,
4108 /**/
4109     1957,
4110 /**/
4111     1956,
4112 /**/
4113     1955,
4114 /**/
4115     1954,
4116 /**/
4117     1953,
4118 /**/
4119     1952,
4120 /**/
4121     1951,
4122 /**/
4123     1950,
4124 /**/
4125     1949,
4126 /**/
4127     1948,
4128 /**/
4129     1947,
4130 /**/
4131     1946,
4132 /**/
4133     1945,
4134 /**/
4135     1944,
4136 /**/
4137     1943,
4138 /**/
4139     1942,
4140 /**/
4141     1941,
4142 /**/
4143     1940,
4144 /**/
4145     1939,
4146 /**/
4147     1938,
4148 /**/
4149     1937,
4150 /**/
4151     1936,
4152 /**/
4153     1935,
4154 /**/
4155     1934,
4156 /**/
4157     1933,
4158 /**/
4159     1932,
4160 /**/
4161     1931,
4162 /**/
4163     1930,
4164 /**/
4165     1929,
4166 /**/
4167     1928,
4168 /**/
4169     1927,
4170 /**/
4171     1926,
4172 /**/
4173     1925,
4174 /**/
4175     1924,
4176 /**/
4177     1923,
4178 /**/
4179     1922,
4180 /**/
4181     1921,
4182 /**/
4183     1920,
4184 /**/
4185     1919,
4186 /**/
4187     1918,
4188 /**/
4189     1917,
4190 /**/
4191     1916,
4192 /**/
4193     1915,
4194 /**/
4195     1914,
4196 /**/
4197     1913,
4198 /**/
4199     1912,
4200 /**/
4201     1911,
4202 /**/
4203     1910,
4204 /**/
4205     1909,
4206 /**/
4207     1908,
4208 /**/
4209     1907,
4210 /**/
4211     1906,
4212 /**/
4213     1905,
4214 /**/
4215     1904,
4216 /**/
4217     1903,
4218 /**/
4219     1902,
4220 /**/
4221     1901,
4222 /**/
4223     1900,
4224 /**/
4225     1899,
4226 /**/
4227     1898,
4228 /**/
4229     1897,
4230 /**/
4231     1896,
4232 /**/
4233     1895,
4234 /**/
4235     1894,
4236 /**/
4237     1893,
4238 /**/
4239     1892,
4240 /**/
4241     1891,
4242 /**/
4243     1890,
4244 /**/
4245     1889,
4246 /**/
4247     1888,
4248 /**/
4249     1887,
4250 /**/
4251     1886,
4252 /**/
4253     1885,
4254 /**/
4255     1884,
4256 /**/
4257     1883,
4258 /**/
4259     1882,
4260 /**/
4261     1881,
4262 /**/
4263     1880,
4264 /**/
4265     1879,
4266 /**/
4267     1878,
4268 /**/
4269     1877,
4270 /**/
4271     1876,
4272 /**/
4273     1875,
4274 /**/
4275     1874,
4276 /**/
4277     1873,
4278 /**/
4279     1872,
4280 /**/
4281     1871,
4282 /**/
4283     1870,
4284 /**/
4285     1869,
4286 /**/
4287     1868,
4288 /**/
4289     1867,
4290 /**/
4291     1866,
4292 /**/
4293     1865,
4294 /**/
4295     1864,
4296 /**/
4297     1863,
4298 /**/
4299     1862,
4300 /**/
4301     1861,
4302 /**/
4303     1860,
4304 /**/
4305     1859,
4306 /**/
4307     1858,
4308 /**/
4309     1857,
4310 /**/
4311     1856,
4312 /**/
4313     1855,
4314 /**/
4315     1854,
4316 /**/
4317     1853,
4318 /**/
4319     1852,
4320 /**/
4321     1851,
4322 /**/
4323     1850,
4324 /**/
4325     1849,
4326 /**/
4327     1848,
4328 /**/
4329     1847,
4330 /**/
4331     1846,
4332 /**/
4333     1845,
4334 /**/
4335     1844,
4336 /**/
4337     1843,
4338 /**/
4339     1842,
4340 /**/
4341     1841,
4342 /**/
4343     1840,
4344 /**/
4345     1839,
4346 /**/
4347     1838,
4348 /**/
4349     1837,
4350 /**/
4351     1836,
4352 /**/
4353     1835,
4354 /**/
4355     1834,
4356 /**/
4357     1833,
4358 /**/
4359     1832,
4360 /**/
4361     1831,
4362 /**/
4363     1830,
4364 /**/
4365     1829,
4366 /**/
4367     1828,
4368 /**/
4369     1827,
4370 /**/
4371     1826,
4372 /**/
4373     1825,
4374 /**/
4375     1824,
4376 /**/
4377     1823,
4378 /**/
4379     1822,
4380 /**/
4381     1821,
4382 /**/
4383     1820,
4384 /**/
4385     1819,
4386 /**/
4387     1818,
4388 /**/
4389     1817,
4390 /**/
4391     1816,
4392 /**/
4393     1815,
4394 /**/
4395     1814,
4396 /**/
4397     1813,
4398 /**/
4399     1812,
4400 /**/
4401     1811,
4402 /**/
4403     1810,
4404 /**/
4405     1809,
4406 /**/
4407     1808,
4408 /**/
4409     1807,
4410 /**/
4411     1806,
4412 /**/
4413     1805,
4414 /**/
4415     1804,
4416 /**/
4417     1803,
4418 /**/
4419     1802,
4420 /**/
4421     1801,
4422 /**/
4423     1800,
4424 /**/
4425     1799,
4426 /**/
4427     1798,
4428 /**/
4429     1797,
4430 /**/
4431     1796,
4432 /**/
4433     1795,
4434 /**/
4435     1794,
4436 /**/
4437     1793,
4438 /**/
4439     1792,
4440 /**/
4441     1791,
4442 /**/
4443     1790,
4444 /**/
4445     1789,
4446 /**/
4447     1788,
4448 /**/
4449     1787,
4450 /**/
4451     1786,
4452 /**/
4453     1785,
4454 /**/
4455     1784,
4456 /**/
4457     1783,
4458 /**/
4459     1782,
4460 /**/
4461     1781,
4462 /**/
4463     1780,
4464 /**/
4465     1779,
4466 /**/
4467     1778,
4468 /**/
4469     1777,
4470 /**/
4471     1776,
4472 /**/
4473     1775,
4474 /**/
4475     1774,
4476 /**/
4477     1773,
4478 /**/
4479     1772,
4480 /**/
4481     1771,
4482 /**/
4483     1770,
4484 /**/
4485     1769,
4486 /**/
4487     1768,
4488 /**/
4489     1767,
4490 /**/
4491     1766,
4492 /**/
4493     1765,
4494 /**/
4495     1764,
4496 /**/
4497     1763,
4498 /**/
4499     1762,
4500 /**/
4501     1761,
4502 /**/
4503     1760,
4504 /**/
4505     1759,
4506 /**/
4507     1758,
4508 /**/
4509     1757,
4510 /**/
4511     1756,
4512 /**/
4513     1755,
4514 /**/
4515     1754,
4516 /**/
4517     1753,
4518 /**/
4519     1752,
4520 /**/
4521     1751,
4522 /**/
4523     1750,
4524 /**/
4525     1749,
4526 /**/
4527     1748,
4528 /**/
4529     1747,
4530 /**/
4531     1746,
4532 /**/
4533     1745,
4534 /**/
4535     1744,
4536 /**/
4537     1743,
4538 /**/
4539     1742,
4540 /**/
4541     1741,
4542 /**/
4543     1740,
4544 /**/
4545     1739,
4546 /**/
4547     1738,
4548 /**/
4549     1737,
4550 /**/
4551     1736,
4552 /**/
4553     1735,
4554 /**/
4555     1734,
4556 /**/
4557     1733,
4558 /**/
4559     1732,
4560 /**/
4561     1731,
4562 /**/
4563     1730,
4564 /**/
4565     1729,
4566 /**/
4567     1728,
4568 /**/
4569     1727,
4570 /**/
4571     1726,
4572 /**/
4573     1725,
4574 /**/
4575     1724,
4576 /**/
4577     1723,
4578 /**/
4579     1722,
4580 /**/
4581     1721,
4582 /**/
4583     1720,
4584 /**/
4585     1719,
4586 /**/
4587     1718,
4588 /**/
4589     1717,
4590 /**/
4591     1716,
4592 /**/
4593     1715,
4594 /**/
4595     1714,
4596 /**/
4597     1713,
4598 /**/
4599     1712,
4600 /**/
4601     1711,
4602 /**/
4603     1710,
4604 /**/
4605     1709,
4606 /**/
4607     1708,
4608 /**/
4609     1707,
4610 /**/
4611     1706,
4612 /**/
4613     1705,
4614 /**/
4615     1704,
4616 /**/
4617     1703,
4618 /**/
4619     1702,
4620 /**/
4621     1701,
4622 /**/
4623     1700,
4624 /**/
4625     1699,
4626 /**/
4627     1698,
4628 /**/
4629     1697,
4630 /**/
4631     1696,
4632 /**/
4633     1695,
4634 /**/
4635     1694,
4636 /**/
4637     1693,
4638 /**/
4639     1692,
4640 /**/
4641     1691,
4642 /**/
4643     1690,
4644 /**/
4645     1689,
4646 /**/
4647     1688,
4648 /**/
4649     1687,
4650 /**/
4651     1686,
4652 /**/
4653     1685,
4654 /**/
4655     1684,
4656 /**/
4657     1683,
4658 /**/
4659     1682,
4660 /**/
4661     1681,
4662 /**/
4663     1680,
4664 /**/
4665     1679,
4666 /**/
4667     1678,
4668 /**/
4669     1677,
4670 /**/
4671     1676,
4672 /**/
4673     1675,
4674 /**/
4675     1674,
4676 /**/
4677     1673,
4678 /**/
4679     1672,
4680 /**/
4681     1671,
4682 /**/
4683     1670,
4684 /**/
4685     1669,
4686 /**/
4687     1668,
4688 /**/
4689     1667,
4690 /**/
4691     1666,
4692 /**/
4693     1665,
4694 /**/
4695     1664,
4696 /**/
4697     1663,
4698 /**/
4699     1662,
4700 /**/
4701     1661,
4702 /**/
4703     1660,
4704 /**/
4705     1659,
4706 /**/
4707     1658,
4708 /**/
4709     1657,
4710 /**/
4711     1656,
4712 /**/
4713     1655,
4714 /**/
4715     1654,
4716 /**/
4717     1653,
4718 /**/
4719     1652,
4720 /**/
4721     1651,
4722 /**/
4723     1650,
4724 /**/
4725     1649,
4726 /**/
4727     1648,
4728 /**/
4729     1647,
4730 /**/
4731     1646,
4732 /**/
4733     1645,
4734 /**/
4735     1644,
4736 /**/
4737     1643,
4738 /**/
4739     1642,
4740 /**/
4741     1641,
4742 /**/
4743     1640,
4744 /**/
4745     1639,
4746 /**/
4747     1638,
4748 /**/
4749     1637,
4750 /**/
4751     1636,
4752 /**/
4753     1635,
4754 /**/
4755     1634,
4756 /**/
4757     1633,
4758 /**/
4759     1632,
4760 /**/
4761     1631,
4762 /**/
4763     1630,
4764 /**/
4765     1629,
4766 /**/
4767     1628,
4768 /**/
4769     1627,
4770 /**/
4771     1626,
4772 /**/
4773     1625,
4774 /**/
4775     1624,
4776 /**/
4777     1623,
4778 /**/
4779     1622,
4780 /**/
4781     1621,
4782 /**/
4783     1620,
4784 /**/
4785     1619,
4786 /**/
4787     1618,
4788 /**/
4789     1617,
4790 /**/
4791     1616,
4792 /**/
4793     1615,
4794 /**/
4795     1614,
4796 /**/
4797     1613,
4798 /**/
4799     1612,
4800 /**/
4801     1611,
4802 /**/
4803     1610,
4804 /**/
4805     1609,
4806 /**/
4807     1608,
4808 /**/
4809     1607,
4810 /**/
4811     1606,
4812 /**/
4813     1605,
4814 /**/
4815     1604,
4816 /**/
4817     1603,
4818 /**/
4819     1602,
4820 /**/
4821     1601,
4822 /**/
4823     1600,
4824 /**/
4825     1599,
4826 /**/
4827     1598,
4828 /**/
4829     1597,
4830 /**/
4831     1596,
4832 /**/
4833     1595,
4834 /**/
4835     1594,
4836 /**/
4837     1593,
4838 /**/
4839     1592,
4840 /**/
4841     1591,
4842 /**/
4843     1590,
4844 /**/
4845     1589,
4846 /**/
4847     1588,
4848 /**/
4849     1587,
4850 /**/
4851     1586,
4852 /**/
4853     1585,
4854 /**/
4855     1584,
4856 /**/
4857     1583,
4858 /**/
4859     1582,
4860 /**/
4861     1581,
4862 /**/
4863     1580,
4864 /**/
4865     1579,
4866 /**/
4867     1578,
4868 /**/
4869     1577,
4870 /**/
4871     1576,
4872 /**/
4873     1575,
4874 /**/
4875     1574,
4876 /**/
4877     1573,
4878 /**/
4879     1572,
4880 /**/
4881     1571,
4882 /**/
4883     1570,
4884 /**/
4885     1569,
4886 /**/
4887     1568,
4888 /**/
4889     1567,
4890 /**/
4891     1566,
4892 /**/
4893     1565,
4894 /**/
4895     1564,
4896 /**/
4897     1563,
4898 /**/
4899     1562,
4900 /**/
4901     1561,
4902 /**/
4903     1560,
4904 /**/
4905     1559,
4906 /**/
4907     1558,
4908 /**/
4909     1557,
4910 /**/
4911     1556,
4912 /**/
4913     1555,
4914 /**/
4915     1554,
4916 /**/
4917     1553,
4918 /**/
4919     1552,
4920 /**/
4921     1551,
4922 /**/
4923     1550,
4924 /**/
4925     1549,
4926 /**/
4927     1548,
4928 /**/
4929     1547,
4930 /**/
4931     1546,
4932 /**/
4933     1545,
4934 /**/
4935     1544,
4936 /**/
4937     1543,
4938 /**/
4939     1542,
4940 /**/
4941     1541,
4942 /**/
4943     1540,
4944 /**/
4945     1539,
4946 /**/
4947     1538,
4948 /**/
4949     1537,
4950 /**/
4951     1536,
4952 /**/
4953     1535,
4954 /**/
4955     1534,
4956 /**/
4957     1533,
4958 /**/
4959     1532,
4960 /**/
4961     1531,
4962 /**/
4963     1530,
4964 /**/
4965     1529,
4966 /**/
4967     1528,
4968 /**/
4969     1527,
4970 /**/
4971     1526,
4972 /**/
4973     1525,
4974 /**/
4975     1524,
4976 /**/
4977     1523,
4978 /**/
4979     1522,
4980 /**/
4981     1521,
4982 /**/
4983     1520,
4984 /**/
4985     1519,
4986 /**/
4987     1518,
4988 /**/
4989     1517,
4990 /**/
4991     1516,
4992 /**/
4993     1515,
4994 /**/
4995     1514,
4996 /**/
4997     1513,
4998 /**/
4999     1512,
5000 /**/
5001     1511,
5002 /**/
5003     1510,
5004 /**/
5005     1509,
5006 /**/
5007     1508,
5008 /**/
5009     1507,
5010 /**/
5011     1506,
5012 /**/
5013     1505,
5014 /**/
5015     1504,
5016 /**/
5017     1503,
5018 /**/
5019     1502,
5020 /**/
5021     1501,
5022 /**/
5023     1500,
5024 /**/
5025     1499,
5026 /**/
5027     1498,
5028 /**/
5029     1497,
5030 /**/
5031     1496,
5032 /**/
5033     1495,
5034 /**/
5035     1494,
5036 /**/
5037     1493,
5038 /**/
5039     1492,
5040 /**/
5041     1491,
5042 /**/
5043     1490,
5044 /**/
5045     1489,
5046 /**/
5047     1488,
5048 /**/
5049     1487,
5050 /**/
5051     1486,
5052 /**/
5053     1485,
5054 /**/
5055     1484,
5056 /**/
5057     1483,
5058 /**/
5059     1482,
5060 /**/
5061     1481,
5062 /**/
5063     1480,
5064 /**/
5065     1479,
5066 /**/
5067     1478,
5068 /**/
5069     1477,
5070 /**/
5071     1476,
5072 /**/
5073     1475,
5074 /**/
5075     1474,
5076 /**/
5077     1473,
5078 /**/
5079     1472,
5080 /**/
5081     1471,
5082 /**/
5083     1470,
5084 /**/
5085     1469,
5086 /**/
5087     1468,
5088 /**/
5089     1467,
5090 /**/
5091     1466,
5092 /**/
5093     1465,
5094 /**/
5095     1464,
5096 /**/
5097     1463,
5098 /**/
5099     1462,
5100 /**/
5101     1461,
5102 /**/
5103     1460,
5104 /**/
5105     1459,
5106 /**/
5107     1458,
5108 /**/
5109     1457,
5110 /**/
5111     1456,
5112 /**/
5113     1455,
5114 /**/
5115     1454,
5116 /**/
5117     1453,
5118 /**/
5119     1452,
5120 /**/
5121     1451,
5122 /**/
5123     1450,
5124 /**/
5125     1449,
5126 /**/
5127     1448,
5128 /**/
5129     1447,
5130 /**/
5131     1446,
5132 /**/
5133     1445,
5134 /**/
5135     1444,
5136 /**/
5137     1443,
5138 /**/
5139     1442,
5140 /**/
5141     1441,
5142 /**/
5143     1440,
5144 /**/
5145     1439,
5146 /**/
5147     1438,
5148 /**/
5149     1437,
5150 /**/
5151     1436,
5152 /**/
5153     1435,
5154 /**/
5155     1434,
5156 /**/
5157     1433,
5158 /**/
5159     1432,
5160 /**/
5161     1431,
5162 /**/
5163     1430,
5164 /**/
5165     1429,
5166 /**/
5167     1428,
5168 /**/
5169     1427,
5170 /**/
5171     1426,
5172 /**/
5173     1425,
5174 /**/
5175     1424,
5176 /**/
5177     1423,
5178 /**/
5179     1422,
5180 /**/
5181     1421,
5182 /**/
5183     1420,
5184 /**/
5185     1419,
5186 /**/
5187     1418,
5188 /**/
5189     1417,
5190 /**/
5191     1416,
5192 /**/
5193     1415,
5194 /**/
5195     1414,
5196 /**/
5197     1413,
5198 /**/
5199     1412,
5200 /**/
5201     1411,
5202 /**/
5203     1410,
5204 /**/
5205     1409,
5206 /**/
5207     1408,
5208 /**/
5209     1407,
5210 /**/
5211     1406,
5212 /**/
5213     1405,
5214 /**/
5215     1404,
5216 /**/
5217     1403,
5218 /**/
5219     1402,
5220 /**/
5221     1401,
5222 /**/
5223     1400,
5224 /**/
5225     1399,
5226 /**/
5227     1398,
5228 /**/
5229     1397,
5230 /**/
5231     1396,
5232 /**/
5233     1395,
5234 /**/
5235     1394,
5236 /**/
5237     1393,
5238 /**/
5239     1392,
5240 /**/
5241     1391,
5242 /**/
5243     1390,
5244 /**/
5245     1389,
5246 /**/
5247     1388,
5248 /**/
5249     1387,
5250 /**/
5251     1386,
5252 /**/
5253     1385,
5254 /**/
5255     1384,
5256 /**/
5257     1383,
5258 /**/
5259     1382,
5260 /**/
5261     1381,
5262 /**/
5263     1380,
5264 /**/
5265     1379,
5266 /**/
5267     1378,
5268 /**/
5269     1377,
5270 /**/
5271     1376,
5272 /**/
5273     1375,
5274 /**/
5275     1374,
5276 /**/
5277     1373,
5278 /**/
5279     1372,
5280 /**/
5281     1371,
5282 /**/
5283     1370,
5284 /**/
5285     1369,
5286 /**/
5287     1368,
5288 /**/
5289     1367,
5290 /**/
5291     1366,
5292 /**/
5293     1365,
5294 /**/
5295     1364,
5296 /**/
5297     1363,
5298 /**/
5299     1362,
5300 /**/
5301     1361,
5302 /**/
5303     1360,
5304 /**/
5305     1359,
5306 /**/
5307     1358,
5308 /**/
5309     1357,
5310 /**/
5311     1356,
5312 /**/
5313     1355,
5314 /**/
5315     1354,
5316 /**/
5317     1353,
5318 /**/
5319     1352,
5320 /**/
5321     1351,
5322 /**/
5323     1350,
5324 /**/
5325     1349,
5326 /**/
5327     1348,
5328 /**/
5329     1347,
5330 /**/
5331     1346,
5332 /**/
5333     1345,
5334 /**/
5335     1344,
5336 /**/
5337     1343,
5338 /**/
5339     1342,
5340 /**/
5341     1341,
5342 /**/
5343     1340,
5344 /**/
5345     1339,
5346 /**/
5347     1338,
5348 /**/
5349     1337,
5350 /**/
5351     1336,
5352 /**/
5353     1335,
5354 /**/
5355     1334,
5356 /**/
5357     1333,
5358 /**/
5359     1332,
5360 /**/
5361     1331,
5362 /**/
5363     1330,
5364 /**/
5365     1329,
5366 /**/
5367     1328,
5368 /**/
5369     1327,
5370 /**/
5371     1326,
5372 /**/
5373     1325,
5374 /**/
5375     1324,
5376 /**/
5377     1323,
5378 /**/
5379     1322,
5380 /**/
5381     1321,
5382 /**/
5383     1320,
5384 /**/
5385     1319,
5386 /**/
5387     1318,
5388 /**/
5389     1317,
5390 /**/
5391     1316,
5392 /**/
5393     1315,
5394 /**/
5395     1314,
5396 /**/
5397     1313,
5398 /**/
5399     1312,
5400 /**/
5401     1311,
5402 /**/
5403     1310,
5404 /**/
5405     1309,
5406 /**/
5407     1308,
5408 /**/
5409     1307,
5410 /**/
5411     1306,
5412 /**/
5413     1305,
5414 /**/
5415     1304,
5416 /**/
5417     1303,
5418 /**/
5419     1302,
5420 /**/
5421     1301,
5422 /**/
5423     1300,
5424 /**/
5425     1299,
5426 /**/
5427     1298,
5428 /**/
5429     1297,
5430 /**/
5431     1296,
5432 /**/
5433     1295,
5434 /**/
5435     1294,
5436 /**/
5437     1293,
5438 /**/
5439     1292,
5440 /**/
5441     1291,
5442 /**/
5443     1290,
5444 /**/
5445     1289,
5446 /**/
5447     1288,
5448 /**/
5449     1287,
5450 /**/
5451     1286,
5452 /**/
5453     1285,
5454 /**/
5455     1284,
5456 /**/
5457     1283,
5458 /**/
5459     1282,
5460 /**/
5461     1281,
5462 /**/
5463     1280,
5464 /**/
5465     1279,
5466 /**/
5467     1278,
5468 /**/
5469     1277,
5470 /**/
5471     1276,
5472 /**/
5473     1275,
5474 /**/
5475     1274,
5476 /**/
5477     1273,
5478 /**/
5479     1272,
5480 /**/
5481     1271,
5482 /**/
5483     1270,
5484 /**/
5485     1269,
5486 /**/
5487     1268,
5488 /**/
5489     1267,
5490 /**/
5491     1266,
5492 /**/
5493     1265,
5494 /**/
5495     1264,
5496 /**/
5497     1263,
5498 /**/
5499     1262,
5500 /**/
5501     1261,
5502 /**/
5503     1260,
5504 /**/
5505     1259,
5506 /**/
5507     1258,
5508 /**/
5509     1257,
5510 /**/
5511     1256,
5512 /**/
5513     1255,
5514 /**/
5515     1254,
5516 /**/
5517     1253,
5518 /**/
5519     1252,
5520 /**/
5521     1251,
5522 /**/
5523     1250,
5524 /**/
5525     1249,
5526 /**/
5527     1248,
5528 /**/
5529     1247,
5530 /**/
5531     1246,
5532 /**/
5533     1245,
5534 /**/
5535     1244,
5536 /**/
5537     1243,
5538 /**/
5539     1242,
5540 /**/
5541     1241,
5542 /**/
5543     1240,
5544 /**/
5545     1239,
5546 /**/
5547     1238,
5548 /**/
5549     1237,
5550 /**/
5551     1236,
5552 /**/
5553     1235,
5554 /**/
5555     1234,
5556 /**/
5557     1233,
5558 /**/
5559     1232,
5560 /**/
5561     1231,
5562 /**/
5563     1230,
5564 /**/
5565     1229,
5566 /**/
5567     1228,
5568 /**/
5569     1227,
5570 /**/
5571     1226,
5572 /**/
5573     1225,
5574 /**/
5575     1224,
5576 /**/
5577     1223,
5578 /**/
5579     1222,
5580 /**/
5581     1221,
5582 /**/
5583     1220,
5584 /**/
5585     1219,
5586 /**/
5587     1218,
5588 /**/
5589     1217,
5590 /**/
5591     1216,
5592 /**/
5593     1215,
5594 /**/
5595     1214,
5596 /**/
5597     1213,
5598 /**/
5599     1212,
5600 /**/
5601     1211,
5602 /**/
5603     1210,
5604 /**/
5605     1209,
5606 /**/
5607     1208,
5608 /**/
5609     1207,
5610 /**/
5611     1206,
5612 /**/
5613     1205,
5614 /**/
5615     1204,
5616 /**/
5617     1203,
5618 /**/
5619     1202,
5620 /**/
5621     1201,
5622 /**/
5623     1200,
5624 /**/
5625     1199,
5626 /**/
5627     1198,
5628 /**/
5629     1197,
5630 /**/
5631     1196,
5632 /**/
5633     1195,
5634 /**/
5635     1194,
5636 /**/
5637     1193,
5638 /**/
5639     1192,
5640 /**/
5641     1191,
5642 /**/
5643     1190,
5644 /**/
5645     1189,
5646 /**/
5647     1188,
5648 /**/
5649     1187,
5650 /**/
5651     1186,
5652 /**/
5653     1185,
5654 /**/
5655     1184,
5656 /**/
5657     1183,
5658 /**/
5659     1182,
5660 /**/
5661     1181,
5662 /**/
5663     1180,
5664 /**/
5665     1179,
5666 /**/
5667     1178,
5668 /**/
5669     1177,
5670 /**/
5671     1176,
5672 /**/
5673     1175,
5674 /**/
5675     1174,
5676 /**/
5677     1173,
5678 /**/
5679     1172,
5680 /**/
5681     1171,
5682 /**/
5683     1170,
5684 /**/
5685     1169,
5686 /**/
5687     1168,
5688 /**/
5689     1167,
5690 /**/
5691     1166,
5692 /**/
5693     1165,
5694 /**/
5695     1164,
5696 /**/
5697     1163,
5698 /**/
5699     1162,
5700 /**/
5701     1161,
5702 /**/
5703     1160,
5704 /**/
5705     1159,
5706 /**/
5707     1158,
5708 /**/
5709     1157,
5710 /**/
5711     1156,
5712 /**/
5713     1155,
5714 /**/
5715     1154,
5716 /**/
5717     1153,
5718 /**/
5719     1152,
5720 /**/
5721     1151,
5722 /**/
5723     1150,
5724 /**/
5725     1149,
5726 /**/
5727     1148,
5728 /**/
5729     1147,
5730 /**/
5731     1146,
5732 /**/
5733     1145,
5734 /**/
5735     1144,
5736 /**/
5737     1143,
5738 /**/
5739     1142,
5740 /**/
5741     1141,
5742 /**/
5743     1140,
5744 /**/
5745     1139,
5746 /**/
5747     1138,
5748 /**/
5749     1137,
5750 /**/
5751     1136,
5752 /**/
5753     1135,
5754 /**/
5755     1134,
5756 /**/
5757     1133,
5758 /**/
5759     1132,
5760 /**/
5761     1131,
5762 /**/
5763     1130,
5764 /**/
5765     1129,
5766 /**/
5767     1128,
5768 /**/
5769     1127,
5770 /**/
5771     1126,
5772 /**/
5773     1125,
5774 /**/
5775     1124,
5776 /**/
5777     1123,
5778 /**/
5779     1122,
5780 /**/
5781     1121,
5782 /**/
5783     1120,
5784 /**/
5785     1119,
5786 /**/
5787     1118,
5788 /**/
5789     1117,
5790 /**/
5791     1116,
5792 /**/
5793     1115,
5794 /**/
5795     1114,
5796 /**/
5797     1113,
5798 /**/
5799     1112,
5800 /**/
5801     1111,
5802 /**/
5803     1110,
5804 /**/
5805     1109,
5806 /**/
5807     1108,
5808 /**/
5809     1107,
5810 /**/
5811     1106,
5812 /**/
5813     1105,
5814 /**/
5815     1104,
5816 /**/
5817     1103,
5818 /**/
5819     1102,
5820 /**/
5821     1101,
5822 /**/
5823     1100,
5824 /**/
5825     1099,
5826 /**/
5827     1098,
5828 /**/
5829     1097,
5830 /**/
5831     1096,
5832 /**/
5833     1095,
5834 /**/
5835     1094,
5836 /**/
5837     1093,
5838 /**/
5839     1092,
5840 /**/
5841     1091,
5842 /**/
5843     1090,
5844 /**/
5845     1089,
5846 /**/
5847     1088,
5848 /**/
5849     1087,
5850 /**/
5851     1086,
5852 /**/
5853     1085,
5854 /**/
5855     1084,
5856 /**/
5857     1083,
5858 /**/
5859     1082,
5860 /**/
5861     1081,
5862 /**/
5863     1080,
5864 /**/
5865     1079,
5866 /**/
5867     1078,
5868 /**/
5869     1077,
5870 /**/
5871     1076,
5872 /**/
5873     1075,
5874 /**/
5875     1074,
5876 /**/
5877     1073,
5878 /**/
5879     1072,
5880 /**/
5881     1071,
5882 /**/
5883     1070,
5884 /**/
5885     1069,
5886 /**/
5887     1068,
5888 /**/
5889     1067,
5890 /**/
5891     1066,
5892 /**/
5893     1065,
5894 /**/
5895     1064,
5896 /**/
5897     1063,
5898 /**/
5899     1062,
5900 /**/
5901     1061,
5902 /**/
5903     1060,
5904 /**/
5905     1059,
5906 /**/
5907     1058,
5908 /**/
5909     1057,
5910 /**/
5911     1056,
5912 /**/
5913     1055,
5914 /**/
5915     1054,
5916 /**/
5917     1053,
5918 /**/
5919     1052,
5920 /**/
5921     1051,
5922 /**/
5923     1050,
5924 /**/
5925     1049,
5926 /**/
5927     1048,
5928 /**/
5929     1047,
5930 /**/
5931     1046,
5932 /**/
5933     1045,
5934 /**/
5935     1044,
5936 /**/
5937     1043,
5938 /**/
5939     1042,
5940 /**/
5941     1041,
5942 /**/
5943     1040,
5944 /**/
5945     1039,
5946 /**/
5947     1038,
5948 /**/
5949     1037,
5950 /**/
5951     1036,
5952 /**/
5953     1035,
5954 /**/
5955     1034,
5956 /**/
5957     1033,
5958 /**/
5959     1032,
5960 /**/
5961     1031,
5962 /**/
5963     1030,
5964 /**/
5965     1029,
5966 /**/
5967     1028,
5968 /**/
5969     1027,
5970 /**/
5971     1026,
5972 /**/
5973     1025,
5974 /**/
5975     1024,
5976 /**/
5977     1023,
5978 /**/
5979     1022,
5980 /**/
5981     1021,
5982 /**/
5983     1020,
5984 /**/
5985     1019,
5986 /**/
5987     1018,
5988 /**/
5989     1017,
5990 /**/
5991     1016,
5992 /**/
5993     1015,
5994 /**/
5995     1014,
5996 /**/
5997     1013,
5998 /**/
5999     1012,
6000 /**/
6001     1011,
6002 /**/
6003     1010,
6004 /**/
6005     1009,
6006 /**/
6007     1008,
6008 /**/
6009     1007,
6010 /**/
6011     1006,
6012 /**/
6013     1005,
6014 /**/
6015     1004,
6016 /**/
6017     1003,
6018 /**/
6019     1002,
6020 /**/
6021     1001,
6022 /**/
6023     1000,
6024 /**/
6025     999,
6026 /**/
6027     998,
6028 /**/
6029     997,
6030 /**/
6031     996,
6032 /**/
6033     995,
6034 /**/
6035     994,
6036 /**/
6037     993,
6038 /**/
6039     992,
6040 /**/
6041     991,
6042 /**/
6043     990,
6044 /**/
6045     989,
6046 /**/
6047     988,
6048 /**/
6049     987,
6050 /**/
6051     986,
6052 /**/
6053     985,
6054 /**/
6055     984,
6056 /**/
6057     983,
6058 /**/
6059     982,
6060 /**/
6061     981,
6062 /**/
6063     980,
6064 /**/
6065     979,
6066 /**/
6067     978,
6068 /**/
6069     977,
6070 /**/
6071     976,
6072 /**/
6073     975,
6074 /**/
6075     974,
6076 /**/
6077     973,
6078 /**/
6079     972,
6080 /**/
6081     971,
6082 /**/
6083     970,
6084 /**/
6085     969,
6086 /**/
6087     968,
6088 /**/
6089     967,
6090 /**/
6091     966,
6092 /**/
6093     965,
6094 /**/
6095     964,
6096 /**/
6097     963,
6098 /**/
6099     962,
6100 /**/
6101     961,
6102 /**/
6103     960,
6104 /**/
6105     959,
6106 /**/
6107     958,
6108 /**/
6109     957,
6110 /**/
6111     956,
6112 /**/
6113     955,
6114 /**/
6115     954,
6116 /**/
6117     953,
6118 /**/
6119     952,
6120 /**/
6121     951,
6122 /**/
6123     950,
6124 /**/
6125     949,
6126 /**/
6127     948,
6128 /**/
6129     947,
6130 /**/
6131     946,
6132 /**/
6133     945,
6134 /**/
6135     944,
6136 /**/
6137     943,
6138 /**/
6139     942,
6140 /**/
6141     941,
6142 /**/
6143     940,
6144 /**/
6145     939,
6146 /**/
6147     938,
6148 /**/
6149     937,
6150 /**/
6151     936,
6152 /**/
6153     935,
6154 /**/
6155     934,
6156 /**/
6157     933,
6158 /**/
6159     932,
6160 /**/
6161     931,
6162 /**/
6163     930,
6164 /**/
6165     929,
6166 /**/
6167     928,
6168 /**/
6169     927,
6170 /**/
6171     926,
6172 /**/
6173     925,
6174 /**/
6175     924,
6176 /**/
6177     923,
6178 /**/
6179     922,
6180 /**/
6181     921,
6182 /**/
6183     920,
6184 /**/
6185     919,
6186 /**/
6187     918,
6188 /**/
6189     917,
6190 /**/
6191     916,
6192 /**/
6193     915,
6194 /**/
6195     914,
6196 /**/
6197     913,
6198 /**/
6199     912,
6200 /**/
6201     911,
6202 /**/
6203     910,
6204 /**/
6205     909,
6206 /**/
6207     908,
6208 /**/
6209     907,
6210 /**/
6211     906,
6212 /**/
6213     905,
6214 /**/
6215     904,
6216 /**/
6217     903,
6218 /**/
6219     902,
6220 /**/
6221     901,
6222 /**/
6223     900,
6224 /**/
6225     899,
6226 /**/
6227     898,
6228 /**/
6229     897,
6230 /**/
6231     896,
6232 /**/
6233     895,
6234 /**/
6235     894,
6236 /**/
6237     893,
6238 /**/
6239     892,
6240 /**/
6241     891,
6242 /**/
6243     890,
6244 /**/
6245     889,
6246 /**/
6247     888,
6248 /**/
6249     887,
6250 /**/
6251     886,
6252 /**/
6253     885,
6254 /**/
6255     884,
6256 /**/
6257     883,
6258 /**/
6259     882,
6260 /**/
6261     881,
6262 /**/
6263     880,
6264 /**/
6265     879,
6266 /**/
6267     878,
6268 /**/
6269     877,
6270 /**/
6271     876,
6272 /**/
6273     875,
6274 /**/
6275     874,
6276 /**/
6277     873,
6278 /**/
6279     872,
6280 /**/
6281     871,
6282 /**/
6283     870,
6284 /**/
6285     869,
6286 /**/
6287     868,
6288 /**/
6289     867,
6290 /**/
6291     866,
6292 /**/
6293     865,
6294 /**/
6295     864,
6296 /**/
6297     863,
6298 /**/
6299     862,
6300 /**/
6301     861,
6302 /**/
6303     860,
6304 /**/
6305     859,
6306 /**/
6307     858,
6308 /**/
6309     857,
6310 /**/
6311     856,
6312 /**/
6313     855,
6314 /**/
6315     854,
6316 /**/
6317     853,
6318 /**/
6319     852,
6320 /**/
6321     851,
6322 /**/
6323     850,
6324 /**/
6325     849,
6326 /**/
6327     848,
6328 /**/
6329     847,
6330 /**/
6331     846,
6332 /**/
6333     845,
6334 /**/
6335     844,
6336 /**/
6337     843,
6338 /**/
6339     842,
6340 /**/
6341     841,
6342 /**/
6343     840,
6344 /**/
6345     839,
6346 /**/
6347     838,
6348 /**/
6349     837,
6350 /**/
6351     836,
6352 /**/
6353     835,
6354 /**/
6355     834,
6356 /**/
6357     833,
6358 /**/
6359     832,
6360 /**/
6361     831,
6362 /**/
6363     830,
6364 /**/
6365     829,
6366 /**/
6367     828,
6368 /**/
6369     827,
6370 /**/
6371     826,
6372 /**/
6373     825,
6374 /**/
6375     824,
6376 /**/
6377     823,
6378 /**/
6379     822,
6380 /**/
6381     821,
6382 /**/
6383     820,
6384 /**/
6385     819,
6386 /**/
6387     818,
6388 /**/
6389     817,
6390 /**/
6391     816,
6392 /**/
6393     815,
6394 /**/
6395     814,
6396 /**/
6397     813,
6398 /**/
6399     812,
6400 /**/
6401     811,
6402 /**/
6403     810,
6404 /**/
6405     809,
6406 /**/
6407     808,
6408 /**/
6409     807,
6410 /**/
6411     806,
6412 /**/
6413     805,
6414 /**/
6415     804,
6416 /**/
6417     803,
6418 /**/
6419     802,
6420 /**/
6421     801,
6422 /**/
6423     800,
6424 /**/
6425     799,
6426 /**/
6427     798,
6428 /**/
6429     797,
6430 /**/
6431     796,
6432 /**/
6433     795,
6434 /**/
6435     794,
6436 /**/
6437     793,
6438 /**/
6439     792,
6440 /**/
6441     791,
6442 /**/
6443     790,
6444 /**/
6445     789,
6446 /**/
6447     788,
6448 /**/
6449     787,
6450 /**/
6451     786,
6452 /**/
6453     785,
6454 /**/
6455     784,
6456 /**/
6457     783,
6458 /**/
6459     782,
6460 /**/
6461     781,
6462 /**/
6463     780,
6464 /**/
6465     779,
6466 /**/
6467     778,
6468 /**/
6469     777,
6470 /**/
6471     776,
6472 /**/
6473     775,
6474 /**/
6475     774,
6476 /**/
6477     773,
6478 /**/
6479     772,
6480 /**/
6481     771,
6482 /**/
6483     770,
6484 /**/
6485     769,
6486 /**/
6487     768,
6488 /**/
6489     767,
6490 /**/
6491     766,
6492 /**/
6493     765,
6494 /**/
6495     764,
6496 /**/
6497     763,
6498 /**/
6499     762,
6500 /**/
6501     761,
6502 /**/
6503     760,
6504 /**/
6505     759,
6506 /**/
6507     758,
6508 /**/
6509     757,
6510 /**/
6511     756,
6512 /**/
6513     755,
6514 /**/
6515     754,
6516 /**/
6517     753,
6518 /**/
6519     752,
6520 /**/
6521     751,
6522 /**/
6523     750,
6524 /**/
6525     749,
6526 /**/
6527     748,
6528 /**/
6529     747,
6530 /**/
6531     746,
6532 /**/
6533     745,
6534 /**/
6535     744,
6536 /**/
6537     743,
6538 /**/
6539     742,
6540 /**/
6541     741,
6542 /**/
6543     740,
6544 /**/
6545     739,
6546 /**/
6547     738,
6548 /**/
6549     737,
6550 /**/
6551     736,
6552 /**/
6553     735,
6554 /**/
6555     734,
6556 /**/
6557     733,
6558 /**/
6559     732,
6560 /**/
6561     731,
6562 /**/
6563     730,
6564 /**/
6565     729,
6566 /**/
6567     728,
6568 /**/
6569     727,
6570 /**/
6571     726,
6572 /**/
6573     725,
6574 /**/
6575     724,
6576 /**/
6577     723,
6578 /**/
6579     722,
6580 /**/
6581     721,
6582 /**/
6583     720,
6584 /**/
6585     719,
6586 /**/
6587     718,
6588 /**/
6589     717,
6590 /**/
6591     716,
6592 /**/
6593     715,
6594 /**/
6595     714,
6596 /**/
6597     713,
6598 /**/
6599     712,
6600 /**/
6601     711,
6602 /**/
6603     710,
6604 /**/
6605     709,
6606 /**/
6607     708,
6608 /**/
6609     707,
6610 /**/
6611     706,
6612 /**/
6613     705,
6614 /**/
6615     704,
6616 /**/
6617     703,
6618 /**/
6619     702,
6620 /**/
6621     701,
6622 /**/
6623     700,
6624 /**/
6625     699,
6626 /**/
6627     698,
6628 /**/
6629     697,
6630 /**/
6631     696,
6632 /**/
6633     695,
6634 /**/
6635     694,
6636 /**/
6637     693,
6638 /**/
6639     692,
6640 /**/
6641     691,
6642 /**/
6643     690,
6644 /**/
6645     689,
6646 /**/
6647     688,
6648 /**/
6649     687,
6650 /**/
6651     686,
6652 /**/
6653     685,
6654 /**/
6655     684,
6656 /**/
6657     683,
6658 /**/
6659     682,
6660 /**/
6661     681,
6662 /**/
6663     680,
6664 /**/
6665     679,
6666 /**/
6667     678,
6668 /**/
6669     677,
6670 /**/
6671     676,
6672 /**/
6673     675,
6674 /**/
6675     674,
6676 /**/
6677     673,
6678 /**/
6679     672,
6680 /**/
6681     671,
6682 /**/
6683     670,
6684 /**/
6685     669,
6686 /**/
6687     668,
6688 /**/
6689     667,
6690 /**/
6691     666,
6692 /**/
6693     665,
6694 /**/
6695     664,
6696 /**/
6697     663,
6698 /**/
6699     662,
6700 /**/
6701     661,
6702 /**/
6703     660,
6704 /**/
6705     659,
6706 /**/
6707     658,
6708 /**/
6709     657,
6710 /**/
6711     656,
6712 /**/
6713     655,
6714 /**/
6715     654,
6716 /**/
6717     653,
6718 /**/
6719     652,
6720 /**/
6721     651,
6722 /**/
6723     650,
6724 /**/
6725     649,
6726 /**/
6727     648,
6728 /**/
6729     647,
6730 /**/
6731     646,
6732 /**/
6733     645,
6734 /**/
6735     644,
6736 /**/
6737     643,
6738 /**/
6739     642,
6740 /**/
6741     641,
6742 /**/
6743     640,
6744 /**/
6745     639,
6746 /**/
6747     638,
6748 /**/
6749     637,
6750 /**/
6751     636,
6752 /**/
6753     635,
6754 /**/
6755     634,
6756 /**/
6757     633,
6758 /**/
6759     632,
6760 /**/
6761     631,
6762 /**/
6763     630,
6764 /**/
6765     629,
6766 /**/
6767     628,
6768 /**/
6769     627,
6770 /**/
6771     626,
6772 /**/
6773     625,
6774 /**/
6775     624,
6776 /**/
6777     623,
6778 /**/
6779     622,
6780 /**/
6781     621,
6782 /**/
6783     620,
6784 /**/
6785     619,
6786 /**/
6787     618,
6788 /**/
6789     617,
6790 /**/
6791     616,
6792 /**/
6793     615,
6794 /**/
6795     614,
6796 /**/
6797     613,
6798 /**/
6799     612,
6800 /**/
6801     611,
6802 /**/
6803     610,
6804 /**/
6805     609,
6806 /**/
6807     608,
6808 /**/
6809     607,
6810 /**/
6811     606,
6812 /**/
6813     605,
6814 /**/
6815     604,
6816 /**/
6817     603,
6818 /**/
6819     602,
6820 /**/
6821     601,
6822 /**/
6823     600,
6824 /**/
6825     599,
6826 /**/
6827     598,
6828 /**/
6829     597,
6830 /**/
6831     596,
6832 /**/
6833     595,
6834 /**/
6835     594,
6836 /**/
6837     593,
6838 /**/
6839     592,
6840 /**/
6841     591,
6842 /**/
6843     590,
6844 /**/
6845     589,
6846 /**/
6847     588,
6848 /**/
6849     587,
6850 /**/
6851     586,
6852 /**/
6853     585,
6854 /**/
6855     584,
6856 /**/
6857     583,
6858 /**/
6859     582,
6860 /**/
6861     581,
6862 /**/
6863     580,
6864 /**/
6865     579,
6866 /**/
6867     578,
6868 /**/
6869     577,
6870 /**/
6871     576,
6872 /**/
6873     575,
6874 /**/
6875     574,
6876 /**/
6877     573,
6878 /**/
6879     572,
6880 /**/
6881     571,
6882 /**/
6883     570,
6884 /**/
6885     569,
6886 /**/
6887     568,
6888 /**/
6889     567,
6890 /**/
6891     566,
6892 /**/
6893     565,
6894 /**/
6895     564,
6896 /**/
6897     563,
6898 /**/
6899     562,
6900 /**/
6901     561,
6902 /**/
6903     560,
6904 /**/
6905     559,
6906 /**/
6907     558,
6908 /**/
6909     557,
6910 /**/
6911     556,
6912 /**/
6913     555,
6914 /**/
6915     554,
6916 /**/
6917     553,
6918 /**/
6919     552,
6920 /**/
6921     551,
6922 /**/
6923     550,
6924 /**/
6925     549,
6926 /**/
6927     548,
6928 /**/
6929     547,
6930 /**/
6931     546,
6932 /**/
6933     545,
6934 /**/
6935     544,
6936 /**/
6937     543,
6938 /**/
6939     542,
6940 /**/
6941     541,
6942 /**/
6943     540,
6944 /**/
6945     539,
6946 /**/
6947     538,
6948 /**/
6949     537,
6950 /**/
6951     536,
6952 /**/
6953     535,
6954 /**/
6955     534,
6956 /**/
6957     533,
6958 /**/
6959     532,
6960 /**/
6961     531,
6962 /**/
6963     530,
6964 /**/
6965     529,
6966 /**/
6967     528,
6968 /**/
6969     527,
6970 /**/
6971     526,
6972 /**/
6973     525,
6974 /**/
6975     524,
6976 /**/
6977     523,
6978 /**/
6979     522,
6980 /**/
6981     521,
6982 /**/
6983     520,
6984 /**/
6985     519,
6986 /**/
6987     518,
6988 /**/
6989     517,
6990 /**/
6991     516,
6992 /**/
6993     515,
6994 /**/
6995     514,
6996 /**/
6997     513,
6998 /**/
6999     512,
7000 /**/
7001     511,
7002 /**/
7003     510,
7004 /**/
7005     509,
7006 /**/
7007     508,
7008 /**/
7009     507,
7010 /**/
7011     506,
7012 /**/
7013     505,
7014 /**/
7015     504,
7016 /**/
7017     503,
7018 /**/
7019     502,
7020 /**/
7021     501,
7022 /**/
7023     500,
7024 /**/
7025     499,
7026 /**/
7027     498,
7028 /**/
7029     497,
7030 /**/
7031     496,
7032 /**/
7033     495,
7034 /**/
7035     494,
7036 /**/
7037     493,
7038 /**/
7039     492,
7040 /**/
7041     491,
7042 /**/
7043     490,
7044 /**/
7045     489,
7046 /**/
7047     488,
7048 /**/
7049     487,
7050 /**/
7051     486,
7052 /**/
7053     485,
7054 /**/
7055     484,
7056 /**/
7057     483,
7058 /**/
7059     482,
7060 /**/
7061     481,
7062 /**/
7063     480,
7064 /**/
7065     479,
7066 /**/
7067     478,
7068 /**/
7069     477,
7070 /**/
7071     476,
7072 /**/
7073     475,
7074 /**/
7075     474,
7076 /**/
7077     473,
7078 /**/
7079     472,
7080 /**/
7081     471,
7082 /**/
7083     470,
7084 /**/
7085     469,
7086 /**/
7087     468,
7088 /**/
7089     467,
7090 /**/
7091     466,
7092 /**/
7093     465,
7094 /**/
7095     464,
7096 /**/
7097     463,
7098 /**/
7099     462,
7100 /**/
7101     461,
7102 /**/
7103     460,
7104 /**/
7105     459,
7106 /**/
7107     458,
7108 /**/
7109     457,
7110 /**/
7111     456,
7112 /**/
7113     455,
7114 /**/
7115     454,
7116 /**/
7117     453,
7118 /**/
7119     452,
7120 /**/
7121     451,
7122 /**/
7123     450,
7124 /**/
7125     449,
7126 /**/
7127     448,
7128 /**/
7129     447,
7130 /**/
7131     446,
7132 /**/
7133     445,
7134 /**/
7135     444,
7136 /**/
7137     443,
7138 /**/
7139     442,
7140 /**/
7141     441,
7142 /**/
7143     440,
7144 /**/
7145     439,
7146 /**/
7147     438,
7148 /**/
7149     437,
7150 /**/
7151     436,
7152 /**/
7153     435,
7154 /**/
7155     434,
7156 /**/
7157     433,
7158 /**/
7159     432,
7160 /**/
7161     431,
7162 /**/
7163     430,
7164 /**/
7165     429,
7166 /**/
7167     428,
7168 /**/
7169     427,
7170 /**/
7171     426,
7172 /**/
7173     425,
7174 /**/
7175     424,
7176 /**/
7177     423,
7178 /**/
7179     422,
7180 /**/
7181     421,
7182 /**/
7183     420,
7184 /**/
7185     419,
7186 /**/
7187     418,
7188 /**/
7189     417,
7190 /**/
7191     416,
7192 /**/
7193     415,
7194 /**/
7195     414,
7196 /**/
7197     413,
7198 /**/
7199     412,
7200 /**/
7201     411,
7202 /**/
7203     410,
7204 /**/
7205     409,
7206 /**/
7207     408,
7208 /**/
7209     407,
7210 /**/
7211     406,
7212 /**/
7213     405,
7214 /**/
7215     404,
7216 /**/
7217     403,
7218 /**/
7219     402,
7220 /**/
7221     401,
7222 /**/
7223     400,
7224 /**/
7225     399,
7226 /**/
7227     398,
7228 /**/
7229     397,
7230 /**/
7231     396,
7232 /**/
7233     395,
7234 /**/
7235     394,
7236 /**/
7237     393,
7238 /**/
7239     392,
7240 /**/
7241     391,
7242 /**/
7243     390,
7244 /**/
7245     389,
7246 /**/
7247     388,
7248 /**/
7249     387,
7250 /**/
7251     386,
7252 /**/
7253     385,
7254 /**/
7255     384,
7256 /**/
7257     383,
7258 /**/
7259     382,
7260 /**/
7261     381,
7262 /**/
7263     380,
7264 /**/
7265     379,
7266 /**/
7267     378,
7268 /**/
7269     377,
7270 /**/
7271     376,
7272 /**/
7273     375,
7274 /**/
7275     374,
7276 /**/
7277     373,
7278 /**/
7279     372,
7280 /**/
7281     371,
7282 /**/
7283     370,
7284 /**/
7285     369,
7286 /**/
7287     368,
7288 /**/
7289     367,
7290 /**/
7291     366,
7292 /**/
7293     365,
7294 /**/
7295     364,
7296 /**/
7297     363,
7298 /**/
7299     362,
7300 /**/
7301     361,
7302 /**/
7303     360,
7304 /**/
7305     359,
7306 /**/
7307     358,
7308 /**/
7309     357,
7310 /**/
7311     356,
7312 /**/
7313     355,
7314 /**/
7315     354,
7316 /**/
7317     353,
7318 /**/
7319     352,
7320 /**/
7321     351,
7322 /**/
7323     350,
7324 /**/
7325     349,
7326 /**/
7327     348,
7328 /**/
7329     347,
7330 /**/
7331     346,
7332 /**/
7333     345,
7334 /**/
7335     344,
7336 /**/
7337     343,
7338 /**/
7339     342,
7340 /**/
7341     341,
7342 /**/
7343     340,
7344 /**/
7345     339,
7346 /**/
7347     338,
7348 /**/
7349     337,
7350 /**/
7351     336,
7352 /**/
7353     335,
7354 /**/
7355     334,
7356 /**/
7357     333,
7358 /**/
7359     332,
7360 /**/
7361     331,
7362 /**/
7363     330,
7364 /**/
7365     329,
7366 /**/
7367     328,
7368 /**/
7369     327,
7370 /**/
7371     326,
7372 /**/
7373     325,
7374 /**/
7375     324,
7376 /**/
7377     323,
7378 /**/
7379     322,
7380 /**/
7381     321,
7382 /**/
7383     320,
7384 /**/
7385     319,
7386 /**/
7387     318,
7388 /**/
7389     317,
7390 /**/
7391     316,
7392 /**/
7393     315,
7394 /**/
7395     314,
7396 /**/
7397     313,
7398 /**/
7399     312,
7400 /**/
7401     311,
7402 /**/
7403     310,
7404 /**/
7405     309,
7406 /**/
7407     308,
7408 /**/
7409     307,
7410 /**/
7411     306,
7412 /**/
7413     305,
7414 /**/
7415     304,
7416 /**/
7417     303,
7418 /**/
7419     302,
7420 /**/
7421     301,
7422 /**/
7423     300,
7424 /**/
7425     299,
7426 /**/
7427     298,
7428 /**/
7429     297,
7430 /**/
7431     296,
7432 /**/
7433     295,
7434 /**/
7435     294,
7436 /**/
7437     293,
7438 /**/
7439     292,
7440 /**/
7441     291,
7442 /**/
7443     290,
7444 /**/
7445     289,
7446 /**/
7447     288,
7448 /**/
7449     287,
7450 /**/
7451     286,
7452 /**/
7453     285,
7454 /**/
7455     284,
7456 /**/
7457     283,
7458 /**/
7459     282,
7460 /**/
7461     281,
7462 /**/
7463     280,
7464 /**/
7465     279,
7466 /**/
7467     278,
7468 /**/
7469     277,
7470 /**/
7471     276,
7472 /**/
7473     275,
7474 /**/
7475     274,
7476 /**/
7477     273,
7478 /**/
7479     272,
7480 /**/
7481     271,
7482 /**/
7483     270,
7484 /**/
7485     269,
7486 /**/
7487     268,
7488 /**/
7489     267,
7490 /**/
7491     266,
7492 /**/
7493     265,
7494 /**/
7495     264,
7496 /**/
7497     263,
7498 /**/
7499     262,
7500 /**/
7501     261,
7502 /**/
7503     260,
7504 /**/
7505     259,
7506 /**/
7507     258,
7508 /**/
7509     257,
7510 /**/
7511     256,
7512 /**/
7513     255,
7514 /**/
7515     254,
7516 /**/
7517     253,
7518 /**/
7519     252,
7520 /**/
7521     251,
7522 /**/
7523     250,
7524 /**/
7525     249,
7526 /**/
7527     248,
7528 /**/
7529     247,
7530 /**/
7531     246,
7532 /**/
7533     245,
7534 /**/
7535     244,
7536 /**/
7537     243,
7538 /**/
7539     242,
7540 /**/
7541     241,
7542 /**/
7543     240,
7544 /**/
7545     239,
7546 /**/
7547     238,
7548 /**/
7549     237,
7550 /**/
7551     236,
7552 /**/
7553     235,
7554 /**/
7555     234,
7556 /**/
7557     233,
7558 /**/
7559     232,
7560 /**/
7561     231,
7562 /**/
7563     230,
7564 /**/
7565     229,
7566 /**/
7567     228,
7568 /**/
7569     227,
7570 /**/
7571     226,
7572 /**/
7573     225,
7574 /**/
7575     224,
7576 /**/
7577     223,
7578 /**/
7579     222,
7580 /**/
7581     221,
7582 /**/
7583     220,
7584 /**/
7585     219,
7586 /**/
7587     218,
7588 /**/
7589     217,
7590 /**/
7591     216,
7592 /**/
7593     215,
7594 /**/
7595     214,
7596 /**/
7597     213,
7598 /**/
7599     212,
7600 /**/
7601     211,
7602 /**/
7603     210,
7604 /**/
7605     209,
7606 /**/
7607     208,
7608 /**/
7609     207,
7610 /**/
7611     206,
7612 /**/
7613     205,
7614 /**/
7615     204,
7616 /**/
7617     203,
7618 /**/
7619     202,
7620 /**/
7621     201,
7622 /**/
7623     200,
7624 /**/
7625     199,
7626 /**/
7627     198,
7628 /**/
7629     197,
7630 /**/
7631     196,
7632 /**/
7633     195,
7634 /**/
7635     194,
7636 /**/
7637     193,
7638 /**/
7639     192,
7640 /**/
7641     191,
7642 /**/
7643     190,
7644 /**/
7645     189,
7646 /**/
7647     188,
7648 /**/
7649     187,
7650 /**/
7651     186,
7652 /**/
7653     185,
7654 /**/
7655     184,
7656 /**/
7657     183,
7658 /**/
7659     182,
7660 /**/
7661     181,
7662 /**/
7663     180,
7664 /**/
7665     179,
7666 /**/
7667     178,
7668 /**/
7669     177,
7670 /**/
7671     176,
7672 /**/
7673     175,
7674 /**/
7675     174,
7676 /**/
7677     173,
7678 /**/
7679     172,
7680 /**/
7681     171,
7682 /**/
7683     170,
7684 /**/
7685     169,
7686 /**/
7687     168,
7688 /**/
7689     167,
7690 /**/
7691     166,
7692 /**/
7693     165,
7694 /**/
7695     164,
7696 /**/
7697     163,
7698 /**/
7699     162,
7700 /**/
7701     161,
7702 /**/
7703     160,
7704 /**/
7705     159,
7706 /**/
7707     158,
7708 /**/
7709     157,
7710 /**/
7711     156,
7712 /**/
7713     155,
7714 /**/
7715     154,
7716 /**/
7717     153,
7718 /**/
7719     152,
7720 /**/
7721     151,
7722 /**/
7723     150,
7724 /**/
7725     149,
7726 /**/
7727     148,
7728 /**/
7729     147,
7730 /**/
7731     146,
7732 /**/
7733     145,
7734 /**/
7735     144,
7736 /**/
7737     143,
7738 /**/
7739     142,
7740 /**/
7741     141,
7742 /**/
7743     140,
7744 /**/
7745     139,
7746 /**/
7747     138,
7748 /**/
7749     137,
7750 /**/
7751     136,
7752 /**/
7753     135,
7754 /**/
7755     134,
7756 /**/
7757     133,
7758 /**/
7759     132,
7760 /**/
7761     131,
7762 /**/
7763     130,
7764 /**/
7765     129,
7766 /**/
7767     128,
7768 /**/
7769     127,
7770 /**/
7771     126,
7772 /**/
7773     125,
7774 /**/
7775     124,
7776 /**/
7777     123,
7778 /**/
7779     122,
7780 /**/
7781     121,
7782 /**/
7783     120,
7784 /**/
7785     119,
7786 /**/
7787     118,
7788 /**/
7789     117,
7790 /**/
7791     116,
7792 /**/
7793     115,
7794 /**/
7795     114,
7796 /**/
7797     113,
7798 /**/
7799     112,
7800 /**/
7801     111,
7802 /**/
7803     110,
7804 /**/
7805     109,
7806 /**/
7807     108,
7808 /**/
7809     107,
7810 /**/
7811     106,
7812 /**/
7813     105,
7814 /**/
7815     104,
7816 /**/
7817     103,
7818 /**/
7819     102,
7820 /**/
7821     101,
7822 /**/
7823     100,
7824 /**/
7825     99,
7826 /**/
7827     98,
7828 /**/
7829     97,
7830 /**/
7831     96,
7832 /**/
7833     95,
7834 /**/
7835     94,
7836 /**/
7837     93,
7838 /**/
7839     92,
7840 /**/
7841     91,
7842 /**/
7843     90,
7844 /**/
7845     89,
7846 /**/
7847     88,
7848 /**/
7849     87,
7850 /**/
7851     86,
7852 /**/
7853     85,
7854 /**/
7855     84,
7856 /**/
7857     83,
7858 /**/
7859     82,
7860 /**/
7861     81,
7862 /**/
7863     80,
7864 /**/
7865     79,
7866 /**/
7867     78,
7868 /**/
7869     77,
7870 /**/
7871     76,
7872 /**/
7873     75,
7874 /**/
7875     74,
7876 /**/
7877     73,
7878 /**/
7879     72,
7880 /**/
7881     71,
7882 /**/
7883     70,
7884 /**/
7885     69,
7886 /**/
7887     68,
7888 /**/
7889     67,
7890 /**/
7891     66,
7892 /**/
7893     65,
7894 /**/
7895     64,
7896 /**/
7897     63,
7898 /**/
7899     62,
7900 /**/
7901     61,
7902 /**/
7903     60,
7904 /**/
7905     59,
7906 /**/
7907     58,
7908 /**/
7909     57,
7910 /**/
7911     56,
7912 /**/
7913     55,
7914 /**/
7915     54,
7916 /**/
7917     53,
7918 /**/
7919     52,
7920 /**/
7921     51,
7922 /**/
7923     50,
7924 /**/
7925     49,
7926 /**/
7927     48,
7928 /**/
7929     47,
7930 /**/
7931     46,
7932 /**/
7933     45,
7934 /**/
7935     44,
7936 /**/
7937     43,
7938 /**/
7939     42,
7940 /**/
7941     41,
7942 /**/
7943     40,
7944 /**/
7945     39,
7946 /**/
7947     38,
7948 /**/
7949     37,
7950 /**/
7951     36,
7952 /**/
7953     35,
7954 /**/
7955     34,
7956 /**/
7957     33,
7958 /**/
7959     32,
7960 /**/
7961     31,
7962 /**/
7963     30,
7964 /**/
7965     29,
7966 /**/
7967     28,
7968 /**/
7969     27,
7970 /**/
7971     26,
7972 /**/
7973     25,
7974 /**/
7975     24,
7976 /**/
7977     23,
7978 /**/
7979     22,
7980 /**/
7981     21,
7982 /**/
7983     20,
7984 /**/
7985     19,
7986 /**/
7987     18,
7988 /**/
7989     17,
7990 /**/
7991     16,
7992 /**/
7993     15,
7994 /**/
7995     14,
7996 /**/
7997     13,
7998 /**/
7999     12,
8000 /**/
8001     11,
8002 /**/
8003     10,
8004 /**/
8005     9,
8006 /**/
8007     8,
8008 /**/
8009     7,
8010 /**/
8011     6,
8012 /**/
8013     5,
8014 /**/
8015     4,
8016 /**/
8017     3,
8018 /**/
8019     2,
8020 /**/
8021     1,
8022 /**/
8023     0
8024 };
8025 
8026 /*
8027  * Place to put a short description when adding a feature with a patch.
8028  * Keep it short, e.g.,: "relative numbers", "persistent undo".
8029  * Also add a comment marker to separate the lines.
8030  * See the official Vim patches for the diff format: It must use a context of
8031  * one line only.  Create it by hand or use "diff -C2" and edit the patch.
8032  */
8033 static char *(extra_patches[]) =
8034 {   /* Add your patch description below this line */
8035 /**/
8036     NULL
8037 };
8038 
8039     int
8040 highest_patch(void)
8041 {
8042     // this relies on the highest patch number to be the first entry
8043     return included_patches[0];
8044 }
8045 
8046 #if defined(FEAT_EVAL) || defined(PROTO)
8047 /*
8048  * Return TRUE if patch "n" has been included.
8049  */
8050     int
8051 has_patch(int n)
8052 {
8053     int		h, m, l;
8054 
8055     // Perform a binary search.
8056     l = 0;
8057     h = (int)ARRAY_LENGTH(included_patches) - 1;
8058     while (l < h)
8059     {
8060 	m = (l + h) / 2;
8061 	if (included_patches[m] == n)
8062 	    return TRUE;
8063 	if (included_patches[m] < n)
8064 	    h = m;
8065 	else
8066 	    l = m + 1;
8067     }
8068     return FALSE;
8069 }
8070 #endif
8071 
8072     void
8073 ex_version(exarg_T *eap)
8074 {
8075     /*
8076      * Ignore a ":version 9.99" command.
8077      */
8078     if (*eap->arg == NUL)
8079     {
8080 	msg_putchar('\n');
8081 	list_version();
8082     }
8083 }
8084 
8085 /*
8086  * Output a string for the version message.  If it's going to wrap, output a
8087  * newline, unless the message is too long to fit on the screen anyway.
8088  * When "wrap" is TRUE wrap the string in [].
8089  */
8090     static void
8091 version_msg_wrap(char_u *s, int wrap)
8092 {
8093     int		len = vim_strsize(s) + (wrap ? 2 : 0);
8094 
8095     if (!got_int && len < (int)Columns && msg_col + len >= (int)Columns
8096 								&& *s != '\n')
8097 	msg_putchar('\n');
8098     if (!got_int)
8099     {
8100 	if (wrap)
8101 	    msg_puts("[");
8102 	msg_puts((char *)s);
8103 	if (wrap)
8104 	    msg_puts("]");
8105     }
8106 }
8107 
8108     static void
8109 version_msg(char *s)
8110 {
8111     version_msg_wrap((char_u *)s, FALSE);
8112 }
8113 
8114 /*
8115  * List all features aligned in columns, dictionary style.
8116  */
8117     static void
8118 list_features(void)
8119 {
8120     list_in_columns((char_u **)features, -1, -1);
8121 }
8122 
8123 /*
8124  * List string items nicely aligned in columns.
8125  * When "size" is < 0 then the last entry is marked with NULL.
8126  * The entry with index "current" is inclosed in [].
8127  */
8128     void
8129 list_in_columns(char_u **items, int size, int current)
8130 {
8131     int		i;
8132     int		ncol;
8133     int		nrow;
8134     int		cur_row = 1;
8135     int		item_count = 0;
8136     int		width = 0;
8137 #ifdef FEAT_SYN_HL
8138     int		use_highlight = (items == (char_u **)features);
8139 #endif
8140 
8141     // Find the length of the longest item, use that + 1 as the column
8142     // width.
8143     for (i = 0; size < 0 ? items[i] != NULL : i < size; ++i)
8144     {
8145 	int l = vim_strsize(items[i]) + (i == current ? 2 : 0);
8146 
8147 	if (l > width)
8148 	    width = l;
8149 	++item_count;
8150     }
8151     width += 1;
8152 
8153     if (Columns < width)
8154     {
8155 	// Not enough screen columns - show one per line
8156 	for (i = 0; i < item_count; ++i)
8157 	{
8158 	    version_msg_wrap(items[i], i == current);
8159 	    if (msg_col > 0 && i < item_count - 1)
8160 		msg_putchar('\n');
8161 	}
8162 	return;
8163     }
8164 
8165     // The rightmost column doesn't need a separator.
8166     // Sacrifice it to fit in one more column if possible.
8167     ncol = (int) (Columns + 1) / width;
8168     nrow = item_count / ncol + (item_count % ncol ? 1 : 0);
8169 
8170     // "i" counts columns then rows.  "idx" counts rows then columns.
8171     for (i = 0; !got_int && i < nrow * ncol; ++i)
8172     {
8173 	int idx = (i / ncol) + (i % ncol) * nrow;
8174 
8175 	if (idx < item_count)
8176 	{
8177 	    int last_col = (i + 1) % ncol == 0;
8178 
8179 	    if (idx == current)
8180 		msg_putchar('[');
8181 #ifdef FEAT_SYN_HL
8182 	    if (use_highlight && items[idx][0] == '-')
8183 		msg_puts_attr((char *)items[idx], HL_ATTR(HLF_W));
8184 	    else
8185 #endif
8186 		msg_puts((char *)items[idx]);
8187 	    if (idx == current)
8188 		msg_putchar(']');
8189 	    if (last_col)
8190 	    {
8191 		if (msg_col > 0 && cur_row < nrow)
8192 		    msg_putchar('\n');
8193 		++cur_row;
8194 	    }
8195 	    else
8196 	    {
8197 		while (msg_col % width)
8198 		    msg_putchar(' ');
8199 	    }
8200 	}
8201 	else
8202 	{
8203 	    // this row is out of items, thus at the end of the row
8204 	    if (msg_col > 0)
8205 	    {
8206 		if (cur_row < nrow)
8207 		    msg_putchar('\n');
8208 		++cur_row;
8209 	    }
8210 	}
8211     }
8212 }
8213 
8214     void
8215 list_version(void)
8216 {
8217     int		i;
8218     int		first;
8219     char	*s = "";
8220 
8221     /*
8222      * When adding features here, don't forget to update the list of
8223      * internal variables in eval.c!
8224      */
8225     init_longVersion();
8226     msg(longVersion);
8227 #ifdef MSWIN
8228 # ifdef FEAT_GUI_MSWIN
8229 #  ifdef VIMDLL
8230 #   ifdef _WIN64
8231     msg_puts(_("\nMS-Windows 64-bit GUI/console version"));
8232 #   else
8233     msg_puts(_("\nMS-Windows 32-bit GUI/console version"));
8234 #   endif
8235 #  else
8236 #   ifdef _WIN64
8237     msg_puts(_("\nMS-Windows 64-bit GUI version"));
8238 #   else
8239     msg_puts(_("\nMS-Windows 32-bit GUI version"));
8240 #   endif
8241 #  endif
8242 #  ifdef FEAT_OLE
8243     msg_puts(_(" with OLE support"));
8244 #  endif
8245 # else
8246 #  ifdef _WIN64
8247     msg_puts(_("\nMS-Windows 64-bit console version"));
8248 #  else
8249     msg_puts(_("\nMS-Windows 32-bit console version"));
8250 #  endif
8251 # endif
8252 #endif
8253 #if defined(MACOS_X)
8254 # if defined(MACOS_X_DARWIN)
8255     msg_puts(_("\nmacOS version"));
8256 # else
8257     msg_puts(_("\nmacOS version w/o darwin feat."));
8258 # endif
8259 # if defined(__arm64__)
8260     msg_puts(" - arm64");
8261 # elif defined(__x86_64__)
8262     msg_puts(" - x86_64");
8263 # endif
8264 #endif
8265 
8266 #ifdef VMS
8267     msg_puts(_("\nOpenVMS version"));
8268 # ifdef HAVE_PATHDEF
8269     if (*compiled_arch != NUL)
8270     {
8271 	msg_puts(" - ");
8272 	msg_puts((char *)compiled_arch);
8273     }
8274 # endif
8275 
8276 #endif
8277 
8278     // Print the list of patch numbers if there is at least one.
8279     // Print a range when patches are consecutive: "1-10, 12, 15-40, 42-45"
8280     if (included_patches[0] != 0)
8281     {
8282 	msg_puts(_("\nIncluded patches: "));
8283 	first = -1;
8284 	i = (int)ARRAY_LENGTH(included_patches) - 1;
8285 	while (--i >= 0)
8286 	{
8287 	    if (first < 0)
8288 		first = included_patches[i];
8289 	    if (i == 0 || included_patches[i - 1] != included_patches[i] + 1)
8290 	    {
8291 		msg_puts(s);
8292 		s = ", ";
8293 		msg_outnum((long)first);
8294 		if (first != included_patches[i])
8295 		{
8296 		    msg_puts("-");
8297 		    msg_outnum((long)included_patches[i]);
8298 		}
8299 		first = -1;
8300 	    }
8301 	}
8302     }
8303 
8304     // Print the list of extra patch descriptions if there is at least one.
8305     if (extra_patches[0] != NULL)
8306     {
8307 	msg_puts(_("\nExtra patches: "));
8308 	s = "";
8309 	for (i = 0; extra_patches[i] != NULL; ++i)
8310 	{
8311 	    msg_puts(s);
8312 	    s = ", ";
8313 	    msg_puts(extra_patches[i]);
8314 	}
8315     }
8316 
8317 #ifdef MODIFIED_BY
8318     msg_puts("\n");
8319     msg_puts(_("Modified by "));
8320     msg_puts(MODIFIED_BY);
8321 #endif
8322 
8323 #ifdef HAVE_PATHDEF
8324     if (*compiled_user != NUL || *compiled_sys != NUL)
8325     {
8326 	msg_puts(_("\nCompiled "));
8327 	if (*compiled_user != NUL)
8328 	{
8329 	    msg_puts(_("by "));
8330 	    msg_puts((char *)compiled_user);
8331 	}
8332 	if (*compiled_sys != NUL)
8333 	{
8334 	    msg_puts("@");
8335 	    msg_puts((char *)compiled_sys);
8336 	}
8337     }
8338 #endif
8339 
8340 #ifdef FEAT_HUGE
8341     msg_puts(_("\nHuge version "));
8342 #else
8343 # ifdef FEAT_BIG
8344     msg_puts(_("\nBig version "));
8345 # else
8346 #  ifdef FEAT_NORMAL
8347     msg_puts(_("\nNormal version "));
8348 #  else
8349 #   ifdef FEAT_SMALL
8350     msg_puts(_("\nSmall version "));
8351 #   else
8352     msg_puts(_("\nTiny version "));
8353 #   endif
8354 #  endif
8355 # endif
8356 #endif
8357 #ifndef FEAT_GUI
8358     msg_puts(_("without GUI."));
8359 #else
8360 # ifdef FEAT_GUI_GTK
8361 #  ifdef USE_GTK3
8362     msg_puts(_("with GTK3 GUI."));
8363 #  else
8364 #   ifdef FEAT_GUI_GNOME
8365      msg_puts(_("with GTK2-GNOME GUI."));
8366 #   else
8367      msg_puts(_("with GTK2 GUI."));
8368 #   endif
8369 # endif
8370 # else
8371 #  ifdef FEAT_GUI_MOTIF
8372     msg_puts(_("with X11-Motif GUI."));
8373 #  else
8374 #   ifdef FEAT_GUI_ATHENA
8375 #    ifdef FEAT_GUI_NEXTAW
8376     msg_puts(_("with X11-neXtaw GUI."));
8377 #    else
8378     msg_puts(_("with X11-Athena GUI."));
8379 #    endif
8380 #   else
8381 #    ifdef FEAT_GUI_HAIKU
8382     msg_puts(_("with Haiku GUI."));
8383 #    else
8384 #     ifdef FEAT_GUI_PHOTON
8385     msg_puts(_("with Photon GUI."));
8386 #     else
8387 #      if defined(MSWIN)
8388     msg_puts(_("with GUI."));
8389 #      endif
8390 #     endif
8391 #    endif
8392 #   endif
8393 #  endif
8394 # endif
8395 #endif
8396     version_msg(_("  Features included (+) or not (-):\n"));
8397 
8398     list_features();
8399     if (msg_col > 0)
8400 	msg_putchar('\n');
8401 
8402 #ifdef SYS_VIMRC_FILE
8403     version_msg(_("   system vimrc file: \""));
8404     version_msg(SYS_VIMRC_FILE);
8405     version_msg("\"\n");
8406 #endif
8407 #ifdef USR_VIMRC_FILE
8408     version_msg(_("     user vimrc file: \""));
8409     version_msg(USR_VIMRC_FILE);
8410     version_msg("\"\n");
8411 #endif
8412 #ifdef USR_VIMRC_FILE2
8413     version_msg(_(" 2nd user vimrc file: \""));
8414     version_msg(USR_VIMRC_FILE2);
8415     version_msg("\"\n");
8416 #endif
8417 #ifdef USR_VIMRC_FILE3
8418     version_msg(_(" 3rd user vimrc file: \""));
8419     version_msg(USR_VIMRC_FILE3);
8420     version_msg("\"\n");
8421 #endif
8422 #ifdef USR_EXRC_FILE
8423     version_msg(_("      user exrc file: \""));
8424     version_msg(USR_EXRC_FILE);
8425     version_msg("\"\n");
8426 #endif
8427 #ifdef USR_EXRC_FILE2
8428     version_msg(_("  2nd user exrc file: \""));
8429     version_msg(USR_EXRC_FILE2);
8430     version_msg("\"\n");
8431 #endif
8432 #ifdef FEAT_GUI
8433 # ifdef SYS_GVIMRC_FILE
8434     version_msg(_("  system gvimrc file: \""));
8435     version_msg(SYS_GVIMRC_FILE);
8436     version_msg("\"\n");
8437 # endif
8438     version_msg(_("    user gvimrc file: \""));
8439     version_msg(USR_GVIMRC_FILE);
8440     version_msg("\"\n");
8441 # ifdef USR_GVIMRC_FILE2
8442     version_msg(_("2nd user gvimrc file: \""));
8443     version_msg(USR_GVIMRC_FILE2);
8444     version_msg("\"\n");
8445 # endif
8446 # ifdef USR_GVIMRC_FILE3
8447     version_msg(_("3rd user gvimrc file: \""));
8448     version_msg(USR_GVIMRC_FILE3);
8449     version_msg("\"\n");
8450 # endif
8451 #endif
8452     version_msg(_("       defaults file: \""));
8453     version_msg(VIM_DEFAULTS_FILE);
8454     version_msg("\"\n");
8455 #ifdef FEAT_GUI
8456 # ifdef SYS_MENU_FILE
8457     version_msg(_("    system menu file: \""));
8458     version_msg(SYS_MENU_FILE);
8459     version_msg("\"\n");
8460 # endif
8461 #endif
8462 #ifdef HAVE_PATHDEF
8463     if (*default_vim_dir != NUL)
8464     {
8465 	version_msg(_("  fall-back for $VIM: \""));
8466 	version_msg((char *)default_vim_dir);
8467 	version_msg("\"\n");
8468     }
8469     if (*default_vimruntime_dir != NUL)
8470     {
8471 	version_msg(_(" f-b for $VIMRUNTIME: \""));
8472 	version_msg((char *)default_vimruntime_dir);
8473 	version_msg("\"\n");
8474     }
8475     version_msg(_("Compilation: "));
8476     version_msg((char *)all_cflags);
8477     version_msg("\n");
8478 #ifdef VMS
8479     if (*compiler_version != NUL)
8480     {
8481 	version_msg(_("Compiler: "));
8482 	version_msg((char *)compiler_version);
8483 	version_msg("\n");
8484     }
8485 #endif
8486     version_msg(_("Linking: "));
8487     version_msg((char *)all_lflags);
8488 #endif
8489 #ifdef DEBUG
8490     version_msg("\n");
8491     version_msg(_("  DEBUG BUILD"));
8492 #endif
8493 }
8494 
8495 static void do_intro_line(int row, char_u *mesg, int add_version, int attr);
8496 static void intro_message(int colon);
8497 
8498 /*
8499  * Show the intro message when not editing a file.
8500  */
8501     void
8502 maybe_intro_message(void)
8503 {
8504     if (BUFEMPTY()
8505 	    && curbuf->b_fname == NULL
8506 	    && firstwin->w_next == NULL
8507 	    && vim_strchr(p_shm, SHM_INTRO) == NULL)
8508 	intro_message(FALSE);
8509 }
8510 
8511 /*
8512  * Give an introductory message about Vim.
8513  * Only used when starting Vim on an empty file, without a file name.
8514  * Or with the ":intro" command (for Sven :-).
8515  */
8516     static void
8517 intro_message(
8518     int		colon)		// TRUE for ":intro"
8519 {
8520     int		i;
8521     int		row;
8522     int		blanklines;
8523     int		sponsor;
8524     char	*p;
8525     static char	*(lines[]) =
8526     {
8527 	N_("VIM - Vi IMproved"),
8528 	"",
8529 	N_("version "),
8530 	N_("by Bram Moolenaar et al."),
8531 #ifdef MODIFIED_BY
8532 	" ",
8533 #endif
8534 	N_("Vim is open source and freely distributable"),
8535 	"",
8536 	N_("Help poor children in Uganda!"),
8537 	N_("type  :help iccf<Enter>       for information "),
8538 	"",
8539 	N_("type  :q<Enter>               to exit         "),
8540 	N_("type  :help<Enter>  or  <F1>  for on-line help"),
8541 	N_("type  :help version8<Enter>   for version info"),
8542 	NULL,
8543 	"",
8544 	N_("Running in Vi compatible mode"),
8545 	N_("type  :set nocp<Enter>        for Vim defaults"),
8546 	N_("type  :help cp-default<Enter> for info on this"),
8547     };
8548 #ifdef FEAT_GUI
8549     static char	*(gui_lines[]) =
8550     {
8551 	NULL,
8552 	NULL,
8553 	NULL,
8554 	NULL,
8555 #ifdef MODIFIED_BY
8556 	NULL,
8557 #endif
8558 	NULL,
8559 	NULL,
8560 	NULL,
8561 	N_("menu  Help->Orphans           for information    "),
8562 	NULL,
8563 	N_("Running modeless, typed text is inserted"),
8564 	N_("menu  Edit->Global Settings->Toggle Insert Mode  "),
8565 	N_("                              for two modes      "),
8566 	NULL,
8567 	NULL,
8568 	NULL,
8569 	N_("menu  Edit->Global Settings->Toggle Vi Compatible"),
8570 	N_("                              for Vim defaults   "),
8571     };
8572 #endif
8573 
8574     // blanklines = screen height - # message lines
8575     blanklines = (int)Rows - (ARRAY_LENGTH(lines) - 1);
8576     if (!p_cp)
8577 	blanklines += 4;  // add 4 for not showing "Vi compatible" message
8578 
8579     // Don't overwrite a statusline.  Depends on 'cmdheight'.
8580     if (p_ls > 1)
8581 	blanklines -= Rows - topframe->fr_height;
8582     if (blanklines < 0)
8583 	blanklines = 0;
8584 
8585     // Show the sponsor and register message one out of four times, the Uganda
8586     // message two out of four times.
8587     sponsor = (int)time(NULL);
8588     sponsor = ((sponsor & 2) == 0) - ((sponsor & 4) == 0);
8589 
8590     // start displaying the message lines after half of the blank lines
8591     row = blanklines / 2;
8592     if ((row >= 2 && Columns >= 50) || colon)
8593     {
8594 	for (i = 0; i < (int)ARRAY_LENGTH(lines); ++i)
8595 	{
8596 	    p = lines[i];
8597 #ifdef FEAT_GUI
8598 	    if (p_im && gui.in_use && gui_lines[i] != NULL)
8599 		p = gui_lines[i];
8600 #endif
8601 	    if (p == NULL)
8602 	    {
8603 		if (!p_cp)
8604 		    break;
8605 		continue;
8606 	    }
8607 	    if (sponsor != 0)
8608 	    {
8609 		if (strstr(p, "children") != NULL)
8610 		    p = sponsor < 0
8611 			? N_("Sponsor Vim development!")
8612 			: N_("Become a registered Vim user!");
8613 		else if (strstr(p, "iccf") != NULL)
8614 		    p = sponsor < 0
8615 			? N_("type  :help sponsor<Enter>    for information ")
8616 			: N_("type  :help register<Enter>   for information ");
8617 		else if (strstr(p, "Orphans") != NULL)
8618 		    p = N_("menu  Help->Sponsor/Register  for information    ");
8619 	    }
8620 	    if (*p != NUL)
8621 		do_intro_line(row, (char_u *)_(p), i == 2, 0);
8622 	    ++row;
8623 	}
8624     }
8625 
8626     // Make the wait-return message appear just below the text.
8627     if (colon)
8628 	msg_row = row;
8629 }
8630 
8631     static void
8632 do_intro_line(
8633     int		row,
8634     char_u	*mesg,
8635     int		add_version,
8636     int		attr)
8637 {
8638     char_u	vers[20];
8639     int		col;
8640     char_u	*p;
8641     int		l;
8642     int		clen;
8643 #ifdef MODIFIED_BY
8644 # define MODBY_LEN 150
8645     char_u	modby[MODBY_LEN];
8646 
8647     if (*mesg == ' ')
8648     {
8649 	vim_strncpy(modby, (char_u *)_("Modified by "), MODBY_LEN - 1);
8650 	l = (int)STRLEN(modby);
8651 	vim_strncpy(modby + l, (char_u *)MODIFIED_BY, MODBY_LEN - l - 1);
8652 	mesg = modby;
8653     }
8654 #endif
8655 
8656     // Center the message horizontally.
8657     col = vim_strsize(mesg);
8658     if (add_version)
8659     {
8660 	STRCPY(vers, mediumVersion);
8661 	if (highest_patch())
8662 	{
8663 	    // Check for 9.9x or 9.9xx, alpha/beta version
8664 	    if (isalpha((int)vers[3]))
8665 	    {
8666 		int len = (isalpha((int)vers[4])) ? 5 : 4;
8667 		sprintf((char *)vers + len, ".%d%s", highest_patch(),
8668 							 mediumVersion + len);
8669 	    }
8670 	    else
8671 		sprintf((char *)vers + 3, ".%d", highest_patch());
8672 	}
8673 	col += (int)STRLEN(vers);
8674     }
8675     col = (Columns - col) / 2;
8676     if (col < 0)
8677 	col = 0;
8678 
8679     // Split up in parts to highlight <> items differently.
8680     for (p = mesg; *p != NUL; p += l)
8681     {
8682 	clen = 0;
8683 	for (l = 0; p[l] != NUL
8684 			 && (l == 0 || (p[l] != '<' && p[l - 1] != '>')); ++l)
8685 	{
8686 	    if (has_mbyte)
8687 	    {
8688 		clen += ptr2cells(p + l);
8689 		l += (*mb_ptr2len)(p + l) - 1;
8690 	    }
8691 	    else
8692 		clen += byte2cells(p[l]);
8693 	}
8694 	screen_puts_len(p, l, row, col, *p == '<' ? HL_ATTR(HLF_8) : attr);
8695 	col += clen;
8696     }
8697 
8698     // Add the version number to the version line.
8699     if (add_version)
8700 	screen_puts(vers, row, col, 0);
8701 }
8702 
8703 /*
8704  * ":intro": clear screen, display intro screen and wait for return.
8705  */
8706     void
8707 ex_intro(exarg_T *eap UNUSED)
8708 {
8709     screenclear();
8710     intro_message(TRUE);
8711     wait_return(TRUE);
8712 }
8713