From 9bbc1eccb70d7748006fae2810de9906c689ad3b Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 27 Jun 2000 01:05:19 +0000 Subject: Updates for new format. --- localedata/locales/ja_JP | 20112 +++++++++++++++++++++++++++++++++++++++++---- localedata/tst-ctype.c | 265 + localedata/tst-ctype.sh | 34 + 3 files changed, 18800 insertions(+), 1611 deletions(-) create mode 100644 localedata/tst-ctype.c create mode 100755 localedata/tst-ctype.sh diff --git a/localedata/locales/ja_JP b/localedata/locales/ja_JP index c5185cc04a..11ace7eb0f 100644 --- a/localedata/locales/ja_JP +++ b/localedata/locales/ja_JP @@ -1,6 +1,5 @@ escape_char / comment_char % -repertoiremap mnemonic.ja % Name: localedef for ja_JP % Version: 0.7 @@ -8,835 +7,5276 @@ repertoiremap mnemonic.ja % Write: HANATAKA, Shinya LC_CTYPE -upper ;;;;;;;;;;;;;/ - ;;

;;;;;;;;;;;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - .... +lower ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;; -alpha ;;;;;;;;;;;;;/ - ;;

;;;;;;;;;;;/ - ....;/ - ....;/ - ....;/ - ;;;;;;;;;;;;;/ - ;;

;;;;;;;;;;;/ - ....;/ - ....;/ - ....;/ - ....;/ - ;;;;/ - ....;/ - ;;;;;;/ - ....;/ - ;;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - .... +alpha ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;; -digit ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;; +digit ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;; -xdigit ;;;;;/ - ;;;;;/ - ;;;;;;;;;;; +xdigit ;;;;;/ + ;;;;;/ + ;;;;;;/ + ;;;;; -blank ; +blank ; -space ;;;;/ - ;; +space ;;;;/ + ;; -cntrl ;;;;;/ - ;;/ - ;;;;;;;;;/ - ;;;;;;;;;/ - ;;;;;;;;/ - ;;;;;;;;;;/ - ;;;;;;;;;;/ - ;;;;;;;;; +cntrl ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;; -punct ;;;/ - ;;;;/ - ;;;/ - ;;;;;/ - ;;;;/ - ;;;/ - ;;;/ - ;;;/ - ;;;;/ - ;;/ - ;;;/ - ....;/ - ....;/ - ;;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ;/ - ....;/ - ....;/ - ....;/ - .... +punct ;;;/ + ;;;;/ + ;;;/ + ;;;;;/ + ;;;;/ + ;;;/ + ;;;/ + ;;;/ + ;;;;/ + ;;/ + ;;;/ + ;;;;;;;;/ + ;;;;;;;/ + ;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;; -graph ;;;/ - ;;;;/ - ;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;/ - ;;;/ - ;;;;;;;;;;;;;/ - ;;

;;;;;;;;;;;/ - ;;;/ - ;;;/ - ;;;;;;;;;;;;;/ - ;;

;;;;;;;;;;;/ - ;;;;/ - ;;/ - ;;;/ - ;;;;;;/ - ;;;;/ - ;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;/ - ;;;;;/ - ;;/ - ;;/ - ....;/ - ....;....;....;/ - ....;....;;/ - ....;....;....;/ - ....;/ - ....;/ - ....;....;/ - ....;....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;....;....;/ - ....;;;;;/ - ....;/ - ....;....;/ - ;;;;;;/ - ....;;;....;/ - ....;....;/ - ....;....;....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - .... +graph ;;;/ + ;;;;/ + ;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;/ + ;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;/ + ;;;;;;/ + ;;;;/ + ;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;/ + ;;;;;/ + ;;/ + ;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + -print ;/ - ;;;/ - ;;;;/ - ;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;/ - ;;;/ - ;;;;;;;;;;;;;/ - ;;

;;;;;;;;;;;/ - ;;;/ - ;;;/ - ;;;;;;;;;;;;;/ - ;;

;;;;;;;;;;;/ - ;;;;/ - ;;/ - ;;;/ - ;;;;;;/ - ;;;;/ - ;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;/ - ;;;;;/ - ;;/ - ;;/ - ....;/ - ....;....;....;/ - ....;....;;/ - ....;....;....;/ - ....;/ - ....;/ - ....;....;/ - ....;....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;....;....;/ - ....;;;;;/ - ....;/ - ....;....;/ - ;;;;;;/ - ....;;;....;/ - ....;....;/ - ....;....;....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - .... +print ;/ + ;;;/ + ;;;;/ + ;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;/ + ;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;/ + ;;/ + ;;;/ + ;;;;;;/ + ;;;;/ + ;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;/ + ;;;;;/ + ;;/ + ;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;; -toupper (,);(,);(,);(,);(,);/ - (,);(,);(,);(,);(,);/ - (,);(,);(,);(,);(,);/ - (

,

);(,);(,);(,);(,);/ - (,);(,);(,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,) +toupper (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,) -tolower (,);(,);(,);(,);(,);/ - (,);(,);(,);(,);(,);/ - (,);(,);(,);(,);(,);/ - (

,

);(,);(,);(,);(,);/ - (,);(,);(,);(,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,) +tolower (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,) charclass jspace;jhira;jkata;jkanji;jdigit charconv tojhira;tojkata -jspace +jspace -jdigit .... +jdigit ;;;;;/ + ;;;; -jhira ....;/ - ;;/ - ;; +jhira ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;; -jkata ....;/ - ;;/ - ;;;/ - ;;;;;;/ - ;;;;/ - ;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;;;/ - ;;;/ - ;;;;;/ - ;;/ - ; +jkata ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;/ + ;;;;;;/ + ;;;;/ + ;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;;;/ + ;;;/ + ;;;;;/ + ;;/ + ; -jkanji ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ....;/ - ;; +jkanji ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;; + ;;;;;; -tojhira (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,) +tojhira (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,) -tojkata (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);(,);/ - (,);(,);/ - (,);(,) +tojkata (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);(,);/ + (,);(,);/ + (,);(,) END LC_CTYPE @@ -845,757 +5285,13207 @@ order_start forward % % C0 % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % ISO 646 IRV % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % C1 % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % JIS X 0201 KATAKANA % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % JIS X 0208 % - -... - - -... - - -... - - -... - - -... - - -... - - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % % JIS X 0212 % - -... - - -... - - -... - - -... - - - - - - -... - - -... - - -... - - - - - - - - -... - - - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - - -... - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UNDEFINED order_end END LC_COLLATE LC_MESSAGES -yesexpr "^[]" -noexpr "^[]" +yesexpr "" +noexpr "" END LC_MESSAGES LC_MONETARY -int_curr_symbol "

" -currency_symbol "" -mon_decimal_point "" -mon_thousands_sep "" +int_curr_symbol "" +currency_symbol "" +mon_decimal_point "" +mon_thousands_sep "" mon_grouping 3 positive_sign "" -negative_sign "" +negative_sign "" int_frac_digits 0 frac_digits 0 p_cs_precedes 1 @@ -1608,101 +18498,101 @@ END LC_MONETARY LC_NUMERIC -decimal_point "" -thousands_sep "" +decimal_point "" +thousands_sep "" grouping 3 END LC_NUMERIC LC_TIME -abday "";"";"";"";"";"";"" +abday "";"";"";"";"";"";"" -day "";"";/ - "";"";/ - "";"";/ - "" +day "";"";/ + "";"";/ + "";"";/ + "" -abmon "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"" +abmon "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"" -mon "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"" +mon "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"" -d_t_fmt "%Y%m%d%H%M%S" +d_t_fmt "" -d_fmt "%Y%m%d" +d_fmt "" -t_fmt "%H%M%S" +t_fmt "" -am_pm "";"" +am_pm "";"" -t_fmt_ampm "%p%I%M%S" +t_fmt_ampm "" -era "+:2:1990//01//01:+*::%EC%Ey";/ - "+:1:1989//01//08:1989//12//31::%EC";/ - "+:2:1927//01//01:1989//01//07::%EC%Ey";/ - "+:1:1926//12//25:1926//12//31::%EC";/ - "+:2:1913//01//01:1926//12//24::%EC%Ey";/ - "+:2:1912//07//30:1912//12//31::%EC";/ - "+:6:1873//01//01:1912//07//29::%EC%Ey";/ - "+:1:0001//01//01:1872//12//31::%EC%Ey";/ - "+:1:-0001//12//31:-*::%EC%Ey" +era "";/ + "";/ + "";/ + "";/ + "EC";/ + "";/ + "";/ + "";/ + "" -era_d_fmt "%EY%m%d" +era_d_fmt "" -era_d_t_fmt "%EY%m%d%H%M%S" +era_d_t_fmt "U0064>" -alt_digits "";"";"";"";"";"";/ - "";"";"";"";"";/ - "";"";"";/ - "";"";"";/ - "";"";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"";/ - "";"" +alt_digits "";"";"";"";"";"";/ + "";"";"";"";"";/ + "";"";"";/ + "";"";"";/ + "";"";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"" END LC_TIME diff --git a/localedata/tst-ctype.c b/localedata/tst-ctype.c new file mode 100644 index 0000000000..9ee678201f --- /dev/null +++ b/localedata/tst-ctype.c @@ -0,0 +1,265 @@ +/* Copyright (C) 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2000. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include +#include +#include + + +static const char lower[] = "abcdefghijklmnopqrstuvwxyz"; +static const char upper[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +static const char digits[] = "0123456789"; + + +#define FAIL(str, args...) \ + { \ + printf (" " str "\n", ##args); \ + ++errors; \ + } + + +int +main (void) +{ + const char *cp; + const char *cp2; + int errors = 0; + + setlocale (LC_ALL, ""); + + printf ("Testing the ctype data of the `%s' locale\n", + setlocale (LC_CTYPE, NULL)); + +#if 0 + /* Just for debugging. */ + { + /* Contents of the class array. */ + int n = 0; + + printf ("upper = %04x lower = %04x alpha = %04x digit = %04x xdigit = %04x\n" + "space = %04x print = %04x graph = %04x blank = %04x cntrl = %04x\n" + "punct = %04x alnum = %04x\n", + _ISupper, _ISlower, _ISalpha, _ISdigit, _ISxdigit, + _ISspace, _ISprint, _ISgraph, _ISblank, _IScntrl, + _ISpunct, _ISalnum); + + while (n < 256) + { + if (n % 8 == 0) + printf ("%02x: ", n); + printf ("%04x%s", __ctype_b[n], (n + 1) % 8 == 0 ? "\n" : " "); + ++n; + } + } +#endif + + puts (" Test of ASCII character range\n special NUL byte handling"); + if (isupper ('\0')) + FAIL ("isupper ('\\0') is true"); + if (islower ('\0')) + FAIL ("islower ('\\0') is true"); + if (isalpha ('\0')) + FAIL ("isalpha ('\\0') is true"); + if (isdigit ('\0')) + FAIL ("isdigit ('\\0') is true"); + if (isxdigit ('\0')) + FAIL ("isxdigit ('\\0') is true"); + if (isspace ('\0')) + FAIL ("isspace ('\\0') is true"); + if (isprint ('\0')) + FAIL ("isprint ('\\0') is true"); + if (isgraph ('\0')) + FAIL ("isgraph ('\\0') is true"); + if (isblank ('\0')) + FAIL ("isblank ('\\0') is true"); + if (iscntrl ('\0')) + FAIL ("iscntrl ('\\0') is true"); + if (ispunct ('\0')) + FAIL ("ispunct ('\\0') is true"); + if (isalnum ('\0')) + FAIL ("isalnum ('\\0') is true"); + + puts (" islower()"); + for (cp = lower; *cp != '\0'; ++cp) + if (! islower (*cp)) + FAIL ("islower ('%c') not true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (islower (*cp)) + FAIL ("islower ('%c') is true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (islower (*cp)) + FAIL ("islower ('%c') is true", *cp); + + puts (" isupper()"); + for (cp = lower; *cp != '\0'; ++cp) + if (isupper (*cp)) + FAIL ("isupper ('%c') is true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (! isupper (*cp)) + FAIL ("isupper ('%c') not true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (isupper (*cp)) + FAIL ("isupper ('%c') is true", *cp); + + puts (" isalpha()"); + for (cp = lower; *cp != '\0'; ++cp) + if (! isalpha (*cp)) + FAIL ("isalpha ('%c') not true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (! isalpha (*cp)) + FAIL ("isalpha ('%c') not true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (isalpha (*cp)) + FAIL ("isalpha ('%c') is true", *cp); + + puts (" isdigit()"); + for (cp = lower; *cp != '\0'; ++cp) + if (isdigit (*cp)) + FAIL ("isdigit ('%c') is true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (isdigit (*cp)) + FAIL ("isdigit ('%c') is true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (! isdigit (*cp)) + FAIL ("isdigit ('%c') not true", *cp); + + puts (" isxdigit()"); + for (cp = lower; *cp != '\0'; ++cp) + if ((! isxdigit (*cp) && cp - lower < 6) + || (isxdigit (*cp) && cp - lower >= 6)) + FAIL ("isxdigit ('%c') %s true", *cp, cp - upper < 6 ? "not" : "is"); + for (cp = upper; *cp != '\0'; ++cp) + if ((! isxdigit (*cp) && cp - upper < 6) + || (isxdigit (*cp) && cp - upper >= 6)) + FAIL ("isxdigit ('%c') %s true", *cp, cp - upper < 6 ? "not" : "is"); + for (cp = digits; *cp != '\0'; ++cp) + if (! isxdigit (*cp)) + FAIL ("isxdigit ('%c') not true", *cp); + + puts (" isspace()"); + for (cp = lower; *cp != '\0'; ++cp) + if (isspace (*cp)) + FAIL ("isspace ('%c') is true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (isspace (*cp)) + FAIL ("isspace ('%c') is true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (isspace (*cp)) + FAIL ("isspace ('%c') is true", *cp); + + puts (" isprint()"); + for (cp = lower; *cp != '\0'; ++cp) + if (! isprint (*cp)) + FAIL ("isprint ('%c') not true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (! isprint (*cp)) + FAIL ("isprint ('%c') not true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (! isprint (*cp)) + FAIL ("isprint ('%c') not true", *cp); + + puts (" isgraph()"); + for (cp = lower; *cp != '\0'; ++cp) + if (! isgraph (*cp)) + FAIL ("isgraph ('%c') not true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (! isgraph (*cp)) + FAIL ("isgraph ('%c') not true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (! isgraph (*cp)) + FAIL ("isgraph ('%c') not true", *cp); + + puts (" isblank()"); + for (cp = lower; *cp != '\0'; ++cp) + if (isblank (*cp)) + FAIL ("isblank ('%c') is true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (isblank (*cp)) + FAIL ("isblank ('%c') is true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (isblank (*cp)) + FAIL ("isblank ('%c') is true", *cp); + + puts (" iscntrl()"); + for (cp = lower; *cp != '\0'; ++cp) + if (iscntrl (*cp)) + FAIL ("iscntrl ('%c') is true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (iscntrl (*cp)) + FAIL ("iscntrl ('%c') is true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (iscntrl (*cp)) + FAIL ("iscntrl ('%c') is true", *cp); + + puts (" ispunct()"); + for (cp = lower; *cp != '\0'; ++cp) + if (ispunct (*cp)) + FAIL ("ispunct ('%c') is true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (ispunct (*cp)) + FAIL ("ispunct ('%c') is true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (ispunct (*cp)) + FAIL ("ispunct ('%c') is true", *cp); + + puts (" isalnum()"); + for (cp = lower; *cp != '\0'; ++cp) + if (! isalnum (*cp)) + FAIL ("isalnum ('%c') not true", *cp); + for (cp = upper; *cp != '\0'; ++cp) + if (! isalnum (*cp)) + FAIL ("isalnum ('%c') not true", *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (! isalnum (*cp)) + FAIL ("isalnum ('%c') not true", *cp); + + + puts (" tolower()"); + for (cp = lower; *cp != '\0'; ++cp) + if (tolower (*cp) != *cp) + FAIL ("tolower ('%c') != '%c'", *cp, *cp); + for (cp = upper, cp2 = lower; *cp != '\0'; ++cp, ++cp2) + if (tolower (*cp) != *cp2) + FAIL ("tolower ('%c') != '%c'", *cp, *cp2); + for (cp = digits; *cp != '\0'; ++cp) + if (tolower (*cp) != *cp) + FAIL ("tolower ('%c') != '%c'", *cp, *cp); + + puts (" toupper()"); + for (cp = lower, cp2 = upper; *cp != '\0'; ++cp, ++cp2) + if (toupper (*cp) != *cp2) + FAIL ("toupper ('%c') != '%c'", *cp, *cp2); + for (cp = upper; *cp != '\0'; ++cp) + if (toupper (*cp) != *cp) + FAIL ("toupper ('%c') != '%c'", *cp, *cp); + for (cp = digits; *cp != '\0'; ++cp) + if (toupper (*cp) != *cp) + FAIL ("toupper ('%c') != '%c'", *cp, *cp); + + + if (errors != 0) + { + printf (" %d errors for `%s' locale\n\n\n", errors, + setlocale (LC_ALL, NULL)); + return 1; + } + + printf (" No errors for `%s' locale\n\n\n", setlocale (LC_ALL, NULL)); + return 0; +} diff --git a/localedata/tst-ctype.sh b/localedata/tst-ctype.sh new file mode 100755 index 0000000000..e348464bfc --- /dev/null +++ b/localedata/tst-ctype.sh @@ -0,0 +1,34 @@ +#! /bin/sh +# Testing the implementation of the isxxx() and toxxx() functions. +# Copyright (C) 2000 Free Software Foundation, Inc. +# This file is part of the GNU C Library. +# +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with the GNU C Library; see the file COPYING.LIB. If +# not, write to the Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +common_objpfx=$1; shift + +status=0 + +# Run the test programs. +rm -f ${common_objpfx}localedata/tst-ctype.out +for loc in de_DE en_US; do + LOCPATH=${common_objpfx}localedata GCONV_PATH=${common_objpfx}iconvdata \ + LC_ALL=$loc ${common_objpfx}elf/ld.so --library-path $common_objpfx \ + ${common_objpfx}localedata/tst-ctype \ + >> ${common_objpfx}localedata/tst-ctype.out || status=1 +done + +exit $status -- cgit v1.2.3

;;;;;;;;;;;/ - ....;/ - ....;/ - ....;/ - ....;/ - ;;;;/ - ....;/ - ;;;;;;/ - ....;/ - ;;/ - ....;/ - .... +upper ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;;;;;;;/ + ;;; -lower ;;;;;;;;;;;;;/ - ;;