# perl_xZkqqHx_iCmFiCfBiDgPiDeDiDgHiDfCiBfLiDgIiCpAjCmKiClHiCmGiJlLiCkPiCoJiPoKiNiHiCkKiCkAiCoIiCnMiClHiBeCiKpJjCgN_xHqqkZx_:_xZkqqHx_iBhFiDfMiBhG_xHqqkZx_
# _xZkqqHx_iCfBiDgPiDeDiDgHiDfCiBfLiDgIiCmNiDfCiDiBiDjDiDgHiImKjChFiCmJiMmAiCoJiClBiCmGiBeC_xHqqkZx_

# _xZkqqHx_jBkOjAkLiCmMiMfOiBeC_xHqqkZx_
%type =(
#		'PenType',			'BYTE',
#		'BrushType',		'BYTE',
		'PenStyle',			'PenStyleID',
		'Pattern',			'PatternID',
		'BrushPattern',		'PatternID',
		'Weight',			'fmmetol',
		'PenWeight',		'fmmetol',
		'SFont',			'SFontID',
		'SColor',			'SColorID',
		'ForeSColor',		'SColorID',
		'BackSColor',		'SColorID',
		'PenBackSColor',	'SColorID',
		'BrushForeSColor',	'SColorID',
		'BrushBackSColor',	'SColorID',
		'PenRegister',		'PenRegisterID',
		'BrushRegister',	'BrushRegisterID',
		'EmfImage',			'EmfImageID',
		'ChipGroup',		'ChipGroupID',
		'Chip',				'ChipID',
		'ColorRef',			'ColorRefID',
		'PictArrow',		'PictArrowID',
		'PictArrowF',		'PictArrowID',
		'PictArrowB',		'PictArrowID',
);

# _xZkqqHx_jBkOjAkLiCmMiDfCiDiBiDjDiDgHiBeC_xHqqkZx_
%comm =('PenStyle',			'_xZkqqHx_iDhJiDjDiCmMiDfIiDfOiDeDiDiL_xHqqkZx_(_xZkqqHx_jClMjApM_xHqqkZx_,_xZkqqHx_jDfPjApM_xHqqkZx_,etc)',
		'Pattern',			'_xZkqqHx_jDgIjCnHiClFjHhAjCfAjAeGiDhAiDfOiBfLiDjD_xHqqkZx_(_xZkqqHx_iOmOjApM_xHqqkZx_,etc)',
		'BrushPattern',		'_xZkqqHx_iDhFiDiJiDfGiCmMiDhAiDfOiBfLiDjD_xHqqkZx_',
		'Weight',			'_xZkqqHx_iDhJiDjDiCmMjFjN_xHqqkZx_',
		'PenWeight',		'_xZkqqHx_iDhJiDjDiCmMjFjN_xHqqkZx_',
		'SFont',			'S_xZkqqHx_iDhEiDeIiDjDiDgH_xHqqkZx_',
		'SColor',			'S_xZkqqHx_jAeG_xHqqkZx_',
		'ForeSColor',		'_xZkqqHx_jBePiMgJjAeG_xHqqkZx_',
		'BackSColor',		'_xZkqqHx_jEhHiMgJjAeG_xHqqkZx_',
		'PenBackSColor',	'_xZkqqHx_iDhJiDjDiCmMjEhHiMgJjAeG_xHqqkZx_',
		'BrushForeSColor',	'_xZkqqHx_iDhFiDiJiDfGiCmMjBePiMgJjAeG_xHqqkZx_',
		'BrushBackSColor',	'_xZkqqHx_iDhFiDiJiDfGiCmMjEhHiMgJjAeG_xHqqkZx_',
		'PenRegister',		'_xZkqqHx_iDhJiDjDiCmMjDgPjIfOjGlM_xHqqkZx_',
		'BrushRegister',	'_xZkqqHx_iDhFiDiJiDfGiCmMjDgPjIfOjGlM_xHqqkZx_',
		'EmfImage',			'_xZkqqHx_iDiBiDfOiDhEiDeAiDeDiDiLiDhAiDfOiBfLiDjD_xHqqkZx_',
		'ChipGroup',		'_xZkqqHx_iDgAiDgCiDhGiDePiDiLiBfLiDhG_xHqqkZx_',
		'Chip',				'_xZkqqHx_iDgAiDgCiDhG_xHqqkZx_',
		'ColorRef',			'_xZkqqHx_jCmKiPoNjAeG_xHqqkZx_',
		'PictArrow',		'_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpD_xHqqkZx_',
		'PictArrowF',		'_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpD_xHqqkZx_',
		'PictArrowB',		'_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpD_xHqqkZx_',
);

# _xZkqqHx_jBkOjAkLiCmMiPiJiKpKjCgMiBeC_xHqqkZx_
%value_init =(
#				'PenType',			'FDPT_SOLID',
#				'BrushType',		'FDBT_TRANSP',
				'PenStyle',			'0',
				'Pattern',			"FD_PATTERN_UNUSE",
				'BrushPattern',		"FD_PATTERN_UNUSE",
				'Weight',			'mmroundoff(0.5)',
				'PenWeight',		'mmroundoff(0.5)',
				'SFont',			'0',
				'SColor',			'FD_S_COLOR_BLACK',
				'ForeSColor',		'FD_S_COLOR_BLACK',
				'BackSColor',		'FD_S_COLOR_WHITE',
				'PenBackSColor',	'FD_S_COLOR_BLACK',
				'BrushForeSColor',	'FD_S_COLOR_UNUSE',
#				'BrushBackSColor',	'FD_S_COLOR_WHITE',
				'BrushBackSColor',	'FD_S_COLOR_UNUSE',
				'PenRegister',		"FD_PEN_REGISTER_UNUSE",
				'BrushRegister',	"FD_BRUSH_REGISTER_UNUSE",
				'EmfImage',			"FD_EMF_IMAGE_UNUSE",
				'Chip',				"FD_CHIP_UNUSE",
				'ColorRef',			'FD_COLOR_REF_UNUSE',
				'PictArrow',		"FD_PICT_ARROW_UNUSE",
				'PictArrowF',		"FD_PICT_ARROW_UNUSE",
				'PictArrowB',		"FD_PICT_ARROW_UNUSE",
);

# _xZkqqHx_jBkOjAkLiCmMiBhFjGkCiOgHjHhAiBhGjCgMiBeC_xHqqkZx_
%value_unuse=(	'PenStyle',			"FD_PEN_STYLE_UNUSE",
				'Pattern',			"FD_PATTERN_UNUSE",
				'BrushPattern',		"FD_PATTERN_UNUSE",
				'Weight',			"FD_PEN_WEIGHT_UNUSE",
				'PenWeight',		"FD_PEN_WEIGHT_UNUSE",
				'SFont',			"FD_S_FONT_UNUSE",
				'SColor',			"FD_S_COLOR_UNUSE",
				'ForeSColor',		"FD_S_COLOR_UNUSE",
				'BackSColor',		"FD_S_COLOR_UNUSE",
				'PenBackSColor',	"FD_S_COLOR_UNUSE",
				'BrushForeSColor',	"FD_S_COLOR_UNUSE",
				'BrushBackSColor',	"FD_S_COLOR_UNUSE",
				'PenRegister',		"FD_PEN_REGISTER_UNUSE",
				'BrushRegister',	"FD_BRUSH_REGISTER_UNUSE",
				'EmfImage',			"FD_EMF_IMAGE_UNUSE",
				'Chip',				"FD_CHIP_UNUSE",
				'ColorRef',			'FD_COLOR_REF_UNUSE',
				'PictArrow',		"FD_PICT_ARROW_UNUSE",
				'PictArrowF',		"FD_PICT_ARROW_UNUSE",
				'PictArrowB',		"FD_PICT_ARROW_UNUSE",
);

# _xZkqqHx_jBkOjAkLiCmMiBhFjGkCjCoIiBhGjCgMiBeC_xHqqkZx_
%value_unspec=(	'PenStyle',			"FD_PEN_STYLE_UNSPECIFY",
				'Pattern',			"FD_PATTERN_UNSPECIFY",
				'BrushPattern',		"FD_PATTERN_UNSPECIFY",
				'Weight',			"FD_PEN_WEIGHT_UNSPECIFY",
				'PenWeight',		"FD_PEN_WEIGHT_UNSPECIFY",
				'SFont',			"FD_S_FONT_UNSPECIFY",
				'SColor',			"FD_S_COLOR_UNSPECIFY",
				'ForeSColor',		"FD_S_COLOR_UNSPECIFY",
				'BackSColor',		"FD_S_COLOR_UNSPECIFY",
				'PenBackSColor',	"FD_S_COLOR_UNSPECIFY",
				'BrushForeSColor',	"FD_S_COLOR_UNSPECIFY",
				'BrushBackSColor',	"FD_S_COLOR_UNSPECIFY",
				'PenRegister',		"FD_PEN_REGISTER_UNSPECIFY",
				'BrushRegister',	"FD_BRUSH_REGISTER_UNSPECIFY",
				'EmfImage',			"FD_EMF_IMAGE_UNSPECIFY",
				'Chip',				"FD_CHIP_UNSPECIFY",
				'ColorRef',			'FD_COLOR_REF_UNSPECIFY',
				'PictArrow',		"FD_PICT_ARROW_UNSPECIFY",
				'PictArrowF',		"FD_PICT_ARROW_UNSPECIFY",
				'PictArrowB',		"FD_PICT_ARROW_UNSPECIFY",
);


#%bitf =('PenType',		4,
#		'BrushType',	4);

%pref = (
	'BYTE',				'by',
	'WORD',				'w',
	'DWORD',			'dw',
	'__int64',			'll',
	'FDTIME',			'fdtm',
	'BOOL',				'b',
	'INT',				'i',
	'int',				'i',
	'LONG',				'l',
	'long',				'l',
	'SHORT',			'n',
	'short',			'n',
	'FLOAT',			'f',
	'float',			'f',
	'DOUBLE',			'd',
	'double',			'd',
	'angle',			'ang',
	'dblpnt',			'dbpt',
	'mmetol',			'mm',
	'fmmetol',			'mmf',
	'hixc',				'hix',
	'hic',				'hi',
	'tmsc',				'tms',
	'xtmc',				'xtm',
	'PenStyleID',		'psid',
	'PatternID',		'ptid',
	'EmfImageID',		'emid',
	'SColorID',			'scid',
	'PenRegisterID',	'prid',
	'BrushRegisterID',	'brid',
	'SFontID',			'foid',
	'BYTE*',			'byp',
	'WORD*',			'wp',
	'DWORD*',			'dwp',
	'BOOL*',			'bp',
	'INT*',				'np',
	'int*',				'np',
	'LONG*',			'lp',
	'long*',			'lp',
	'SHORT*',			'np',
	'FLOAT*',			'fp',
	'float*',			'fp',
	'DOUBLE*',			'dp',
	'double*',			'dp',
	'angle*',			'dp',
	'dblpnt*',			'dbptp',
	'PenStyleID*',		'psidp',
	'PatternID*',		'ptidp',
	'EmfImageID*',		'emidp',
	'SColorID*',		'scidp',
	'PenRegisterID*',	'pridp',
	'BrushRegisterID*',	'bridp',
	'_TCHAR*',			'tcp',
	'const _TCHAR*',	'tcp',
	'CString',			'str',
	'WString',			'str',
	'WString',			'str',
	'ColorRefID',		'cr',
	'ChipGroupID',		'cgid',
	'ChipID',			'cpid',
	'PictArrowID',		'paid',
	'wchar_t*',			'wcp',
	'const wchar_t*',	'wcp',
	'GUID',				'guid',
);

# _xZkqqHx_iMfOjFmPiKlHiCmMiKnGjAjEjGlMiDgOiDgCiDfGiDiFiBeC_xHqqkZx_
%typecnvfunc = (
	'hixc>hic',			'hix2hi',
	'hixc>mmetol',		'hix2mm',
	'hixc>fmmetol',		'hix2mm',
	'hic>hixc',			'hi2hix',
	'hic>mmetol',		'hi2mm',
	'hic>fmmetol',		'hi2mm',
	'mmetol>hixc',		'mm2hix',
	'mmetol>hic',		'mm2hi',
	'fmmetol>hixc',		'mm2hix',
	'fmmetol>hic',		'mm2hi',
	'tmsc>xtmc',		'tms2xtm',
	'xtmc>tmsc',		'xtm2tms',
	'xtmc>double',		'xtm2tms',
	'xtmc>angle',		'xtm2tms',
	'xtmc>float',		'xtm2tms',
	'double>xtmc',		'tms2xtm',
	'angle>xtmc',		'tms2xtm',
	'float>xtmc',		'tms2xtm',
);

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_ memb
# _xZkqqHx_iLeAjEfM_xHqqkZx_ _xZkqqHx_iDiBiDjDiDgPiBfLjFmPjAjEjGlMiCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
# _xZkqqHx_iIpIjAjE_xHqqkZx_ _xZkqqHx_jGlMjBeP_xHqqkZx_ @attr_xZkqqHx_jCiGiCmMiCkCiClIiCoKiCkJiBeC_xHqqkZx_
##############################################################
sub memb {
	"m_$pref{$type{$_[0]}}$_[0]";
}

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_ arg
# _xZkqqHx_iLeAjEfM_xHqqkZx_ _xZkqqHx_jFmPjAjEjGlMiCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
# _xZkqqHx_iIpIjAjE_xHqqkZx_ _xZkqqHx_jGlMjBeP_xHqqkZx_ @attr_xZkqqHx_jCiGiCmMiCkCiClIiCoKiCkJiBeC_xHqqkZx_
##############################################################
sub arg {
	"$pref{$type{$_[0]}}$_[0]";
}

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_ typedarg
# _xZkqqHx_iLeAjEfM_xHqqkZx_ _xZkqqHx_jFmPjAjEjGlMiCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
# _xZkqqHx_iIpIjAjE_xHqqkZx_ _xZkqqHx_jGlMjBeP_xHqqkZx_ @attr_xZkqqHx_jCiGiCmMiCkCiClIiCoKiCkJiBeCiBeBiMfOiBeC_xHqqkZx_
##############################################################
sub typedarg {
	"$pref{$_[1]}$_[0]";
}

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_ cnvfncname
# _xZkqqHx_iLeAjEfM_xHqqkZx_ _xZkqqHx_iMfOiCpAjFmPiKlHiClHiCoJiKnGjAjEjGlMiCpAjFnEiClHiBeC_xHqqkZx_
# _xZkqqHx_iIpIjAjE_xHqqkZx_ _xZkqqHx_jFmPiKlHjBePiCmMiMfOiBeBjFmPiKlHiMoDiCmMiMfO_xHqqkZx_
##############################################################
sub cnvfncname {
	local($l_fnc) = $typecnvfunc{"$_[0]>$_[1]"};
	if ($_[0] ne '' and
		$_[1] ne '' and
		$_[0] ne $_[1] and
		$l_fnc eq '')
	{
		$l_fnc = "Error:$_[0]>$_[1] not found";
	}
##----- 05.02.23 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
##	local($l_fnc) = '';
##	if ($_[0] eq 'hixc')
##	{
##		if ($_[1] eq 'hic')
##		{
##			$l_fnc = 'hix2hi';
##		} elsif ($_[1] eq 'mmetol')
##		{
##			$l_fnc = 'hix2mm';
##		} elsif ($_[1] eq 'fmmetol')
##		{
##			$l_fnc = 'hix2mm';
##		}
##	} elsif ($_[0] eq 'hic')
##	{
##		if ($_[1] eq 'hixc')
##		{
##			$l_fnc = 'hi2hix';
##		} elsif ($_[1] eq 'mmetol')
##		{
##			$l_fnc = 'hi2mm';
##		} elsif ($_[1] eq 'fmmetol')
##		{
##			$l_fnc = 'hi2mm';
##		}
##	} elsif ($_[0] eq 'mmetol')
##	{
##		if ($_[1] eq 'hixc')
##		{
##			$l_fnc = 'mm2hix';
##		} elsif ($_[1] eq 'hic')
##		{
##			$l_fnc = 'mm2hi';
##		}
##	} elsif ($_[0] eq 'fmmetol')
##	{
##		if ($_[1] eq 'hixc')
##		{
##			$l_fnc = 'mm2hix';
##		} elsif ($_[1] eq 'hic')
##		{
##			$l_fnc = 'mm2hi';
##		}
##	} elsif ($_[0] eq 'tmsc')
##	{
##		if ($_[1] eq 'xtmc')
##		{
##			$l_fnc = 'tms2xtm';
##		}
##	} elsif ($_[0] eq 'xtmc')
##	{
##		if ($_[1] eq 'tmsc')
##		{
##			$l_fnc = 'xtm2tms';
##		} elsif ($_[1] eq 'double')
##		{
##			$l_fnc = 'xtm2tms';
##		} elsif ($_[1] eq 'float')
##		{
##			$l_fnc = 'xtm2tms';
##		}
##	} elsif ($_[0] eq 'double')
##	{
##		if ($_[1] eq 'xtmc')
##		{
##			$l_fnc = 'tms2xtm';
##		}
##	} elsif ($_[0] eq 'float')
##	{
##		if ($_[1] eq 'xtmc')
##		{
##			$l_fnc = 'tms2xtm';
##		}
##	}
##----- 05.02.23 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	$l_fnc;
} # cnvfncname.

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_	defmemb
# _xZkqqHx_iLeAjEfM_xHqqkZx_	_xZkqqHx_iDhHiDgCiDfPiDhEiDeAiDeDiDiLjCiGiCmMiIpIjAjEjCoIiLgAjFlGiOjKjHpBiCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
# _xZkqqHx_iIpIjAjE_xHqqkZx_	_xZkqqHx_jGlMjBeP_xHqqkZx_	@attr_xZkqqHx_jCiGiCmMiCkCiClIiCoKiCkJiBeC_xHqqkZx_
#		IsBitF	_xZkqqHx_iDhCiDgCiDgHiDhEiDeCiBfLiDiLiDgIiCpAiOgHiCkEiCkJiBeI_xHqqkZx_ 0 or 1
#		IsComm	_xZkqqHx_iDfCiDiBiDjDiDgHiCpAjDpMiCoKiCoJiCkJiBeI_xHqqkZx_ 0 or 1
##############################################################
sub defmemb {
	local($l_name) = shift(@_);
	local($l_bitf) = shift(@_);
	local($l_comm) = shift(@_);
	local($l_str);

	$l_str = " " x 4;
	$l_str .= "$type{$l_name}";
	$l_str .= " " x (20 - length($l_str));	# 20_xZkqqHx_iDeKiDiJiDiAjGnKiCnMiCmFiLpDjEjCiBeC_xHqqkZx_
	$l_str .= "m_$pref{$type{$l_name}}${l_name}";
	if ($l_bitf and $bitf{$l_name}) {
		$l_str .= " " x (36 - length($l_str)); # 36_xZkqqHx_iDeKiDiJiDiAjGnKiCnMiCmFiLpDjEjCiBeC_xHqqkZx_
		$l_str .= ": $bitf{$l_name};";
	} else {
		$l_str .= ";";
	}
	if ($l_comm and $comm{$l_name})
	{
		$l_str .= " " x (44 - length($l_str));	# 44_xZkqqHx_iDeKiDiJiDiAjGnKiCnMiCmFiLpDjEjCiBeC_xHqqkZx_
		$l_str .= "// $comm{$l_name}.";
	}
	$l_str;
}

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_	defvar
# _xZkqqHx_iLeAjEfM_xHqqkZx_	_xZkqqHx_jFmPjAjEjCoIiLgAjFlGiOjKjHpBiCpAiNoMjAkMiClHiCoJiBeC_xHqqkZx_
# _xZkqqHx_iIpIjAjE_xHqqkZx_	_xZkqqHx_jGlMjBeP_xHqqkZx_	@attr_xZkqqHx_jCiGiCmMiCkCiClIiCoKiCkJiBeC_xHqqkZx_
#		IsBitF	_xZkqqHx_iDhCiDgCiDgHiDhEiDeCiBfLiDiLiDgIiCpAiOgHiCkEiCkJiBeI_xHqqkZx_ 0 or 1
#		IsComm	_xZkqqHx_iDfCiDiBiDjDiDgHiCpAjDpMiCoKiCoJiCkJiBeI_xHqqkZx_ 0 or 1
##############################################################
sub defvar {
	local($l_name) = shift(@_);
	local($l_bitf) = shift(@_);
	local($l_comm) = shift(@_);
	local($l_str);

	$l_str = " " x 4;
	$l_str .= "$type{$l_name}";
	$l_str .= " " x (20 - length($l_str));	# 20_xZkqqHx_iDeKiDiJiDiAjGnKiCnMiCmFiLpDjEjCiBeC_xHqqkZx_
	$l_str .= "$pref{$type{$l_name}}${l_name}";
	if ($l_bitf and $bitf{$l_name}) {
		$l_str .= " " x (36 - length($l_str)); # 36_xZkqqHx_iDeKiDiJiDiAjGnKiCnMiCmFiLpDjEjCiBeC_xHqqkZx_
		$l_str .= ": $bitf{$l_name};";
	} else {
		$l_str .= ";";
	}
	if ($l_comm and $comm{$l_name})
	{
		$l_str .= " " x (44 - length($l_str));	# 44_xZkqqHx_iDeKiDiJiDiAjGnKiCnMiCmFiLpDjEjCiBeC_xHqqkZx_
		$l_str .= "// $comm{$l_name}.";
	}
	$l_str;
}

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_	strform
# _xZkqqHx_iLeAjEfM_xHqqkZx_	_xZkqqHx_jFlGiOjKjHpBiCpAjAkMiMfOiClHiCoJiBeC_xHqqkZx_
# _xZkqqHx_iIpIjAjE_xHqqkZx_	_xZkqqHx_jFlGiOjKjHpBiCmMiDiKiDfIiDgHiBeC_xHqqkZx_'x??'(??_xZkqqHx_iCmNjAjEiOjK_xHqqkZx_)_xZkqqHx_iCmMiPoKiNiHiBeB_xHqqkZx_??_xZkqqHx_iCmMiMiFiCnMiCmF_xHqqkZx_
#		_xZkqqHx_iLpDjEjCiCpAiLgMiCnPiCoJiBeC_xHqqkZx_
##############################################################
sub strform
{
	my $l_str = '';
	my $l_i;
	foreach $l_i (@_)
	{
		$l_str .= ($l_i =~ /^x(\d+)/) ?
					' ' x ($1 - length($l_str)) : $l_i;
	}
	$l_str;
}

##############################################################
# _xZkqqHx_iKnGjAjE_xHqqkZx_	ctltofncnm
# _xZkqqHx_iLeAjEfM_xHqqkZx_	_xZkqqHx_iDfCiDjDiDgHiDiNiBfLiDiLjFlGiOjKjHpBiCkJiCoHiKnGjAjEjGlMiCpAjAlGjAkMiClHiCoJiBeC_xHqqkZx_
#		IDC_ARC_EDT_ARC_BGN_R -> IdcArcEdtArcBgnR
# _xZkqqHx_iIpIjAjE_xHqqkZx_	_xZkqqHx_iDfCiDjDiDgHiDiNiBfLiDiLjFlGiOjKjHpBiBeC_xHqqkZx_
##############################################################
sub ctltofncnm
{
	my @l_memb, $l_;
	my $l_ret = '';
	# _xZkqqHx_iCnMiClIiBeBiDfCiDjDiDgHiDiNiBfLiDiLjFlGiOjKjHpBiCpAiPkMjFlGiOjKiCmJjFmPiKlHiClFiBeB_xHqqkZx___xZkqqHx_iImKjChFiCmFiDiKiDfIiDgHiCmJjFkKiKiEiBeC_xHqqkZx_
	@l_memb = split /_/, lc $_[0];

	foreach $l_ (@l_memb)
	{
		# $l__xZkqqHx_iCmMiNmFiPiJiCmMiCfAjFlGiOjKiCpAjBoFjFlGiOjKiCmJjFmPiKlHiBeC_xHqqkZx_
		substr($l_, 0, 1) = uc substr($l_, 0, 1);
		$l_ret .= $l_;
	}
	$l_ret;
} # ctltofncnm.

##########################################################################
# <_xZkqqHx_iKnGjAjE_xHqqkZx_>	PFLowerToUpper
#
# <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iPkMjFlGiOjKiCmGjBoFjFlGiOjKiCmMiNkMiClGiCmBiClNjFlGiOjKjHpBiCkJiCoHjBoFjFlGiOjKiCmMjFlGiOjKjHpBiCpAjAlGjAkMiClHiCoJiBeC_xHqqkZx_
#
# <_xZkqqHx_iIpIjAjE_xHqqkZx_>	_xZkqqHx_jBoG_xHqqkZx_1_xZkqqHx_iIpIjAjE_xHqqkZx_	:_xZkqqHx_iPkMjFlGiOjKjFlGiOjKjHpBiCpAiOhHjCoIiBeC_xHqqkZx_
#
# <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jFmPiKlHiClDiCoKiClNjFlGiOjKjHpBiBeC_xHqqkZx_
#
# <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_jHoBiBeG_xHqqkZx_
#			_xZkqqHx_jBoG_xHqqkZx_1_xZkqqHx_iIpIjAjE_xHqqkZx_	:_xZkqqHx_iBhF_xHqqkZx_IdcArcEdtArcBgnR_xZkqqHx_iBhG_xHqqkZx_
#			_xZkqqHx_jFnEjCgM_xHqqkZx_	:_xZkqqHx_iBhF_xHqqkZx_IDC_ARC_EDT_ARC_BGN_R_xZkqqHx_iBhG_xHqqkZx_
#
# <_xZkqqHx_jHjKjHpA_xHqqkZx_>	03.08.11 Fukushiro M. _xZkqqHx_iDfCiDiBiDjDiDgHiNoMjAkM_xHqqkZx_
##########################################################################
sub PFLowerToUpper
{
	my $l_ret = $_[0];
	# _xZkqqHx_jBoFjFlGiOjKiCpA_xHqqkZx_ __xZkqqHx_jBoFjFlGiOjK_xHqqkZx_ _xZkqqHx_iCnGjFmPiKlHiBeC_xHqqkZx_
	$l_ret =~ s/([A-Z])/_${1}/g;
	# _xZkqqHx_jAoGjDkKiCmM_xHqqkZx_ _ _xZkqqHx_iCpAiNoNiPjMiBeC_xHqqkZx_
	$l_ret =~ s/^_+//;
	# _xZkqqHx_jBfDiCmEjBoFjFlGiOjKiCnGjFmPiKlHiBeC_xHqqkZx_
	uc $l_ret;
} # PFLowerToUpper.

##########################################################################
# <_xZkqqHx_iKnGjAjE_xHqqkZx_>	PFUpperToLower
#
# <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jBoFjFlGiOjKiCmMjFlGiOjKjHpBiCkJiCoHiPkMjFlGiOjKiCmGjBoFjFlGiOjKiCmMiNkMiClGiCmBiClNjFlGiOjKjHpBiCpAjAlGjAkMiClHiCoJiBeC_xHqqkZx_
#
# <_xZkqqHx_iIpIjAjE_xHqqkZx_>	_xZkqqHx_jBoG_xHqqkZx_1_xZkqqHx_iIpIjAjE_xHqqkZx_	:_xZkqqHx_jBoFjFlGiOjKiCmMjFlGiOjKjHpBiCpAiOhHjCoIiBeC_xHqqkZx_
#
# <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jFmPiKlHiClDiCoKiClNjFlGiOjKjHpBiBeC_xHqqkZx_
#
# <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_jHoBiBeG_xHqqkZx_
#			_xZkqqHx_jBoG_xHqqkZx_1_xZkqqHx_iIpIjAjE_xHqqkZx_	:_xZkqqHx_iBhF_xHqqkZx_IDC_ARC_EDT_ARC_BGN_R_xZkqqHx_iBhG_xHqqkZx_
#			_xZkqqHx_jFnEjCgM_xHqqkZx_	:_xZkqqHx_iBhF_xHqqkZx_IdcArcEdtArcBgnR_xZkqqHx_iBhG_xHqqkZx_
#
# <_xZkqqHx_jHjKjHpA_xHqqkZx_>	03.08.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
##########################################################################
sub PFUpperToLower
{
	# _xZkqqHx_jAoGjDkKiCmJ_xHqqkZx_ _ _xZkqqHx_iCpAjFhEiCkPiCoJiBeC_xHqqkZx_
	my $l_ret = "_$_[0]";
	# _xZkqqHx_jBfDiCmEiPkMjFlGiOjKiCnGjFmPiKlHiBeC_xHqqkZx_
	$l_ret = lc $l_ret;
	while ($l_ret =~ /_(.)/)
	{
		local ($l_v) = uc $1;
		$l_ret =~ s/_(.)/$l_v/;
	}
	$l_ret;
} # PFUpperToLower.

1;
