0001: /*
0002:
0003: * LIUS - Lucene Index Update and Search
0004: * http://sourceforge.net/projects/lius/
0005: *
0006: * Copyright (c) 2005, Laval University Library. All rights reserved.
0007: *
0008: * This library is free software; you can redistribute it and/or
0009: * modify it under the terms of the GNU Lesser General Public
0010: * License as published by the Free Software Foundation; either
0011: * version 2.1 of the License, or (at your option) any later version.
0012: *
0013: * This library is distributed in the hope that it will be useful,
0014: * but WITHOUT ANY WARRANTY; without even the implied warranty of
0015: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0016: * Lesser General Public License for more details.
0017: *
0018: * You should have received a copy of the GNU Lesser General Public
0019: * License along with this library; if not, write to the Free Software
0020: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
0021: */
0022: package org.apache.lucene.analysis.lius.unicode;
0023:
0024: import org.apache.lucene.analysis.Token;
0025: import org.apache.lucene.analysis.TokenFilter;
0026: import org.apache.lucene.analysis.TokenStream;
0027:
0028: /**
0029: * <p>
0030: * Titre : UTF8AccentRemoverFilter
0031: * </p>
0032: * <p>
0033: * Description : Class used by Lius framework (http://www.bibl.ulaval.ca/lius)
0034: * </p>
0035: * <p>
0036: * Société : Universite Laval library
0037: * </p>
0038: *
0039: * @author Rida Benjelloun (rida.benjelloun@bibl.ulaval.ca)
0040: * @version 1.0
0041: */
0042:
0043: public class UTF8AccentRemoverFilter extends TokenFilter {
0044: public UTF8AccentRemoverFilter(TokenStream input) {
0045: super (input);
0046: }
0047:
0048: public final Token next() throws java.io.IOException {
0049: final Token t = input.next();
0050: if (t == null)
0051: return null;
0052: return new Token(removeAccents(t.termText()), t.startOffset(),
0053: t.endOffset(), t.type());
0054: }
0055:
0056: public final static String removeAccents(String input) {
0057: final StringBuffer output = new StringBuffer();
0058: for (int i = 0; i < input.length(); i++) {
0059: switch (input.charAt(i)) {
0060: case '\u0400':
0061:
0062: output.append('\u0065');
0063:
0064: break;
0065:
0066: case '\u0401':
0067:
0068: output.append('\u0065');
0069:
0070: break;
0071:
0072: case '\u0407':
0073:
0074: output.append('\u0069');
0075:
0076: break;
0077:
0078: case '\u0450':
0079:
0080: output.append('\u0065');
0081:
0082: break;
0083:
0084: case '\u0451':
0085:
0086: output.append('\u0065');
0087:
0088: break;
0089:
0090: case '\u0457':
0091:
0092: output.append('\u0069');
0093:
0094: break;
0095:
0096: case '\u04D0':
0097:
0098: output.append('\u0061');
0099:
0100: break;
0101:
0102: case '\u04D1':
0103:
0104: output.append('\u0061');
0105:
0106: break;
0107:
0108: case '\u04D2':
0109:
0110: output.append('\u0061');
0111:
0112: break;
0113:
0114: case '\u04D3':
0115:
0116: output.append('\u0061');
0117:
0118: break;
0119:
0120: case '\u04D6':
0121:
0122: output.append('\u0065');
0123:
0124: break;
0125:
0126: case '\u04D7':
0127:
0128: output.append('\u0065');
0129:
0130: break;
0131:
0132: case '\u04E6':
0133:
0134: output.append('\u006F');
0135:
0136: break;
0137:
0138: case '\u04E7':
0139:
0140: output.append('\u006F');
0141:
0142: break;
0143:
0144: case '\u04EE':
0145:
0146: output.append('\u0079');
0147:
0148: break;
0149:
0150: case '\u04EF':
0151:
0152: output.append('\u0079');
0153:
0154: break;
0155:
0156: case '\u04F0':
0157:
0158: output.append('\u0079');
0159:
0160: break;
0161:
0162: case '\u04F1':
0163:
0164: output.append('\u0079');
0165:
0166: break;
0167:
0168: case '\u04F2':
0169:
0170: output.append('\u0079');
0171:
0172: break;
0173:
0174: case '\u04F3':
0175:
0176: output.append('\u0079');
0177:
0178: break;
0179:
0180: case '\u0386':
0181:
0182: output.append('\u0061');
0183:
0184: break;
0185:
0186: case '\u0388':
0187:
0188: output.append('\u0065');
0189:
0190: break;
0191:
0192: case '\u0389':
0193:
0194: output.append('\u0068');
0195:
0196: break;
0197:
0198: case '\u038A':
0199:
0200: output.append('\u0069');
0201:
0202: break;
0203:
0204: case '\u038C':
0205:
0206: output.append('\u006F');
0207:
0208: break;
0209:
0210: case '\u038E':
0211:
0212: output.append('\u0079');
0213:
0214: break;
0215:
0216: case '\u0390':
0217:
0218: output.append('\u0069');
0219:
0220: break;
0221:
0222: case '\u03AA':
0223:
0224: output.append('\u0069');
0225:
0226: break;
0227:
0228: case '\u03AB':
0229:
0230: output.append('\u0079');
0231:
0232: break;
0233:
0234: case '\u03AF':
0235:
0236: output.append('\u0069');
0237:
0238: break;
0239:
0240: case '\u03CA':
0241:
0242: output.append('\u0069');
0243:
0244: break;
0245:
0246: case '\u03CC':
0247:
0248: output.append('\u006F');
0249:
0250: break;
0251:
0252: case '\u1F08':
0253:
0254: output.append('\u0061');
0255:
0256: break;
0257:
0258: case '\u1F09':
0259:
0260: output.append('\u0061');
0261:
0262: break;
0263:
0264: case '\u1F0A':
0265:
0266: output.append('\u0061');
0267:
0268: break;
0269:
0270: case '\u1F0B':
0271:
0272: output.append('\u0061');
0273:
0274: break;
0275:
0276: case '\u1F0C':
0277:
0278: output.append('\u0061');
0279:
0280: break;
0281:
0282: case '\u1F0D':
0283:
0284: output.append('\u0061');
0285:
0286: break;
0287:
0288: case '\u1F0E':
0289:
0290: output.append('\u0061');
0291:
0292: break;
0293:
0294: case '\u1F0F':
0295:
0296: output.append('\u0061');
0297:
0298: break;
0299:
0300: case '\u1F18':
0301:
0302: output.append('\u0065');
0303:
0304: break;
0305:
0306: case '\u1F19':
0307:
0308: output.append('\u0065');
0309:
0310: break;
0311:
0312: case '\u1F1A':
0313:
0314: output.append('\u0065');
0315:
0316: break;
0317:
0318: case '\u1F1B':
0319:
0320: output.append('\u0065');
0321:
0322: break;
0323:
0324: case '\u1F1C':
0325:
0326: output.append('\u0065');
0327:
0328: break;
0329:
0330: case '\u1F1D':
0331:
0332: output.append('\u0065');
0333:
0334: break;
0335:
0336: case '\u1F28':
0337:
0338: output.append('\u0068');
0339:
0340: break;
0341:
0342: case '\u1F29':
0343:
0344: output.append('\u0068');
0345:
0346: break;
0347:
0348: case '\u1F2A':
0349:
0350: output.append('\u0068');
0351:
0352: break;
0353:
0354: case '\u1F2B':
0355:
0356: output.append('\u0068');
0357:
0358: break;
0359:
0360: case '\u1F2C':
0361:
0362: output.append('\u0068');
0363:
0364: break;
0365:
0366: case '\u1F2D':
0367:
0368: output.append('\u0068');
0369:
0370: break;
0371:
0372: case '\u1F2E':
0373:
0374: output.append('\u0068');
0375:
0376: break;
0377:
0378: case '\u1F2F':
0379:
0380: output.append('\u0068');
0381:
0382: break;
0383:
0384: case '\u1F30':
0385:
0386: output.append('\u0069');
0387:
0388: break;
0389:
0390: case '\u1F31':
0391:
0392: output.append('\u0069');
0393:
0394: break;
0395:
0396: case '\u1F32':
0397:
0398: output.append('\u0069');
0399:
0400: break;
0401:
0402: case '\u1F33':
0403:
0404: output.append('\u0069');
0405:
0406: break;
0407:
0408: case '\u1F34':
0409:
0410: output.append('\u0069');
0411:
0412: break;
0413:
0414: case '\u1F35':
0415:
0416: output.append('\u0069');
0417:
0418: break;
0419:
0420: case '\u1F36':
0421:
0422: output.append('\u0069');
0423:
0424: break;
0425:
0426: case '\u1F37':
0427:
0428: output.append('\u0069');
0429:
0430: break;
0431:
0432: case '\u1F38':
0433:
0434: output.append('\u0069');
0435:
0436: break;
0437:
0438: case '\u1F39':
0439:
0440: output.append('\u0069');
0441:
0442: break;
0443:
0444: case '\u1F3A':
0445:
0446: output.append('\u0069');
0447:
0448: break;
0449:
0450: case '\u1F3B':
0451:
0452: output.append('\u0069');
0453:
0454: break;
0455:
0456: case '\u1F3C':
0457:
0458: output.append('\u0069');
0459:
0460: break;
0461:
0462: case '\u1F3D':
0463:
0464: output.append('\u0069');
0465:
0466: break;
0467:
0468: case '\u1F3E':
0469:
0470: output.append('\u0069');
0471:
0472: break;
0473:
0474: case '\u1F3F':
0475:
0476: output.append('\u0069');
0477:
0478: break;
0479:
0480: case '\u1F40':
0481:
0482: output.append('\u006F');
0483:
0484: break;
0485:
0486: case '\u1F41':
0487:
0488: output.append('\u006F');
0489:
0490: break;
0491:
0492: case '\u1F42':
0493:
0494: output.append('\u006F');
0495:
0496: break;
0497:
0498: case '\u1F43':
0499:
0500: output.append('\u006F');
0501:
0502: break;
0503:
0504: case '\u1F44':
0505:
0506: output.append('\u006F');
0507:
0508: break;
0509:
0510: case '\u1F45':
0511:
0512: output.append('\u006F');
0513:
0514: break;
0515:
0516: case '\u1F48':
0517:
0518: output.append('\u006F');
0519:
0520: break;
0521:
0522: case '\u1F49':
0523:
0524: output.append('\u006F');
0525:
0526: break;
0527:
0528: case '\u1F4A':
0529:
0530: output.append('\u006F');
0531:
0532: break;
0533:
0534: case '\u1F4B':
0535:
0536: output.append('\u006F');
0537:
0538: break;
0539:
0540: case '\u1F4C':
0541:
0542: output.append('\u006F');
0543:
0544: break;
0545:
0546: case '\u1F4D':
0547:
0548: output.append('\u006F');
0549:
0550: break;
0551:
0552: case '\u1F59':
0553:
0554: output.append('\u0079');
0555:
0556: break;
0557:
0558: case '\u1F5B':
0559:
0560: output.append('\u0079');
0561:
0562: break;
0563:
0564: case '\u1F5D':
0565:
0566: output.append('\u0079');
0567:
0568: break;
0569:
0570: case '\u1F5F':
0571:
0572: output.append('\u0079');
0573:
0574: break;
0575:
0576: case '\u1F76':
0577:
0578: output.append('\u0069');
0579:
0580: break;
0581:
0582: case '\u1F77':
0583:
0584: output.append('\u0069');
0585:
0586: break;
0587:
0588: case '\u1F78':
0589:
0590: output.append('\u006F');
0591:
0592: break;
0593:
0594: case '\u1F79':
0595:
0596: output.append('\u006F');
0597:
0598: break;
0599:
0600: case '\u1F88':
0601:
0602: output.append('\u0061');
0603:
0604: break;
0605:
0606: case '\u1F89':
0607:
0608: output.append('\u0061');
0609:
0610: break;
0611:
0612: case '\u1F8A':
0613:
0614: output.append('\u0061');
0615:
0616: break;
0617:
0618: case '\u1F8B':
0619:
0620: output.append('\u0061');
0621:
0622: break;
0623:
0624: case '\u1F8C':
0625:
0626: output.append('\u0061');
0627:
0628: break;
0629:
0630: case '\u1F8D':
0631:
0632: output.append('\u0061');
0633:
0634: break;
0635:
0636: case '\u1F8E':
0637:
0638: output.append('\u0061');
0639:
0640: break;
0641:
0642: case '\u1F8F':
0643:
0644: output.append('\u0061');
0645:
0646: break;
0647:
0648: case '\u1F98':
0649:
0650: output.append('\u0068');
0651:
0652: break;
0653:
0654: case '\u1F99':
0655:
0656: output.append('\u0068');
0657:
0658: break;
0659:
0660: case '\u1F9A':
0661:
0662: output.append('\u0068');
0663:
0664: break;
0665:
0666: case '\u1F9B':
0667:
0668: output.append('\u0068');
0669:
0670: break;
0671:
0672: case '\u1F9C':
0673:
0674: output.append('\u0068');
0675:
0676: break;
0677:
0678: case '\u1F9D':
0679:
0680: output.append('\u0068');
0681:
0682: break;
0683:
0684: case '\u1F9E':
0685:
0686: output.append('\u0068');
0687:
0688: break;
0689:
0690: case '\u1F9F':
0691:
0692: output.append('\u0068');
0693:
0694: break;
0695:
0696: case '\u1FB8':
0697:
0698: output.append('\u0061');
0699:
0700: break;
0701:
0702: case '\u1FB9':
0703:
0704: output.append('\u0061');
0705:
0706: break;
0707:
0708: case '\u1FBA':
0709:
0710: output.append('\u0061');
0711:
0712: break;
0713:
0714: case '\u1FBB':
0715:
0716: output.append('\u0061');
0717:
0718: break;
0719:
0720: case '\u1FBC':
0721:
0722: output.append('\u0061');
0723:
0724: break;
0725:
0726: case '\u1FC8':
0727:
0728: output.append('\u0065');
0729:
0730: break;
0731:
0732: case '\u1FC9':
0733:
0734: output.append('\u0065');
0735:
0736: break;
0737:
0738: case '\u1FCA':
0739:
0740: output.append('\u0068');
0741:
0742: break;
0743:
0744: case '\u1FCB':
0745:
0746: output.append('\u0068');
0747:
0748: break;
0749:
0750: case '\u1FCC':
0751:
0752: output.append('\u0068');
0753:
0754: break;
0755:
0756: case '\u1FD0':
0757:
0758: output.append('\u0069');
0759:
0760: break;
0761:
0762: case '\u1FD1':
0763:
0764: output.append('\u0069');
0765:
0766: break;
0767:
0768: case '\u1FD2':
0769:
0770: output.append('\u0069');
0771:
0772: break;
0773:
0774: case '\u1FD3':
0775:
0776: output.append('\u0069');
0777:
0778: break;
0779:
0780: case '\u1FD6':
0781:
0782: output.append('\u0069');
0783:
0784: break;
0785:
0786: case '\u1FD7':
0787:
0788: output.append('\u0069');
0789:
0790: break;
0791:
0792: case '\u1FD8':
0793:
0794: output.append('\u0069');
0795:
0796: break;
0797:
0798: case '\u1FD9':
0799:
0800: output.append('\u0069');
0801:
0802: break;
0803:
0804: case '\u1FDA':
0805:
0806: output.append('\u0069');
0807:
0808: break;
0809:
0810: case '\u1FDB':
0811:
0812: output.append('\u0069');
0813:
0814: break;
0815:
0816: case '\u1FE8':
0817:
0818: output.append('\u0079');
0819:
0820: break;
0821:
0822: case '\u1FE9':
0823:
0824: output.append('\u0079');
0825:
0826: break;
0827:
0828: case '\u1FEA':
0829:
0830: output.append('\u0079');
0831:
0832: break;
0833:
0834: case '\u1FEB':
0835:
0836: output.append('\u0079');
0837:
0838: break;
0839:
0840: case '\u1FEC':
0841:
0842: output.append('\u0070');
0843:
0844: break;
0845:
0846: case '\u1FF8':
0847:
0848: output.append('\u006F');
0849:
0850: break;
0851:
0852: case '\u1FF9':
0853:
0854: output.append('\u006F');
0855:
0856: break;
0857:
0858: case '\u00C0':
0859:
0860: output.append('\u0061');
0861:
0862: break;
0863:
0864: case '\u00C1':
0865:
0866: output.append('\u0061');
0867:
0868: break;
0869:
0870: case '\u00C2':
0871:
0872: output.append('\u0061');
0873:
0874: break;
0875:
0876: case '\u00C3':
0877:
0878: output.append('\u0061');
0879:
0880: break;
0881:
0882: case '\u00C4':
0883:
0884: output.append('\u0061');
0885:
0886: break;
0887:
0888: case '\u00C5':
0889:
0890: output.append('\u0061');
0891:
0892: break;
0893:
0894: case '\u00C7':
0895:
0896: output.append('\u0063');
0897:
0898: break;
0899:
0900: case '\u00C8':
0901:
0902: output.append('\u0065');
0903:
0904: break;
0905:
0906: case '\u00C9':
0907:
0908: output.append('\u0065');
0909:
0910: break;
0911:
0912: case '\u00CA':
0913:
0914: output.append('\u0065');
0915:
0916: break;
0917:
0918: case '\u00CB':
0919:
0920: output.append('\u0065');
0921:
0922: break;
0923:
0924: case '\u00CC':
0925:
0926: output.append('\u0069');
0927:
0928: break;
0929:
0930: case '\u00CD':
0931:
0932: output.append('\u0069');
0933:
0934: break;
0935:
0936: case '\u00CE':
0937:
0938: output.append('\u0069');
0939:
0940: break;
0941:
0942: case '\u00CF':
0943:
0944: output.append('\u0069');
0945:
0946: break;
0947:
0948: case '\u00D0':
0949:
0950: output.append('\u0064');
0951:
0952: break;
0953:
0954: case '\u00D1':
0955:
0956: output.append('\u006E');
0957:
0958: break;
0959:
0960: case '\u00D2':
0961:
0962: output.append('\u006F');
0963:
0964: break;
0965:
0966: case '\u00D3':
0967:
0968: output.append('\u006F');
0969:
0970: break;
0971:
0972: case '\u00D4':
0973:
0974: output.append('\u006F');
0975:
0976: break;
0977:
0978: case '\u00D5':
0979:
0980: output.append('\u006F');
0981:
0982: break;
0983:
0984: case '\u00D6':
0985:
0986: output.append('\u006F');
0987:
0988: break;
0989:
0990: case '\u00D8':
0991:
0992: output.append('\u006F');
0993:
0994: break;
0995:
0996: case '\u00D9':
0997:
0998: output.append('\u0075');
0999:
1000: break;
1001:
1002: case '\u00DA':
1003:
1004: output.append('\u0075');
1005:
1006: break;
1007:
1008: case '\u00DB':
1009:
1010: output.append('\u0075');
1011:
1012: break;
1013:
1014: case '\u00DC':
1015:
1016: output.append('\u0075');
1017:
1018: break;
1019:
1020: case '\u00DD':
1021:
1022: output.append('\u0079');
1023:
1024: break;
1025:
1026: case '\u00E0':
1027:
1028: output.append('\u0061');
1029:
1030: break;
1031:
1032: case '\u00E1':
1033:
1034: output.append('\u0061');
1035:
1036: break;
1037:
1038: case '\u00E2':
1039:
1040: output.append('\u0061');
1041:
1042: break;
1043:
1044: case '\u00E3':
1045:
1046: output.append('\u0061');
1047:
1048: break;
1049:
1050: case '\u00E4':
1051:
1052: output.append('\u0061');
1053:
1054: break;
1055:
1056: case '\u00E5':
1057:
1058: output.append('\u0061');
1059:
1060: break;
1061:
1062: case '\u00E7':
1063:
1064: output.append('\u0063');
1065:
1066: break;
1067:
1068: case '\u00E8':
1069:
1070: output.append('\u0065');
1071:
1072: break;
1073:
1074: case '\u00E9':
1075:
1076: output.append('\u0065');
1077:
1078: break;
1079:
1080: case '\u00EA':
1081:
1082: output.append('\u0065');
1083:
1084: break;
1085:
1086: case '\u00EB':
1087:
1088: output.append('\u0065');
1089:
1090: break;
1091:
1092: case '\u00EC':
1093:
1094: output.append('\u0069');
1095:
1096: break;
1097:
1098: case '\u00ED':
1099:
1100: output.append('\u0069');
1101:
1102: break;
1103:
1104: case '\u00EE':
1105:
1106: output.append('\u0069');
1107:
1108: break;
1109:
1110: case '\u00EF':
1111:
1112: output.append('\u0069');
1113:
1114: break;
1115:
1116: case '\u00F1':
1117:
1118: output.append('\u006E');
1119:
1120: break;
1121:
1122: case '\u00F2':
1123:
1124: output.append('\u006F');
1125:
1126: break;
1127:
1128: case '\u00F3':
1129:
1130: output.append('\u006F');
1131:
1132: break;
1133:
1134: case '\u00F4':
1135:
1136: output.append('\u006F');
1137:
1138: break;
1139:
1140: case '\u00F5':
1141:
1142: output.append('\u006F');
1143:
1144: break;
1145:
1146: case '\u00F6':
1147:
1148: output.append('\u006F');
1149:
1150: break;
1151:
1152: case '\u00F8':
1153:
1154: output.append('\u006F');
1155:
1156: break;
1157:
1158: case '\u00F9':
1159:
1160: output.append('\u0075');
1161:
1162: break;
1163:
1164: case '\u00FA':
1165:
1166: output.append('\u0075');
1167:
1168: break;
1169:
1170: case '\u00FB':
1171:
1172: output.append('\u0075');
1173:
1174: break;
1175:
1176: case '\u00FC':
1177:
1178: output.append('\u0075');
1179:
1180: break;
1181:
1182: case '\u00FD':
1183:
1184: output.append('\u0079');
1185:
1186: break;
1187:
1188: case '\u00FF':
1189:
1190: output.append('\u0079');
1191:
1192: break;
1193:
1194: case '\u0100':
1195:
1196: output.append('\u0061');
1197:
1198: break;
1199:
1200: case '\u0101':
1201:
1202: output.append('\u0061');
1203:
1204: break;
1205:
1206: case '\u0102':
1207:
1208: output.append('\u0061');
1209:
1210: break;
1211:
1212: case '\u0103':
1213:
1214: output.append('\u0061');
1215:
1216: break;
1217:
1218: case '\u0104':
1219:
1220: output.append('\u0061');
1221:
1222: break;
1223:
1224: case '\u0105':
1225:
1226: output.append('\u0061');
1227:
1228: break;
1229:
1230: case '\u0106':
1231:
1232: output.append('\u0063');
1233:
1234: break;
1235:
1236: case '\u0107':
1237:
1238: output.append('\u0063');
1239:
1240: break;
1241:
1242: case '\u0108':
1243:
1244: output.append('\u0063');
1245:
1246: break;
1247:
1248: case '\u0109':
1249:
1250: output.append('\u0063');
1251:
1252: break;
1253:
1254: case '\u010A':
1255:
1256: output.append('\u0063');
1257:
1258: break;
1259:
1260: case '\u010B':
1261:
1262: output.append('\u0063');
1263:
1264: break;
1265:
1266: case '\u010C':
1267:
1268: output.append('\u0063');
1269:
1270: break;
1271:
1272: case '\u010D':
1273:
1274: output.append('\u0063');
1275:
1276: break;
1277:
1278: case '\u010E':
1279:
1280: output.append('\u0064');
1281:
1282: break;
1283:
1284: case '\u010F':
1285:
1286: output.append('\u0064');
1287:
1288: break;
1289:
1290: case '\u0110':
1291:
1292: output.append('\u0064');
1293:
1294: break;
1295:
1296: case '\u0111':
1297:
1298: output.append('\u0064');
1299:
1300: break;
1301:
1302: case '\u0112':
1303:
1304: output.append('\u0065');
1305:
1306: break;
1307:
1308: case '\u0113':
1309:
1310: output.append('\u0065');
1311:
1312: break;
1313:
1314: case '\u0114':
1315:
1316: output.append('\u0065');
1317:
1318: break;
1319:
1320: case '\u0115':
1321:
1322: output.append('\u0065');
1323:
1324: break;
1325:
1326: case '\u0116':
1327:
1328: output.append('\u0065');
1329:
1330: break;
1331:
1332: case '\u0117':
1333:
1334: output.append('\u0065');
1335:
1336: break;
1337:
1338: case '\u0118':
1339:
1340: output.append('\u0065');
1341:
1342: break;
1343:
1344: case '\u0119':
1345:
1346: output.append('\u0065');
1347:
1348: break;
1349:
1350: case '\u011A':
1351:
1352: output.append('\u0065');
1353:
1354: break;
1355:
1356: case '\u011B':
1357:
1358: output.append('\u0065');
1359:
1360: break;
1361:
1362: case '\u011C':
1363:
1364: output.append('\u0067');
1365:
1366: break;
1367:
1368: case '\u011D':
1369:
1370: output.append('\u0067');
1371:
1372: break;
1373:
1374: case '\u011E':
1375:
1376: output.append('\u0067');
1377:
1378: break;
1379:
1380: case '\u011F':
1381:
1382: output.append('\u0067');
1383:
1384: break;
1385:
1386: case '\u0120':
1387:
1388: output.append('\u0067');
1389:
1390: break;
1391:
1392: case '\u0121':
1393:
1394: output.append('\u0067');
1395:
1396: break;
1397:
1398: case '\u0122':
1399:
1400: output.append('\u0067');
1401:
1402: break;
1403:
1404: case '\u0123':
1405:
1406: output.append('\u0067');
1407:
1408: break;
1409:
1410: case '\u0124':
1411:
1412: output.append('\u0068');
1413:
1414: break;
1415:
1416: case '\u0125':
1417:
1418: output.append('\u0068');
1419:
1420: break;
1421:
1422: case '\u0126':
1423:
1424: output.append('\u0068');
1425:
1426: break;
1427:
1428: case '\u0127':
1429:
1430: output.append('\u0068');
1431:
1432: break;
1433:
1434: case '\u0128':
1435:
1436: output.append('\u0069');
1437:
1438: break;
1439:
1440: case '\u0129':
1441:
1442: output.append('\u0069');
1443:
1444: break;
1445:
1446: case '\u012A':
1447:
1448: output.append('\u0069');
1449:
1450: break;
1451:
1452: case '\u012B':
1453:
1454: output.append('\u0069');
1455:
1456: break;
1457:
1458: case '\u012C':
1459:
1460: output.append('\u0069');
1461:
1462: break;
1463:
1464: case '\u012D':
1465:
1466: output.append('\u0069');
1467:
1468: break;
1469:
1470: case '\u012E':
1471:
1472: output.append('\u0069');
1473:
1474: break;
1475:
1476: case '\u012F':
1477:
1478: output.append('\u0069');
1479:
1480: break;
1481:
1482: case '\u0130':
1483:
1484: output.append('\u0069');
1485:
1486: break;
1487:
1488: case '\u0131':
1489:
1490: output.append('\u0069');
1491:
1492: break;
1493:
1494: case '\u0134':
1495:
1496: output.append('\u006A');
1497:
1498: break;
1499:
1500: case '\u0135':
1501:
1502: output.append('\u006A');
1503:
1504: break;
1505:
1506: case '\u0136':
1507:
1508: output.append('\u006B');
1509:
1510: break;
1511:
1512: case '\u0137':
1513:
1514: output.append('\u006B');
1515:
1516: break;
1517:
1518: case '\u0138':
1519:
1520: output.append('\u006B');
1521:
1522: break;
1523:
1524: case '\u0139':
1525:
1526: output.append('\u006C');
1527:
1528: break;
1529:
1530: case '\u013A':
1531:
1532: output.append('\u006C');
1533:
1534: break;
1535:
1536: case '\u013B':
1537:
1538: output.append('\u006C');
1539:
1540: break;
1541:
1542: case '\u013C':
1543:
1544: output.append('\u006C');
1545:
1546: break;
1547:
1548: case '\u013D':
1549:
1550: output.append('\u006C');
1551:
1552: break;
1553:
1554: case '\u013E':
1555:
1556: output.append('\u006C');
1557:
1558: break;
1559:
1560: case '\u013F':
1561:
1562: output.append('\u006C');
1563:
1564: break;
1565:
1566: case '\u0140':
1567:
1568: output.append('\u006C');
1569:
1570: break;
1571:
1572: case '\u0141':
1573:
1574: output.append('\u006C');
1575:
1576: break;
1577:
1578: case '\u0142':
1579:
1580: output.append('\u006C');
1581:
1582: break;
1583:
1584: case '\u0143':
1585:
1586: output.append('\u006E');
1587:
1588: break;
1589:
1590: case '\u0144':
1591:
1592: output.append('\u006E');
1593:
1594: break;
1595:
1596: case '\u0145':
1597:
1598: output.append('\u006E');
1599:
1600: break;
1601:
1602: case '\u0146':
1603:
1604: output.append('\u006E');
1605:
1606: break;
1607:
1608: case '\u0147':
1609:
1610: output.append('\u006E');
1611:
1612: break;
1613:
1614: case '\u0148':
1615:
1616: output.append('\u006E');
1617:
1618: break;
1619:
1620: case '\u0149':
1621:
1622: output.append('\u006E');
1623:
1624: break;
1625:
1626: case '\u014A':
1627:
1628: output.append('\u006E');
1629:
1630: break;
1631:
1632: case '\u014B':
1633:
1634: output.append('\u006E');
1635:
1636: break;
1637:
1638: case '\u014C':
1639:
1640: output.append('\u006F');
1641:
1642: break;
1643:
1644: case '\u014D':
1645:
1646: output.append('\u006F');
1647:
1648: break;
1649:
1650: case '\u014E':
1651:
1652: output.append('\u006F');
1653:
1654: break;
1655:
1656: case '\u014F':
1657:
1658: output.append('\u006F');
1659:
1660: break;
1661:
1662: case '\u0150':
1663:
1664: output.append('\u006F');
1665:
1666: break;
1667:
1668: case '\u0151':
1669:
1670: output.append('\u006F');
1671:
1672: break;
1673:
1674: case '\u0154':
1675:
1676: output.append('\u0072');
1677:
1678: break;
1679:
1680: case '\u0155':
1681:
1682: output.append('\u0072');
1683:
1684: break;
1685:
1686: case '\u0156':
1687:
1688: output.append('\u0072');
1689:
1690: break;
1691:
1692: case '\u0157':
1693:
1694: output.append('\u0072');
1695:
1696: break;
1697:
1698: case '\u0158':
1699:
1700: output.append('\u0072');
1701:
1702: break;
1703:
1704: case '\u0159':
1705:
1706: output.append('\u0072');
1707:
1708: break;
1709:
1710: case '\u015A':
1711:
1712: output.append('\u0073');
1713:
1714: break;
1715:
1716: case '\u015B':
1717:
1718: output.append('\u0073');
1719:
1720: break;
1721:
1722: case '\u015C':
1723:
1724: output.append('\u0073');
1725:
1726: break;
1727:
1728: case '\u015D':
1729:
1730: output.append('\u0073');
1731:
1732: break;
1733:
1734: case '\u015E':
1735:
1736: output.append('\u0073');
1737:
1738: break;
1739:
1740: case '\u015F':
1741:
1742: output.append('\u0073');
1743:
1744: break;
1745:
1746: case '\u0160':
1747:
1748: output.append('\u0073');
1749:
1750: break;
1751:
1752: case '\u0161':
1753:
1754: output.append('\u0073');
1755:
1756: break;
1757:
1758: case '\u0162':
1759:
1760: output.append('\u0074');
1761:
1762: break;
1763:
1764: case '\u0163':
1765:
1766: output.append('\u0074');
1767:
1768: break;
1769:
1770: case '\u0164':
1771:
1772: output.append('\u0074');
1773:
1774: break;
1775:
1776: case '\u0165':
1777:
1778: output.append('\u0074');
1779:
1780: break;
1781:
1782: case '\u0166':
1783:
1784: output.append('\u0074');
1785:
1786: break;
1787:
1788: case '\u0167':
1789:
1790: output.append('\u0074');
1791:
1792: break;
1793:
1794: case '\u0168':
1795:
1796: output.append('\u0075');
1797:
1798: break;
1799:
1800: case '\u0169':
1801:
1802: output.append('\u0075');
1803:
1804: break;
1805:
1806: case '\u016A':
1807:
1808: output.append('\u0075');
1809:
1810: break;
1811:
1812: case '\u016B':
1813:
1814: output.append('\u0075');
1815:
1816: break;
1817:
1818: case '\u016C':
1819:
1820: output.append('\u0075');
1821:
1822: break;
1823:
1824: case '\u016D':
1825:
1826: output.append('\u0075');
1827:
1828: break;
1829:
1830: case '\u016E':
1831:
1832: output.append('\u0075');
1833:
1834: break;
1835:
1836: case '\u016F':
1837:
1838: output.append('\u0075');
1839:
1840: break;
1841:
1842: case '\u0170':
1843:
1844: output.append('\u0075');
1845:
1846: break;
1847:
1848: case '\u0171':
1849:
1850: output.append('\u0075');
1851:
1852: break;
1853:
1854: case '\u0172':
1855:
1856: output.append('\u0075');
1857:
1858: break;
1859:
1860: case '\u0173':
1861:
1862: output.append('\u0075');
1863:
1864: break;
1865:
1866: case '\u0174':
1867:
1868: output.append('\u0077');
1869:
1870: break;
1871:
1872: case '\u0175':
1873:
1874: output.append('\u0077');
1875:
1876: break;
1877:
1878: case '\u0176':
1879:
1880: output.append('\u0079');
1881:
1882: break;
1883:
1884: case '\u0177':
1885:
1886: output.append('\u0079');
1887:
1888: break;
1889:
1890: case '\u0178':
1891:
1892: output.append('\u0079');
1893:
1894: break;
1895:
1896: case '\u0179':
1897:
1898: output.append('\u007A');
1899:
1900: break;
1901:
1902: case '\u017A':
1903:
1904: output.append('\u007A');
1905:
1906: break;
1907:
1908: case '\u017B':
1909:
1910: output.append('\u007A');
1911:
1912: break;
1913:
1914: case '\u017C':
1915:
1916: output.append('\u007A');
1917:
1918: break;
1919:
1920: case '\u017D':
1921:
1922: output.append('\u007A');
1923:
1924: break;
1925:
1926: case '\u017E':
1927:
1928: output.append('\u007A');
1929:
1930: break;
1931:
1932: case '\u0180':
1933:
1934: output.append('\u0062');
1935:
1936: break;
1937:
1938: case '\u0181':
1939:
1940: output.append('\u0062');
1941:
1942: break;
1943:
1944: case '\u0182':
1945:
1946: output.append('\u0062');
1947:
1948: break;
1949:
1950: case '\u0183':
1951:
1952: output.append('\u0062');
1953:
1954: break;
1955:
1956: case '\u0184':
1957:
1958: output.append('\u0062');
1959:
1960: break;
1961:
1962: case '\u0185':
1963:
1964: output.append('\u0062');
1965:
1966: break;
1967:
1968: case '\u0187':
1969:
1970: output.append('\u0063');
1971:
1972: break;
1973:
1974: case '\u0188':
1975:
1976: output.append('\u0063');
1977:
1978: break;
1979:
1980: case '\u0189':
1981:
1982: output.append('\u0064');
1983:
1984: break;
1985:
1986: case '\u018A':
1987:
1988: output.append('\u0064');
1989:
1990: break;
1991:
1992: case '\u018B':
1993:
1994: output.append('\u0064');
1995:
1996: break;
1997:
1998: case '\u018C':
1999:
2000: output.append('\u0064');
2001:
2002: break;
2003:
2004: case '\u0191':
2005:
2006: output.append('\u0066');
2007:
2008: break;
2009:
2010: case '\u0192':
2011:
2012: output.append('\u0066');
2013:
2014: break;
2015:
2016: case '\u0193':
2017:
2018: output.append('\u0067');
2019:
2020: break;
2021:
2022: case '\u0197':
2023:
2024: output.append('\u0069');
2025:
2026: break;
2027:
2028: case '\u0198':
2029:
2030: output.append('\u006B');
2031:
2032: break;
2033:
2034: case '\u0199':
2035:
2036: output.append('\u006B');
2037:
2038: break;
2039:
2040: case '\u019A':
2041:
2042: output.append('\u006C');
2043:
2044: break;
2045:
2046: case '\u019D':
2047:
2048: output.append('\u006E');
2049:
2050: break;
2051:
2052: case '\u019E':
2053:
2054: output.append('\u006E');
2055:
2056: break;
2057:
2058: case '\u019F':
2059:
2060: output.append('\u006F');
2061:
2062: break;
2063:
2064: case '\u01A0':
2065:
2066: output.append('\u006F');
2067:
2068: break;
2069:
2070: case '\u01A1':
2071:
2072: output.append('\u006F');
2073:
2074: break;
2075:
2076: case '\u01A4':
2077:
2078: output.append('\u0070');
2079:
2080: break;
2081:
2082: case '\u01A5':
2083:
2084: output.append('\u0070');
2085:
2086: break;
2087:
2088: case '\u01AB':
2089:
2090: output.append('\u0074');
2091:
2092: break;
2093:
2094: case '\u01AC':
2095:
2096: output.append('\u0074');
2097:
2098: break;
2099:
2100: case '\u01AD':
2101:
2102: output.append('\u0074');
2103:
2104: break;
2105:
2106: case '\u01AE':
2107:
2108: output.append('\u0074');
2109:
2110: break;
2111:
2112: case '\u01AF':
2113:
2114: output.append('\u0075');
2115:
2116: break;
2117:
2118: case '\u01B0':
2119:
2120: output.append('\u0075');
2121:
2122: break;
2123:
2124: case '\u01B3':
2125:
2126: output.append('\u0079');
2127:
2128: break;
2129:
2130: case '\u01B4':
2131:
2132: output.append('\u0079');
2133:
2134: break;
2135:
2136: case '\u01B5':
2137:
2138: output.append('\u007A');
2139:
2140: break;
2141:
2142: case '\u01B6':
2143:
2144: output.append('\u007A');
2145:
2146: break;
2147:
2148: case '\u01CD':
2149:
2150: output.append('\u0061');
2151:
2152: break;
2153:
2154: case '\u01CE':
2155:
2156: output.append('\u0061');
2157:
2158: break;
2159:
2160: case '\u01CF':
2161:
2162: output.append('\u0069');
2163:
2164: break;
2165:
2166: case '\u01D0':
2167:
2168: output.append('\u0069');
2169:
2170: break;
2171:
2172: case '\u01D1':
2173:
2174: output.append('\u006F');
2175:
2176: break;
2177:
2178: case '\u01D2':
2179:
2180: output.append('\u006F');
2181:
2182: break;
2183:
2184: case '\u01D3':
2185:
2186: output.append('\u0075');
2187:
2188: break;
2189:
2190: case '\u01D4':
2191:
2192: output.append('\u0075');
2193:
2194: break;
2195:
2196: case '\u01D5':
2197:
2198: output.append('\u0075');
2199:
2200: break;
2201:
2202: case '\u01D6':
2203:
2204: output.append('\u0075');
2205:
2206: break;
2207:
2208: case '\u01D7':
2209:
2210: output.append('\u0075');
2211:
2212: break;
2213:
2214: case '\u01D8':
2215:
2216: output.append('\u0075');
2217:
2218: break;
2219:
2220: case '\u01D9':
2221:
2222: output.append('\u0075');
2223:
2224: break;
2225:
2226: case '\u01DA':
2227:
2228: output.append('\u0075');
2229:
2230: break;
2231:
2232: case '\u01DB':
2233:
2234: output.append('\u0075');
2235:
2236: break;
2237:
2238: case '\u01DC':
2239:
2240: output.append('\u0075');
2241:
2242: break;
2243:
2244: case '\u01DE':
2245:
2246: output.append('\u0061');
2247:
2248: break;
2249:
2250: case '\u01DF':
2251:
2252: output.append('\u0061');
2253:
2254: break;
2255:
2256: case '\u01E0':
2257:
2258: output.append('\u0061');
2259:
2260: break;
2261:
2262: case '\u01E1':
2263:
2264: output.append('\u0061');
2265:
2266: break;
2267:
2268: case '\u01E4':
2269:
2270: output.append('\u0067');
2271:
2272: break;
2273:
2274: case '\u01E5':
2275:
2276: output.append('\u0067');
2277:
2278: break;
2279:
2280: case '\u01E6':
2281:
2282: output.append('\u0067');
2283:
2284: break;
2285:
2286: case '\u01E7':
2287:
2288: output.append('\u0067');
2289:
2290: break;
2291:
2292: case '\u01E8':
2293:
2294: output.append('\u006B');
2295:
2296: break;
2297:
2298: case '\u01E9':
2299:
2300: output.append('\u006B');
2301:
2302: break;
2303:
2304: case '\u01EA':
2305:
2306: output.append('\u006F');
2307:
2308: break;
2309:
2310: case '\u01EB':
2311:
2312: output.append('\u006F');
2313:
2314: break;
2315:
2316: case '\u01EC':
2317:
2318: output.append('\u006F');
2319:
2320: break;
2321:
2322: case '\u01ED':
2323:
2324: output.append('\u006F');
2325:
2326: break;
2327:
2328: case '\u01F0':
2329:
2330: output.append('\u006A');
2331:
2332: break;
2333:
2334: case '\u01F4':
2335:
2336: output.append('\u0067');
2337:
2338: break;
2339:
2340: case '\u01F5':
2341:
2342: output.append('\u0067');
2343:
2344: break;
2345:
2346: case '\u01F8':
2347:
2348: output.append('\u006E');
2349:
2350: break;
2351:
2352: case '\u01F9':
2353:
2354: output.append('\u006E');
2355:
2356: break;
2357:
2358: case '\u01FA':
2359:
2360: output.append('\u0061');
2361:
2362: break;
2363:
2364: case '\u01FB':
2365:
2366: output.append('\u0061');
2367:
2368: break;
2369:
2370: case '\u01FE':
2371:
2372: output.append('\u006F');
2373:
2374: break;
2375:
2376: case '\u01FF':
2377:
2378: output.append('\u006F');
2379:
2380: break;
2381:
2382: case '\u0200':
2383:
2384: output.append('\u0061');
2385:
2386: break;
2387:
2388: case '\u0201':
2389:
2390: output.append('\u0061');
2391:
2392: break;
2393:
2394: case '\u0202':
2395:
2396: output.append('\u0061');
2397:
2398: break;
2399:
2400: case '\u0203':
2401:
2402: output.append('\u0061');
2403:
2404: break;
2405:
2406: case '\u0204':
2407:
2408: output.append('\u0065');
2409:
2410: break;
2411:
2412: case '\u0205':
2413:
2414: output.append('\u0065');
2415:
2416: break;
2417:
2418: case '\u0206':
2419:
2420: output.append('\u0065');
2421:
2422: break;
2423:
2424: case '\u0207':
2425:
2426: output.append('\u0065');
2427:
2428: break;
2429:
2430: case '\u0208':
2431:
2432: output.append('\u0069');
2433:
2434: break;
2435:
2436: case '\u0209':
2437:
2438: output.append('\u0069');
2439:
2440: break;
2441:
2442: case '\u020A':
2443:
2444: output.append('\u0069');
2445:
2446: break;
2447:
2448: case '\u020B':
2449:
2450: output.append('\u0069');
2451:
2452: break;
2453:
2454: case '\u020C':
2455:
2456: output.append('\u006F');
2457:
2458: break;
2459:
2460: case '\u020D':
2461:
2462: output.append('\u006F');
2463:
2464: break;
2465:
2466: case '\u020E':
2467:
2468: output.append('\u006F');
2469:
2470: break;
2471:
2472: case '\u020F':
2473:
2474: output.append('\u006F');
2475:
2476: break;
2477:
2478: case '\u0210':
2479:
2480: output.append('\u0072');
2481:
2482: break;
2483:
2484: case '\u0211':
2485:
2486: output.append('\u0072');
2487:
2488: break;
2489:
2490: case '\u0212':
2491:
2492: output.append('\u0072');
2493:
2494: break;
2495:
2496: case '\u0213':
2497:
2498: output.append('\u0072');
2499:
2500: break;
2501:
2502: case '\u0214':
2503:
2504: output.append('\u0075');
2505:
2506: break;
2507:
2508: case '\u0215':
2509:
2510: output.append('\u0075');
2511:
2512: break;
2513:
2514: case '\u0216':
2515:
2516: output.append('\u0075');
2517:
2518: break;
2519:
2520: case '\u0217':
2521:
2522: output.append('\u0075');
2523:
2524: break;
2525:
2526: case '\u0218':
2527:
2528: output.append('\u0073');
2529:
2530: break;
2531:
2532: case '\u0219':
2533:
2534: output.append('\u0073');
2535:
2536: break;
2537:
2538: case '\u021A':
2539:
2540: output.append('\u0074');
2541:
2542: break;
2543:
2544: case '\u021B':
2545:
2546: output.append('\u0074');
2547:
2548: break;
2549:
2550: case '\u021E':
2551:
2552: output.append('\u0068');
2553:
2554: break;
2555:
2556: case '\u021F':
2557:
2558: output.append('\u0068');
2559:
2560: break;
2561:
2562: case '\u0220':
2563:
2564: output.append('\u006E');
2565:
2566: break;
2567:
2568: case '\u0221':
2569:
2570: output.append('\u0064');
2571:
2572: break;
2573:
2574: case '\u0224':
2575:
2576: output.append('\u007A');
2577:
2578: break;
2579:
2580: case '\u0225':
2581:
2582: output.append('\u007A');
2583:
2584: break;
2585:
2586: case '\u0226':
2587:
2588: output.append('\u0061');
2589:
2590: break;
2591:
2592: case '\u0227':
2593:
2594: output.append('\u0061');
2595:
2596: break;
2597:
2598: case '\u0228':
2599:
2600: output.append('\u0065');
2601:
2602: break;
2603:
2604: case '\u0229':
2605:
2606: output.append('\u0065');
2607:
2608: break;
2609:
2610: case '\u022A':
2611:
2612: output.append('\u006F');
2613:
2614: break;
2615:
2616: case '\u022B':
2617:
2618: output.append('\u006F');
2619:
2620: break;
2621:
2622: case '\u022C':
2623:
2624: output.append('\u006F');
2625:
2626: break;
2627:
2628: case '\u022D':
2629:
2630: output.append('\u006F');
2631:
2632: break;
2633:
2634: case '\u022E':
2635:
2636: output.append('\u006F');
2637:
2638: break;
2639:
2640: case '\u022F':
2641:
2642: output.append('\u006F');
2643:
2644: break;
2645:
2646: case '\u0230':
2647:
2648: output.append('\u006F');
2649:
2650: break;
2651:
2652: case '\u0231':
2653:
2654: output.append('\u006F');
2655:
2656: break;
2657:
2658: case '\u0232':
2659:
2660: output.append('\u0079');
2661:
2662: break;
2663:
2664: case '\u0233':
2665:
2666: output.append('\u0079');
2667:
2668: break;
2669:
2670: case '\u0234':
2671:
2672: output.append('\u006C');
2673:
2674: break;
2675:
2676: case '\u0235':
2677:
2678: output.append('\u006E');
2679:
2680: break;
2681:
2682: case '\u0236':
2683:
2684: output.append('\u0074');
2685:
2686: break;
2687:
2688: case '\u023A':
2689:
2690: output.append('\u0061');
2691:
2692: break;
2693:
2694: case '\u023B':
2695:
2696: output.append('\u0063');
2697:
2698: break;
2699:
2700: case '\u023C':
2701:
2702: output.append('\u0063');
2703:
2704: break;
2705:
2706: case '\u023D':
2707:
2708: output.append('\u006C');
2709:
2710: break;
2711:
2712: case '\u023E':
2713:
2714: output.append('\u0074');
2715:
2716: break;
2717:
2718: case '\u023F':
2719:
2720: output.append('\u0073');
2721:
2722: break;
2723:
2724: case '\u0240':
2725:
2726: output.append('\u007A');
2727:
2728: break;
2729:
2730: case '\u1E00':
2731:
2732: output.append('\u0061');
2733:
2734: break;
2735:
2736: case '\u1E01':
2737:
2738: output.append('\u0061');
2739:
2740: break;
2741:
2742: case '\u1E02':
2743:
2744: output.append('\u0062');
2745:
2746: break;
2747:
2748: case '\u0E03':
2749:
2750: output.append('\u0062');
2751:
2752: break;
2753:
2754: case '\u0E04':
2755:
2756: output.append('\u0062');
2757:
2758: break;
2759:
2760: case '\u1E05':
2761:
2762: output.append('\u0062');
2763:
2764: break;
2765:
2766: case '\u1E06':
2767:
2768: output.append('\u0062');
2769:
2770: break;
2771:
2772: case '\u1E07':
2773:
2774: output.append('\u0062');
2775:
2776: break;
2777:
2778: case '\u1E08':
2779:
2780: output.append('\u0063');
2781:
2782: break;
2783:
2784: case '\u1E09':
2785:
2786: output.append('\u0063');
2787:
2788: break;
2789:
2790: case '\u1E0A':
2791:
2792: output.append('\u0064');
2793:
2794: break;
2795:
2796: case '\u1E0B':
2797:
2798: output.append('\u0064');
2799:
2800: break;
2801:
2802: case '\u1E0C':
2803:
2804: output.append('\u0064');
2805:
2806: break;
2807:
2808: case '\u1E0D':
2809:
2810: output.append('\u0064');
2811:
2812: break;
2813:
2814: case '\u1E0E':
2815:
2816: output.append('\u0064');
2817:
2818: break;
2819:
2820: case '\u1E0F':
2821:
2822: output.append('\u0064');
2823:
2824: break;
2825:
2826: case '\u1E10':
2827:
2828: output.append('\u0064');
2829:
2830: break;
2831:
2832: case '\u1E11':
2833:
2834: output.append('\u0064');
2835:
2836: break;
2837:
2838: case '\u1E12':
2839:
2840: output.append('\u0064');
2841:
2842: break;
2843:
2844: case '\u1E13':
2845:
2846: output.append('\u0064');
2847:
2848: break;
2849:
2850: case '\u1E14':
2851:
2852: output.append('\u0065');
2853:
2854: break;
2855:
2856: case '\u1E15':
2857:
2858: output.append('\u0065');
2859:
2860: break;
2861:
2862: case '\u1E16':
2863:
2864: output.append('\u0065');
2865:
2866: break;
2867:
2868: case '\u1E17':
2869:
2870: output.append('\u0065');
2871:
2872: break;
2873:
2874: case '\u1E18':
2875:
2876: output.append('\u0065');
2877:
2878: break;
2879:
2880: case '\u1E19':
2881:
2882: output.append('\u0065');
2883:
2884: break;
2885:
2886: case '\u1E1A':
2887:
2888: output.append('\u0065');
2889:
2890: break;
2891:
2892: case '\u1E1B':
2893:
2894: output.append('\u0065');
2895:
2896: break;
2897:
2898: case '\u1E1C':
2899:
2900: output.append('\u0065');
2901:
2902: break;
2903:
2904: case '\u1E1D':
2905:
2906: output.append('\u0065');
2907:
2908: break;
2909:
2910: case '\u1E1E':
2911:
2912: output.append('\u0066');
2913:
2914: break;
2915:
2916: case '\u1E1F':
2917:
2918: output.append('\u0066');
2919:
2920: break;
2921:
2922: case '\u1E20':
2923:
2924: output.append('\u0067');
2925:
2926: break;
2927:
2928: case '\u1E21':
2929:
2930: output.append('\u0067');
2931:
2932: break;
2933:
2934: case '\u1E22':
2935:
2936: output.append('\u0068');
2937:
2938: break;
2939:
2940: case '\u1E23':
2941:
2942: output.append('\u0068');
2943:
2944: break;
2945:
2946: case '\u1E24':
2947:
2948: output.append('\u0068');
2949:
2950: break;
2951:
2952: case '\u1E25':
2953:
2954: output.append('\u0068');
2955:
2956: break;
2957:
2958: case '\u1E26':
2959:
2960: output.append('\u0068');
2961:
2962: break;
2963:
2964: case '\u1E27':
2965:
2966: output.append('\u0068');
2967:
2968: break;
2969:
2970: case '\u1E28':
2971:
2972: output.append('\u0068');
2973:
2974: break;
2975:
2976: case '\u1E29':
2977:
2978: output.append('\u0068');
2979:
2980: break;
2981:
2982: case '\u1E2A':
2983:
2984: output.append('\u0068');
2985:
2986: break;
2987:
2988: case '\u1E2B':
2989:
2990: output.append('\u0068');
2991:
2992: break;
2993:
2994: case '\u1E2C':
2995:
2996: output.append('\u0069');
2997:
2998: break;
2999:
3000: case '\u1E2D':
3001:
3002: output.append('\u0069');
3003:
3004: break;
3005:
3006: case '\u1E2E':
3007:
3008: output.append('\u0069');
3009:
3010: break;
3011:
3012: case '\u1E2F':
3013:
3014: output.append('\u0069');
3015:
3016: break;
3017:
3018: case '\u1E30':
3019:
3020: output.append('\u006B');
3021:
3022: break;
3023:
3024: case '\u1E31':
3025:
3026: output.append('\u006B');
3027:
3028: break;
3029:
3030: case '\u1E32':
3031:
3032: output.append('\u006B');
3033:
3034: break;
3035:
3036: case '\u1E33':
3037:
3038: output.append('\u006B');
3039:
3040: break;
3041:
3042: case '\u1E34':
3043:
3044: output.append('\u006B');
3045:
3046: break;
3047:
3048: case '\u1E35':
3049:
3050: output.append('\u006B');
3051:
3052: break;
3053:
3054: case '\u1E36':
3055:
3056: output.append('\u006C');
3057:
3058: break;
3059:
3060: case '\u1E37':
3061:
3062: output.append('\u006C');
3063:
3064: break;
3065:
3066: case '\u1E38':
3067:
3068: output.append('\u006C');
3069:
3070: break;
3071:
3072: case '\u1E39':
3073:
3074: output.append('\u006C');
3075:
3076: break;
3077:
3078: case '\u1E3A':
3079:
3080: output.append('\u006C');
3081:
3082: break;
3083:
3084: case '\u1E3B':
3085:
3086: output.append('\u006C');
3087:
3088: break;
3089:
3090: case '\u1E3C':
3091:
3092: output.append('\u006C');
3093:
3094: break;
3095:
3096: case '\u1E3D':
3097:
3098: output.append('\u006C');
3099:
3100: break;
3101:
3102: case '\u1E3E':
3103:
3104: output.append('\u006D');
3105:
3106: break;
3107:
3108: case '\u1E3F':
3109:
3110: output.append('\u006D');
3111:
3112: break;
3113:
3114: case '\u1E40':
3115:
3116: output.append('\u006D');
3117:
3118: break;
3119:
3120: case '\u1E41':
3121:
3122: output.append('\u006D');
3123:
3124: break;
3125:
3126: case '\u1E42':
3127:
3128: output.append('\u006D');
3129:
3130: break;
3131:
3132: case '\u1E43':
3133:
3134: output.append('\u006D');
3135:
3136: break;
3137:
3138: case '\u1E44':
3139:
3140: output.append('\u006E');
3141:
3142: break;
3143:
3144: case '\u1E45':
3145:
3146: output.append('\u006E');
3147:
3148: break;
3149:
3150: case '\u1E46':
3151:
3152: output.append('\u006E');
3153:
3154: break;
3155:
3156: case '\u1E47':
3157:
3158: output.append('\u006E');
3159:
3160: break;
3161:
3162: case '\u1E48':
3163:
3164: output.append('\u006E');
3165:
3166: break;
3167:
3168: case '\u1E49':
3169:
3170: output.append('\u006E');
3171:
3172: break;
3173:
3174: case '\u1E4A':
3175:
3176: output.append('\u006E');
3177:
3178: break;
3179:
3180: case '\u1E4B':
3181:
3182: output.append('\u006E');
3183:
3184: break;
3185:
3186: case '\u1E4C':
3187:
3188: output.append('\u006F');
3189:
3190: break;
3191:
3192: case '\u1E4D':
3193:
3194: output.append('\u006F');
3195:
3196: break;
3197:
3198: case '\u1E4E':
3199:
3200: output.append('\u006F');
3201:
3202: break;
3203:
3204: case '\u1E4F':
3205:
3206: output.append('\u006F');
3207:
3208: break;
3209:
3210: case '\u1E50':
3211:
3212: output.append('\u006F');
3213:
3214: break;
3215:
3216: case '\u1E51':
3217:
3218: output.append('\u006F');
3219:
3220: break;
3221:
3222: case '\u1E52':
3223:
3224: output.append('\u006F');
3225:
3226: break;
3227:
3228: case '\u1E53':
3229:
3230: output.append('\u006F');
3231:
3232: break;
3233:
3234: case '\u1E54':
3235:
3236: output.append('\u0070');
3237:
3238: break;
3239:
3240: case '\u1E55':
3241:
3242: output.append('\u0070');
3243:
3244: break;
3245:
3246: case '\u1E56':
3247:
3248: output.append('\u0070');
3249:
3250: break;
3251:
3252: case '\u1E57':
3253:
3254: output.append('\u0070');
3255:
3256: break;
3257:
3258: case '\u1E58':
3259:
3260: output.append('\u0072');
3261:
3262: break;
3263:
3264: case '\u1E59':
3265:
3266: output.append('\u0072');
3267:
3268: break;
3269:
3270: case '\u1E5A':
3271:
3272: output.append('\u0072');
3273:
3274: break;
3275:
3276: case '\u1E5B':
3277:
3278: output.append('\u0072');
3279:
3280: break;
3281:
3282: case '\u1E5C':
3283:
3284: output.append('\u0072');
3285:
3286: break;
3287:
3288: case '\u1E5D':
3289:
3290: output.append('\u0072');
3291:
3292: break;
3293:
3294: case '\u1E5E':
3295:
3296: output.append('\u0072');
3297:
3298: break;
3299:
3300: case '\u1E5F':
3301:
3302: output.append('\u0072');
3303:
3304: break;
3305:
3306: case '\u1E60':
3307:
3308: output.append('\u0073');
3309:
3310: break;
3311:
3312: case '\u1E61':
3313:
3314: output.append('\u0073');
3315:
3316: break;
3317:
3318: case '\u1E62':
3319:
3320: output.append('\u0073');
3321:
3322: break;
3323:
3324: case '\u1E63':
3325:
3326: output.append('\u0073');
3327:
3328: break;
3329:
3330: case '\u1E64':
3331:
3332: output.append('\u0073');
3333:
3334: break;
3335:
3336: case '\u1E65':
3337:
3338: output.append('\u0073');
3339:
3340: break;
3341:
3342: case '\u1E66':
3343:
3344: output.append('\u0073');
3345:
3346: break;
3347:
3348: case '\u1E67':
3349:
3350: output.append('\u0073');
3351:
3352: break;
3353:
3354: case '\u1E68':
3355:
3356: output.append('\u0073');
3357:
3358: break;
3359:
3360: case '\u1E69':
3361:
3362: output.append('\u0073');
3363:
3364: break;
3365:
3366: case '\u1E6A':
3367:
3368: output.append('\u0074');
3369:
3370: break;
3371:
3372: case '\u1E6B':
3373:
3374: output.append('\u0074');
3375:
3376: break;
3377:
3378: case '\u1E6C':
3379:
3380: output.append('\u0074');
3381:
3382: break;
3383:
3384: case '\u1E6D':
3385:
3386: output.append('\u0074');
3387:
3388: break;
3389:
3390: case '\u1E6E':
3391:
3392: output.append('\u0074');
3393:
3394: break;
3395:
3396: case '\u1E6F':
3397:
3398: output.append('\u0074');
3399:
3400: break;
3401:
3402: case '\u1E70':
3403:
3404: output.append('\u0074');
3405:
3406: break;
3407:
3408: case '\u1E71':
3409:
3410: output.append('\u0074');
3411:
3412: break;
3413:
3414: case '\u1E72':
3415:
3416: output.append('\u0075');
3417:
3418: break;
3419:
3420: case '\u1E73':
3421:
3422: output.append('\u0075');
3423:
3424: break;
3425:
3426: case '\u1E74':
3427:
3428: output.append('\u0075');
3429:
3430: break;
3431:
3432: case '\u1E75':
3433:
3434: output.append('\u0075');
3435:
3436: break;
3437:
3438: case '\u1E76':
3439:
3440: output.append('\u0075');
3441:
3442: break;
3443:
3444: case '\u1E77':
3445:
3446: output.append('\u0075');
3447:
3448: break;
3449:
3450: case '\u1E78':
3451:
3452: output.append('\u0075');
3453:
3454: break;
3455:
3456: case '\u1E79':
3457:
3458: output.append('\u0075');
3459:
3460: break;
3461:
3462: case '\u1E7A':
3463:
3464: output.append('\u0075');
3465:
3466: break;
3467:
3468: case '\u1E7B':
3469:
3470: output.append('\u0075');
3471:
3472: break;
3473:
3474: case '\u1E7C':
3475:
3476: output.append('\u0076');
3477:
3478: break;
3479:
3480: case '\u1E7D':
3481:
3482: output.append('\u0076');
3483:
3484: break;
3485:
3486: case '\u1E7E':
3487:
3488: output.append('\u0076');
3489:
3490: break;
3491:
3492: case '\u1E7F':
3493:
3494: output.append('\u0076');
3495:
3496: break;
3497:
3498: case '\u1E80':
3499:
3500: output.append('\u0077');
3501:
3502: break;
3503:
3504: case '\u1E81':
3505:
3506: output.append('\u0077');
3507:
3508: break;
3509:
3510: case '\u1E82':
3511:
3512: output.append('\u0077');
3513:
3514: break;
3515:
3516: case '\u1E83':
3517:
3518: output.append('\u0077');
3519:
3520: break;
3521:
3522: case '\u1E84':
3523:
3524: output.append('\u0077');
3525:
3526: break;
3527:
3528: case '\u1E85':
3529:
3530: output.append('\u0077');
3531:
3532: break;
3533:
3534: case '\u1E86':
3535:
3536: output.append('\u0077');
3537:
3538: break;
3539:
3540: case '\u1E87':
3541:
3542: output.append('\u0077');
3543:
3544: break;
3545:
3546: case '\u1E88':
3547:
3548: output.append('\u0077');
3549:
3550: break;
3551:
3552: case '\u1E89':
3553:
3554: output.append('\u0077');
3555:
3556: break;
3557:
3558: case '\u1E8A':
3559:
3560: output.append('\u0078');
3561:
3562: break;
3563:
3564: case '\u1E8B':
3565:
3566: output.append('\u0078');
3567:
3568: break;
3569:
3570: case '\u1E8C':
3571:
3572: output.append('\u0078');
3573:
3574: break;
3575:
3576: case '\u1E8D':
3577:
3578: output.append('\u0078');
3579:
3580: break;
3581:
3582: case '\u1E8E':
3583:
3584: output.append('\u0079');
3585:
3586: break;
3587:
3588: case '\u1E8F':
3589:
3590: output.append('\u0079');
3591:
3592: break;
3593:
3594: case '\u1E90':
3595:
3596: output.append('\u007A');
3597:
3598: break;
3599:
3600: case '\u1E91':
3601:
3602: output.append('\u007A');
3603:
3604: break;
3605:
3606: case '\u1E92':
3607:
3608: output.append('\u007A');
3609:
3610: break;
3611:
3612: case '\u1E93':
3613:
3614: output.append('\u007A');
3615:
3616: break;
3617:
3618: case '\u1E94':
3619:
3620: output.append('\u007A');
3621:
3622: break;
3623:
3624: case '\u1E95':
3625:
3626: output.append('\u007A');
3627:
3628: break;
3629:
3630: case '\u1E96':
3631:
3632: output.append('\u0068');
3633:
3634: break;
3635:
3636: case '\u1E97':
3637:
3638: output.append('\u0074');
3639:
3640: break;
3641:
3642: case '\u1E98':
3643:
3644: output.append('\u0077');
3645:
3646: break;
3647:
3648: case '\u1E99':
3649:
3650: output.append('\u0079');
3651:
3652: break;
3653:
3654: case '\u1E9A':
3655:
3656: output.append('\u0061');
3657:
3658: break;
3659:
3660: case '\u1E9B':
3661:
3662: output.append('\u0066');
3663:
3664: break;
3665:
3666: case '\u1EA0':
3667:
3668: output.append('\u0061');
3669:
3670: break;
3671:
3672: case '\u1EA1':
3673:
3674: output.append('\u0061');
3675:
3676: break;
3677:
3678: case '\u1EA2':
3679:
3680: output.append('\u0061');
3681:
3682: break;
3683:
3684: case '\u1EA3':
3685:
3686: output.append('\u0061');
3687:
3688: break;
3689:
3690: case '\u1EA4':
3691:
3692: output.append('\u0061');
3693:
3694: break;
3695:
3696: case '\u1EA5':
3697:
3698: output.append('\u0061');
3699:
3700: break;
3701:
3702: case '\u1EA6':
3703:
3704: output.append('\u0061');
3705:
3706: break;
3707:
3708: case '\u1EA7':
3709:
3710: output.append('\u0061');
3711:
3712: break;
3713:
3714: case '\u1EA8':
3715:
3716: output.append('\u0061');
3717:
3718: break;
3719:
3720: case '\u1EA9':
3721:
3722: output.append('\u0061');
3723:
3724: break;
3725:
3726: case '\u1EAA':
3727:
3728: output.append('\u0061');
3729:
3730: break;
3731:
3732: case '\u1EAB':
3733:
3734: output.append('\u0061');
3735:
3736: break;
3737:
3738: case '\u1EAC':
3739:
3740: output.append('\u0061');
3741:
3742: break;
3743:
3744: case '\u1EAD':
3745:
3746: output.append('\u0061');
3747:
3748: break;
3749:
3750: case '\u1EAE':
3751:
3752: output.append('\u0061');
3753:
3754: break;
3755:
3756: case '\u1EAF':
3757:
3758: output.append('\u0061');
3759:
3760: break;
3761:
3762: case '\u1EB0':
3763:
3764: output.append('\u0061');
3765:
3766: break;
3767:
3768: case '\u1EB1':
3769:
3770: output.append('\u0061');
3771:
3772: break;
3773:
3774: case '\u1EB2':
3775:
3776: output.append('\u0061');
3777:
3778: break;
3779:
3780: case '\u1EB3':
3781:
3782: output.append('\u0061');
3783:
3784: break;
3785:
3786: case '\u1EB4':
3787:
3788: output.append('\u0061');
3789:
3790: break;
3791:
3792: case '\u1EB5':
3793:
3794: output.append('\u0061');
3795:
3796: break;
3797:
3798: case '\u1EB6':
3799:
3800: output.append('\u0061');
3801:
3802: break;
3803:
3804: case '\u1EB7':
3805:
3806: output.append('\u0061');
3807:
3808: break;
3809:
3810: case '\u1EB8':
3811:
3812: output.append('\u0065');
3813:
3814: break;
3815:
3816: case '\u1EB9':
3817:
3818: output.append('\u0065');
3819:
3820: break;
3821:
3822: case '\u1EBA':
3823:
3824: output.append('\u0065');
3825:
3826: break;
3827:
3828: case '\u1EBB':
3829:
3830: output.append('\u0065');
3831:
3832: break;
3833:
3834: case '\u1EBC':
3835:
3836: output.append('\u0065');
3837:
3838: break;
3839:
3840: case '\u1EBD':
3841:
3842: output.append('\u0065');
3843:
3844: break;
3845:
3846: case '\u1EBE':
3847:
3848: output.append('\u0065');
3849:
3850: break;
3851:
3852: case '\u1EBF':
3853:
3854: output.append('\u0065');
3855:
3856: break;
3857:
3858: case '\u1EC0':
3859:
3860: output.append('\u0065');
3861:
3862: break;
3863:
3864: case '\u1EC1':
3865:
3866: output.append('\u0065');
3867:
3868: break;
3869:
3870: case '\u1EC2':
3871:
3872: output.append('\u0065');
3873:
3874: break;
3875:
3876: case '\u1EC3':
3877:
3878: output.append('\u0065');
3879:
3880: break;
3881:
3882: case '\u1EC4':
3883:
3884: output.append('\u0065');
3885:
3886: break;
3887:
3888: case '\u1EC5':
3889:
3890: output.append('\u0065');
3891:
3892: break;
3893:
3894: case '\u1EC6':
3895:
3896: output.append('\u0065');
3897:
3898: break;
3899:
3900: case '\u1EC7':
3901:
3902: output.append('\u0065');
3903:
3904: break;
3905:
3906: case '\u1EC8':
3907:
3908: output.append('\u0069');
3909:
3910: break;
3911:
3912: case '\u1EC9':
3913:
3914: output.append('\u0069');
3915:
3916: break;
3917:
3918: case '\u1ECA':
3919:
3920: output.append('\u0069');
3921:
3922: break;
3923:
3924: case '\u1ECB':
3925:
3926: output.append('\u0069');
3927:
3928: break;
3929:
3930: case '\u1ECC':
3931:
3932: output.append('\u006F');
3933:
3934: break;
3935:
3936: case '\u1ECD':
3937:
3938: output.append('\u006F');
3939:
3940: break;
3941:
3942: case '\u1ECE':
3943:
3944: output.append('\u006F');
3945:
3946: break;
3947:
3948: case '\u1ECF':
3949:
3950: output.append('\u006F');
3951:
3952: break;
3953:
3954: case '\u1ED0':
3955:
3956: output.append('\u006F');
3957:
3958: break;
3959:
3960: case '\u1ED1':
3961:
3962: output.append('\u006F');
3963:
3964: break;
3965:
3966: case '\u1ED2':
3967:
3968: output.append('\u006F');
3969:
3970: break;
3971:
3972: case '\u1ED3':
3973:
3974: output.append('\u006F');
3975:
3976: break;
3977:
3978: case '\u1ED4':
3979:
3980: output.append('\u006F');
3981:
3982: break;
3983:
3984: case '\u1ED5':
3985:
3986: output.append('\u006F');
3987:
3988: break;
3989:
3990: case '\u1ED6':
3991:
3992: output.append('\u006F');
3993:
3994: break;
3995:
3996: case '\u1ED7':
3997:
3998: output.append('\u006F');
3999:
4000: break;
4001:
4002: case '\u1ED8':
4003:
4004: output.append('\u006F');
4005:
4006: break;
4007:
4008: case '\u1ED9':
4009:
4010: output.append('\u006F');
4011:
4012: break;
4013:
4014: case '\u1EDA':
4015:
4016: output.append('\u006F');
4017:
4018: break;
4019:
4020: case '\u1EDB':
4021:
4022: output.append('\u006F');
4023:
4024: break;
4025:
4026: case '\u1EDC':
4027:
4028: output.append('\u006F');
4029:
4030: break;
4031:
4032: case '\u1EDD':
4033:
4034: output.append('\u006F');
4035:
4036: break;
4037:
4038: case '\u1EDE':
4039:
4040: output.append('\u006F');
4041:
4042: break;
4043:
4044: case '\u1EDF':
4045:
4046: output.append('\u006F');
4047:
4048: break;
4049:
4050: case '\u1EE0':
4051:
4052: output.append('\u006F');
4053:
4054: break;
4055:
4056: case '\u1EE1':
4057:
4058: output.append('\u006F');
4059:
4060: break;
4061:
4062: case '\u1EE2':
4063:
4064: output.append('\u006F');
4065:
4066: break;
4067:
4068: case '\u1EE3':
4069:
4070: output.append('\u006F');
4071:
4072: break;
4073:
4074: case '\u1EE4':
4075:
4076: output.append('\u0075');
4077:
4078: break;
4079:
4080: case '\u1EE5':
4081:
4082: output.append('\u0075');
4083:
4084: break;
4085:
4086: case '\u1EE6':
4087:
4088: output.append('\u0075');
4089:
4090: break;
4091:
4092: case '\u1EE7':
4093:
4094: output.append('\u0075');
4095:
4096: break;
4097:
4098: case '\u1EE8':
4099:
4100: output.append('\u0075');
4101:
4102: break;
4103:
4104: case '\u1EE9':
4105:
4106: output.append('\u0075');
4107:
4108: break;
4109:
4110: case '\u1EEA':
4111:
4112: output.append('\u0075');
4113:
4114: break;
4115:
4116: case '\u1EEB':
4117:
4118: output.append('\u0075');
4119:
4120: break;
4121:
4122: case '\u1EEC':
4123:
4124: output.append('\u0075');
4125:
4126: break;
4127:
4128: case '\u1EED':
4129:
4130: output.append('\u0075');
4131:
4132: break;
4133:
4134: case '\u1EEE':
4135:
4136: output.append('\u0075');
4137:
4138: break;
4139:
4140: case '\u1EEF':
4141:
4142: output.append('\u0075');
4143:
4144: break;
4145:
4146: case '\u1EF0':
4147:
4148: output.append('\u0075');
4149:
4150: break;
4151:
4152: case '\u1EF1':
4153:
4154: output.append('\u0075');
4155:
4156: break;
4157:
4158: case '\u1EF2':
4159:
4160: output.append('\u0079');
4161:
4162: break;
4163:
4164: case '\u1EF3':
4165:
4166: output.append('\u0079');
4167:
4168: break;
4169:
4170: case '\u1EF4':
4171:
4172: output.append('\u0079');
4173:
4174: break;
4175:
4176: case '\u1EF5':
4177:
4178: output.append('\u0079');
4179:
4180: break;
4181:
4182: case '\u1EF6':
4183:
4184: output.append('\u0079');
4185:
4186: break;
4187:
4188: case '\u1EF7':
4189:
4190: output.append('\u0079');
4191:
4192: break;
4193:
4194: case '\u1EF8':
4195:
4196: output.append('\u0079');
4197:
4198: break;
4199:
4200: case '\u1EF9':
4201:
4202: output.append('\u0079');
4203: break;
4204:
4205: default:
4206: output.append(input.charAt(i));
4207: break;
4208: }
4209: }
4210: return output.toString();
4211: }
4212:
4213: }
|