{
    "mode": "perldoc",
    "parameter": "Unicode::Japanese",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/Unicode%3A%3AJapanese/json",
    "generated": "2026-06-12T06:54:59Z",
    "synopsis": "use Unicode::Japanese;\nuse Unicode::Japanese qw(unijp);\n# convert utf8 -> sjis\nprint Unicode::Japanese->new($str)->sjis;\nprint unijp($str)->sjis; # same as above.\n# convert sjis -> utf8\nprint Unicode::Japanese->new($str,'sjis')->get;\n# convert sjis (imodeEMOJI) -> utf8\nprint Unicode::Japanese->new($str,'sjis-imode')->get;\n# convert zenkaku (utf8) -> hankaku (utf8)\nprint Unicode::Japanese->new($str)->z2h->get;",
    "sections": {
        "NAME": {
            "content": "Unicode::Japanese - Convert encoding of japanese text\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "use Unicode::Japanese;\nuse Unicode::Japanese qw(unijp);\n\n# convert utf8 -> sjis\n\nprint Unicode::Japanese->new($str)->sjis;\nprint unijp($str)->sjis; # same as above.\n\n# convert sjis -> utf8\n\nprint Unicode::Japanese->new($str,'sjis')->get;\n\n# convert sjis (imodeEMOJI) -> utf8\n\nprint Unicode::Japanese->new($str,'sjis-imode')->get;\n\n# convert zenkaku (utf8) -> hankaku (utf8)\n\nprint Unicode::Japanese->new($str)->z2h->get;\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The Unicode::Japanese module converts encoding of japanese text from one encoding to another.\n\nFEATURES\n* An instance of Unicode::Japanese internally holds a string in UTF-8.\n\n* This module is implemented in two ways: XS and pure perl. If efficiency is important for you,\nyou should build and install the XS module. If you don't want to, or if you can't build the XS\nmodule, you may use the pure perl module instead. In that case, only you have to do is to copy\nJapanese.pm into somewhere in @INC.\n\n* This module can convert characters from zenkaku (full-width) form to hankaku (half-width)\nform, and vice versa. Conversion between hiragana (one of two sets of japanese phonetical\nalphabet) and katakana (another set of japanese phonetical alphabet) is also supported.\n\n* This module has mapping tables for emoji (graphic characters) defined by various japanese\nmobile phones; DoCoMo i-mode, ASTEL dot-i and J-PHONE J-Sky. Those letters are mapped on\nUnicode Private Use Area so unicode strings it outputs are still valid even if they contain\nemoji, and you can safely pass them to other software that can handle Unicode.\n\n* This module can map some emoji from one set to another. Different mobile phones define\ndifferent sets of emoji, so mapping each other is not always possible. But since some emoji\nexist in two or more sets with similar appearance, this module considers those emoji to be the\nsame.\n\n* This module uses the mapping table for MS-CP932 instead of the standard ShiftJIS. The\nShiftJIS encoding used by MS-Windows (MS-SJIS/MS-CP932) slightly differs from the standard.\n\n* When the module converts strings from Unicode to ShiftJIS, EUC-JP or ISO-2022-JP, unicode\nletters which can't be represented in those encodings will be encoded in \"&#dddd;\" form\n(decimal character reference). Note, however, that letters in Unicode Private Use Area will be\nreplaced with '?' mark ('QUESTION MARK'; U+003F) instead of being encoded. In addition,\nencoding to character sets for mobile phones makes every unrepresentable letters being '?'\nmark.\n\n* On perl-5.8.0 or later, this module handles the UTF-8 flag: the method utf8() returns UTF-8\n*byte* string, and the method getu() returns UTF-8 *character* string.\n\nCurrently the method get() returns UTF-8 *byte* string but this behavior may be changed in the\nfuture.\n\nMethods like sjis(), jis(), utf8(), and such like return *byte* string. new(), set(),\ngetcode() methods just ignore the UTF-8 flag of strings they take.\n",
            "subsections": []
        },
        "REQUIREMENT": {
            "content": "*   perl 5.10.x, 5.8.x, etc. (5.004 and later)\n\n*   (optional) C Compiler. This module supports both XS and Pure Perl. If you have no C\nCompilers, Unicode::Japanese will be installed as Pure Perl module.\n\n*   (optional) Test.pm and Test::More for testing.\n\nNo other modules are required at run time.\n",
            "subsections": []
        },
        "METHODS": {
            "content": "$s = Unicode::Japanese->new($str [, $icode [, $encode]])\nCreate a new instance of Unicode::Japanese.\n\nAny given parameters will be internally passed to the method \"set\"().\n\n$s = unijp($str [, $icode [, $encode]])\nSame as Unicode::Jananese->new(...).\n\n$s->set($str [, $icode [, $encode]])\n\n$str: string\n$icode: optional character encoding (default: 'utf8')\n$encode: optional binary encoding (default: no binary encodings are assumed)\n\nStore a string into the instance.\n\nPossible character encodings are:\n\nauto\nutf8 ucs2 ucs4\nutf16-be utf16-le utf16\nutf32-be utf32-le utf32\nsjis cp932 euc euc-jp jis\nsjis-imode sjis-imode1 sjis-imode2\nutf8-imode utf8-imode1 utf8-imode2\nsjis-doti sjis-doti1\nsjis-jsky sjis-jsky1 sjis-jsky2\njis-jsky  jis-jsky1  jis-jsky2\nutf8-jsky utf8-jsky1 utf8-jsky2\nsjis-au sjis-au1 sjis-au2\njis-au  jis-au1  jis-au2\nsjis-icon-au sjis-icon-au1 sjis-icon-au2\neuc-icon-au  euc-icon-au1  euc-icon-au2\njis-icon-au  jis-icon-au1  jis-icon-au2\nutf8-icon-au utf8-icon-au1 utf8-icon-au2\nascii binary\n\n(see also \"SUPPORTED ENCODINGS\".)\n\nIf you want the Unicode::Japanese detect the character encoding of string, you must\nexplicitly specify 'auto' as the second argument. In that case, the given string will be\npassed to the method getcode() to guess the encoding.\n\nFor binary encodings, only 'base64' is currently supported. If you specify 'base64' as the\nthird argument, the given string will be decoded using Base64 decoder.\n\nSpecify 'binary' as the second argument if you want your string to be stored without\nmodification.\n\nWhen you specify 'sjis-imode' or 'sjis-doti' as the character encoding, any occurences of\n'&#dddd;' (decimal character reference) in the string will be interpreted and decoded as\ncode point of emoji, just like emoji implanted into the string in binary form.\n\nSince encoded forms of strings in various encodings are not clearly distinctive to each\nother, it is not always certainly possible to detect what encoding is used for a given\nstring.\n\nWhen a given string is possibly interpreted as both ShiftJIS and UTF-8 string, this module\nconsiders such a string to be encoded in ShiftJIS. And if the encoding is not\ndistinguishable between 'sjis-au' and 'sjis-doti', this module considers it 'sjis-au'.\n\n$str = $s->get\n\n$str: string (UTF-8)\n\nGet the internal string in UTF-8.\n\nThis method currently returns a byte string (whose UTF-8 flag is turned off), but this\nbehavior may be changed in the future.\n\nIf you absolutely want a byte string, you should use the method utf8() instead. And if you\nwant a character string (whose UTF-8 flag is turned on), you have to use the method getu().\n\n$str = $s->getu\n\n$str: string (UTF-8)\n\nGet the internal string in UTF-8.\n\nOn perl-5.8.0 or later, this method returns a character string with its UTF-8 flag turned\non.\n\n$code = $s->getcode($str)\n\n$str: string\n$code: name of character encoding\n\nDetect the character encoding of given string.\n\nNote that this method, exceptionaly, doesn't deal with the internal string of an instance.\n\nTo guess the encoding, the following algorithm is used:\n\n(For pure perl implementation)\n\n1   If the string has an UTF-32 BOM, its encoding is 'utf32'.\n\n2   If it has an UTF-16 BOM, its encoding is 'utf16'.\n\n3   If it is valid for UTF-32BE, its encoding is 'utf32-be'.\n\n4   If it is valid for UTF-32LE, its encoding is 'utf32-le'.\n\n5   If it contains no ESC characters or bytes whose eighth bit is on, its encoding is\n'ascii'. Every ASCII control characters (0x00-0x1F and 0x7F) except ESC (0x1B) are\nconsidered to be in the range of 'ascii'.\n\n6   If it contains escape sequences of ISO-2022-JP, its encoding is 'jis'.\n\n7   If it contains any emoji defined for J-PHONE, its encoding is 'sjis-jsky'.\n\n8   If it is valid for EUC-JP, its encoding is 'euc'.\n\n9   If it is valid for ShiftJIS, its encoding is 'sjis'.\n\n10  If it contains any emoji defined for au, and everything else is valid for ShiftJIS, its\nencoding is 'sjis-au'.\n\n11  If it contains any emoji defined for i-mode, and everything else is valid for ShiftJIS,\nits encoding is 'sjis-imode'.\n\n12  If it contains any emoji defined for dot-i, and everything else is valid for ShiftJIS,\nits encoding is 'sjis-doti'.\n\n13  If it is valid for UTF-8, its encoding is 'utf8'.\n\n14  If no conditions above are fulfilled, its encoding is 'unknown'.\n\n(For XS implementation)\n\n1   If the string has an UTF-32 BOM, its encoding is 'utf32'.\n\n2   If it has an UTF-16 BOM, its encoding is 'utf16'.\n\n3   Find all possible encodings that might have been applied to the string from the\nfollowing:\n\nascii / euc / sjis / jis / utf8 / utf32-be / utf32-le / sjis-jsky / sjis-imode / sjis-au\n/ sjis-doti\n\n4   If any encodings have been found possible, this module picks out one encoding having the\nhighest priority among them. The priority order is as follows:\n\nutf32-be / utf32-le / ascii / jis / euc / sjis / sjis-jsky / sjis-imode / sjis-au /\nsjis-doti / utf8\n\n5   If no conditions above are fulfilled, its encoding is 'unknown'.\n\nPay attention to the following pitfalls in the above algorithm:\n\n* UTF-8 strings might be accidentally considered to be encoded in ShiftJIS.\n\n* UCS-2 strings (sequence of raw UCS-2 letters in big-endian; each letters has always 2\nbytes) can't be detected because they look like nothing but sequences of random bytes\nwhose length is an even number.\n\n* UTF-16 strings must have BOM to be detected.\n\n* Emoji are only be recognized if they are implanted into the string in binary form. If they\nare described in '&#dddd;' form, they aren't considered to be emoji.\n\nSince the XS and pure perl implementations use different algorithms to guess encoding, they\nmay guess differently for the same string. Especially, the pure perl implementation finds\nShiftJIS strings containing ESC character (0x1B) to be actually encoded in ShiftJIS but XS\nimplementation doesn't. This is because such strings can hardly be distinguished from\n'sjis-jsky'. In addition, EUC-JP strings containing ESC character are also rejected for the\nsame reason.\n\n$code = $s->getcodelist($str)\n\n$str: string\n$code: name of character encodings\n\nDetect the character encoding of given string.\n\nUnlike the method getcode(), getcodelist() returns a list of possible encodings.\n\n$str = $s->conv($ocode, $encode)\n\n$ocode: character encoding (possible encodings are:)\nutf8 ucs2 ucs4 utf16\nsjis cp932 euc euc-jp jis\nsjis-imode sjis-imode1 sjis-imode2\nutf8-imode utf8-imode1 utf8-imode2\nsjis-doti sjis-doti1\nsjis-jsky sjis-jsky1 sjis-jsky2\njis-jsky  jis-jsky1  jis-jsky2\nutf8-jsky utf8-jsky1 utf8-jsky2\nsjis-au sjis-au1 sjis-au2\njis-au  jis-au1  jis-au2\nsjis-icon-au sjis-icon-au1 sjis-icon-au2\neuc-icon-au  euc-icon-au1  euc-icon-au2\njis-icon-au  jis-icon-au1  jis-icon-au2\nutf8-icon-au utf8-icon-au1 utf8-icon-au2\nbinary\n\n(see also \"SUPPORTED ENCODINGS\".)\n\nSome encodings for mobile phones have a trailing digit like 'sjis-au2'. Those digits\nrepresent the version number of encodings. Such encodings have a variant with no trailing\ndigits, like 'sjis-au', which is the same as the latest version among its variants.\n\n$encode: optional binary encoding\n$str: string\n\nGet the internal string of instance with encoding it using a given character encoding\nmethod.\n\nIf you want the resulting string to be encoded in Base64, specify 'base64' as the second\nargument.\n\nOn perl-5.8.0 or later, the UTF-8 flag of resulting string is turned off even if you specify\n'utf8' to the first argument.\n\n$s->tag2bin\nInterpret decimal character references (&#dddd;) in the instance, and replaces them with\nsingle characters they represent.\n\n$s->z2h\nReplace zenkaku (full-width) letters in the instance with hankaku (half-width) letters.\n\n$s->h2z\nReplace hankaku (half-width) letters in the instance with zenkaku (full-width) letters.\n\n$s->hira2kata\nReplace any hiragana in the instance with katakana.\n\n$s->kata2hira\nReplace any katakana in the instance with hiragana.\n\n$str = $s->jis\n$str: byte string in ISO-2022-JP\n\nGet the internal string of instance with encoding it in ISO-2022-JP.\n\n$str = $s->euc\n$str: byte string in EUC-JP\n\nGet the internal string of instance with encoding it in EUC-JP.\n\n$str = $s->utf8\n$str: byte string in UTF-8\n\nGet the internal UTF-8 string of instance.\n\nOn perl-5.8.0 or later, the UTF-8 flag of resulting string is turned off.\n\n$str = $s->ucs2\n$str: byte string in UCS-2\n\nGet the internal string of instance as a sequence of raw UCS-2 letters in big-endian. Note\nthat this is different from UTF-16BE as raw UCS-2 sequence has no concept of surrogate pair.\n\n$str = $s->ucs4\n$str: byte string in UCS-4\n\nGet the internal string of instance as a sequence of raw UCS-4 letters in big-endian. This\nis practically the same as UTF-32BE.\n\n$str = $s->utf16\n$str: byte string in UTF-16\n\nGet the insternal string of instance with encoding it in UTF-16 in big-endian with no BOM\nprepended.\n\n$str = $s->sjis\n$str: byte string in ShiftJIS\n\nGet the internal string of instance with encoding it in ShiftJIS (MS-SJIS / MS-CP932).\n\n$str = $s->sjisimode\n$str: byte string in 'sjis-imode'\n\nGet the internal string of instance with encoding it in 'sjis-imode'.\n\n$str = $s->sjisimode1\n$str: byte string in 'sjis-imode1'\n\nGet the internal string of instance with encoding it in 'sjis-imode1'.\n\n$str = $s->sjisimode2\n$str: byte string in 'sjis-imode2'\n\nGet the internal string of instance with encoding it in 'sjis-imode2'.\n\n$str = $s->sjisdoti\n$str: byte string in 'sjis-doti'\n\nGet the internal string of instance with encoding it in 'sjis-doti'.\n\n$str = $s->sjisjsky\n$str: byte string in 'sjis-jsky'\n\nGet the internal string of instance with encoding it in 'sjis-jsky'.\n\n$str = $s->sjisjsky1\n$str: byte string in 'sjis-jsky1'\n\nGet the internal string of instance with encoding it in 'sjis-jsky1'.\n\n$str = $s->sjisjsky\n$str: byte string in 'sjis-jsky'\n\nGet the internal string of instance with encoding it in 'sjis-jsky'.\n\n$str = $s->sjisiconau\n$str: byte string in 'sjis-icon-au'\n\nGet the internal string of instance with encoding it in 'sjis-icon-au'.\n\n$strarrayref = $s->strcut($len)\n\n$len: maximum length of each chunks (in number of full-width characters)\n$strarrayref: reference to array of strings\n\nSplit the internal string of instance into chunks of a given length.\n\nOn perl-5.8.0 or later, UTF-8 flags of each chunks are turned on.\n\n$len = $s->strlen\n$len: character width of the internal string\n\nCalculate the character width of the internal string. Half-width characters have width of\none unit, and full-width characters have width of two units.\n\n$s->joincsv(@values);\n@values: array of strings\n\nBuild a line of CSV from the arguments, and store it into the instance. The resulting line\nhas a trailing line break (\"\\n\").\n\n@values = $s->splitcsv;\n@values: array of strings\n\nParse a line of CSV in the instance and return each columns. The line will be chomp()ed\nbefore getting parsed.\n\nIf the internal string was decoded from 'binary' encoding (see methods new() and set()), the\nUTF-8 flags of the resulting array of strings are turned off. Otherwise the flags are turned\non.\n",
            "subsections": []
        },
        "SUPPORTED ENCODINGS": {
            "content": "+---------------+----+-----+-------+\n|encoding       | in | out | guess |\n+---------------+----+-----+-------+\n|auto           : OK : --  | ----- |\n+---------------+----+-----+-------+\n|utf8           : OK : OK  | OK    |\n|ucs2           : OK : OK  | ----- |\n|ucs4           : OK : OK  | ----- |\n|utf16-be       : OK : --  | ----- |\n|utf16-le       : OK : --  | ----- |\n|utf16          : OK : OK  | OK(#) |\n|utf32-be       : OK : --  | OK    |\n|utf32-le       : OK : --  | OK    |\n|utf32          : OK : --  | OK(#) |\n+---------------+----+-----+-------+\n|sjis           : OK : OK  | OK    |\n|cp932          : OK : OK  | ----- |\n|euc            : OK : OK  | OK    |\n|euc-jp         : OK : OK  | ----- |\n|jis            : OK : OK  | OK    |\n+---------------+----+-----+-------+\n|sjis-imode     : OK : OK  | OK    |\n|sjis-imode1    : OK : OK  | ----- |\n|sjis-imode2    : OK : OK  | ----- |\n|utf8-imode     : OK : OK  | ----- |\n|utf8-imode1    : OK : OK  | ----- |\n|utf8-imode2    : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|sjis-doti      : OK : OK  | OK    |\n|sjis-doti1     : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|sjis-jsky      : OK : OK  | OK    |\n|sjis-jsky1     : OK : OK  | ----- |\n|sjis-jsky2     : OK : OK  | ----- |\n|jis-jsky       : OK : OK  | ----- |\n|jis-jsky1      : OK : OK  | ----- |\n|jis-jsky2      : OK : OK  | ----- |\n|utf8-jsky      : OK : OK  | ----- |\n|utf8-jsky1     : OK : OK  | ----- |\n|utf8-jsky2     : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|sjis-au        : OK : OK  | OK    |\n|sjis-au1       : OK : OK  | ----- |\n|sjis-au2       : OK : OK  | ----- |\n|jis-au         : OK : OK  | ----- |\n|jis-au1        : OK : OK  | ----- |\n|jis-au2        : OK : OK  | ----- |\n|sjis-icon-au   : OK : OK  | ----- |\n|sjis-icon-au1  : OK : OK  | ----- |\n|sjis-icon-au2  : OK : OK  | ----- |\n|euc-icon-au    : OK : OK  | ----- |\n|euc-icon-au1   : OK : OK  | ----- |\n|euc-icon-au2   : OK : OK  | ----- |\n|jis-icon-au    : OK : OK  | ----- |\n|jis-icon-au1   : OK : OK  | ----- |\n|jis-icon-au2   : OK : OK  | ----- |\n|utf8-icon-au   : OK : OK  | ----- |\n|utf8-icon-au1  : OK : OK  | ----- |\n|utf8-icon-au2  : OK : OK  | ----- |\n+---------------+----+-----+-------+\n|ascii          : OK : --  | OK    |\n|binary         : OK : OK  | ----- |\n+---------------+----+-----+-------+\n(#): guessed when it has bom.\n\nGUESSING ORDER\n1.  utf32 (#)\n2.  utf16 (#)\n3.  utf32-be\n4.  utf32-le\n5.  ascii\n6.  jis\n7.  sjis-jsky (pp)\n8.  euc\n9.  sjis\n10. sjis-jsky (xs)\n11. sjis-au\n12. sjis-imode\n13. sjis-doti\n14. utf8\n15. unknown\n",
            "subsections": []
        },
        "DESCRIPTION OF UNICODE MAPPING": {
            "content": "Transcoding between Unicode encodings and other ones is performed as below:\n\nShiftJIS\nThis module uses the mapping table of MS-CP932.\n\n<ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT>\n\nWhen the module tries to convert Unicode string to ShiftJIS, it represents most letters which\nisn't available in ShiftJIS as decimal character reference ('&#dddd;'). There is one\nexception to this: every graphic characters for mobile phones are replaced with '?' mark.\n\nFor variants of ShiftJIS defined for mobile phones, every unrepresentable characters are\nreplaced with '?' mark unlike the plain ShiftJIS.\n\nEUC-JP/ISO-2022-JP\nThis module doesn't directly convert Unicode string from/to EUC-JP or ISO-2022-JP: it once\nconverts from/to ShiftJIS and then do the rest translation. So characters which aren't\navailable in the ShiftJIS can not be properly translated.\n\nDoCoMo i-mode\nThis module maps emoji in the range of F800 - F9FF to U+0FF800 - U+0FF9FF.\n\nASTEL dot-i\nThis module maps emoji in the range of F000 - F4FF to U+0FF000 - U+0FF4FF.\n\nJ-PHONE J-SKY\nThe encoding method defined by J-SKY is as follows: first an escape sequence \"\\e\\$\" comes to\nindicate the beginning of emoji, then the first byte of an emoji comes next, then the second\nbytes of at least one emoji comes next, then \"\\x0f\" comes last to indicate the end of emoji.\nIf a string contains a series of emoji whose first bytes are identical, such sequence can be\ncompressed by cascading second bytes of them to the single first byte.\n\nThis module considers a pair of those first and second bytes to be one letter, and map them\nfrom 4500 - 47FF to U+0FFB00 - U+0FFDFF.\n\nWhen the module encodes J-SKY emoji, it performs the compression automatically.\n\nAU\nThis module maps AU emoji to U+0FF500 - U+0FF6FF.\n",
            "subsections": []
        },
        "PurePerl mode": {
            "content": "use Unicode::Japanese qw(PurePerl);\n\nIf you want to explicitly take the pure perl implementation, pass 'PurePerl' to the argument of\nthe \"use\" statement.\n",
            "subsections": []
        },
        "BUGS": {
            "content": "Please report bugs and requests to \"bug-unicode-japanese at rt.cpan.org\" or\n<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Unicode-Japanese>. If you report them to the web\ninterface, any progress to your report will be automatically sent back to you.\n\n* This module doesn't directly convert Unicode string from/to EUC-JP or ISO-2022-JP: it once\nconverts from/to ShiftJIS and then do the rest translation. So characters which aren't\navailable in the ShiftJIS can not be properly translated.\n\n* The XS implementation of getcode() fails to detect the encoding when the given string contains\n\\e while its encoding is EUC-JP or ShiftJIS.\n\n* Japanese.pm is composed of textual perl script and binary character conversion table. If you\ntransfer it on FTP using ASCII mode, the file will collapse.\n",
            "subsections": []
        },
        "SUPPORT": {
            "content": "You can find documentation for this module with the perldoc command.\n\nperldoc Unicode::Japanese\n\nYou can find more information at:\n\n*   AnnoCPAN: Annotated CPAN documentation\n\n<http://annocpan.org/dist/Unicode-Japanese>\n\n*   CPAN Ratings\n\n<http://cpanratings.perl.org/d/Unicode-Japanese>\n\n*   RT: CPAN's request tracker\n\n<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Unicode-Japanese>\n\n*   Search CPAN\n\n<http://search.cpan.org/dist/Unicode-Japanese>\n",
            "subsections": []
        },
        "CREDITS": {
            "content": "Thanks very much to:\n\nNAKAYAMA Nao\n\nSUGIURA Tatsuki & Debian JP Project\n\nCOPYRIGHT & LICENSE\nCopyright 2001-2008 SANO Taku (SAWATARI Mikage) and YAMASHINA Hio, all rights reserved.\n\nThis program is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself.\n",
            "subsections": []
        }
    },
    "summary": "Unicode::Japanese - Convert encoding of japanese text",
    "flags": [],
    "examples": [],
    "see_also": []
}