text:
<?xml version='1.0' encoding='utf-8' standalone='no' ?>

<errors>  This table contains all of the error messages generated by core
  avmplus.  This will likely be replaced by a resource table
  for easy localization.
  %o = ScriptObject*
  %t = Traits*
  %m = MethodInfo*
  %n = Multiname (name portion only)
  %N = Multiname (namespace portion only)
  %a = Atom
  %d = int
  %f = double
  %S = Stringp
  %s = char*

  <error id="1000" label="kOutOfMemoryError">
    시스템의 메모리가 부족합니다.
    <description><![CDATA[
		Flash Player needs more memory to compile your code than your system has available.
		Close some of the applications or processes running on your system.
	]]></description></error>

  <error id="1001" label="kNotImplementedError">메서드 %1이(가) 구현되지 않습니다.</error>
  <error id="1002" label="kInvalidPrecisionError">
    정밀도 인수는 %2과 %3 사이의 값이어야 합니다. %1은(는) 유효하지 않습니다.
    <description><![CDATA[
		You specified a value that is not within the expected range of the precision argument. Number.toPrecision has a range of 1 to 21. Number.toFixed and Number.toExponential have a range of 0 to 20.
	]]></description></error>

  <error id="1003" label="kInvalidRadixError">
    기수 인수는 2와 36 사이의 값이어야 하지만 %1입니다.
    <description><![CDATA[
		You passed a value less than 2 or greater than 36 for the radix argument of a method or property.
		Pass a value between 2 and 36 as a radix argument.
	]]></description>  </error>
  <error id="1004" label="kInvokeOnIncompatibleObjectError">
    호환되지 않는 객체에서 메서드 %1을(를) 호출했습니다.
    <description><![CDATA[
		You tried to call a method that is not available to the specified object. This error occurs when
		you have copied a prototype function from one object to another, and then invoked it, but the
		target object is not the same type as the original object. Ensure that the target object and
		original object are the same type. See the ECMAScript Language Specification, 3rd Edition, Chapter 15 for more details.
	]]></description></error>

<error id="1005" label="kArrayIndexNotIntegerError">
    배열 인덱스가 양의 정수(%1)가 아닙니다.
    <description><![CDATA[
		You tried to access a member of an array using an index value that is not a positive integer. Pass only positive integers as index values for arrays.
	]]></description></error>

<error id="1006" label="kCallOfNonFunctionError">
    %1은(는) 함수가 아닙니다.
    <description><![CDATA[
		This error occurs when you attempt to call a function that does not exist.
		Make sure you are calling the correct function, and that the API has
		not changed from ActionScript 2.0. Also, make sure you are using the correct
		object. For example, you will see this error when you use the following code
		(because the last line mistakenly calls the variable big instead
		of blg):

var blg:String = "foo";
var big:Sprite = new Sprite();
var error:int = big.length();

	]]></description></error>
  <error id="1007" label="kConstructOfNonFunctionError">비생성자에서 인스턴스화를 시도했습니다.</error>
  <error id="1008" label="kAmbiguousBindingError">%1은(는) 모호합니다. 일치하는 바인딩이 두 개 이상 있습니다.</error>
  <error id="1009" label="kConvertNullToObjectError">
    null 객체 참조의 속성이나 메서드에 액세스할 수 없습니다.
    <description><![CDATA[
	An object that evaluates to null can have no properties. This error can occur in some unexpected
	(though valid) situations. For example, consider the following code, which creates a Sprite
	object. Because this Sprite object is never added to the display list (through the
	addChild() method of a DisplayObjectContainer object), its stage
	property is set to null. Thus, the example generates this error because Sprite object's stage property
	cannot have any properties:

import flash.display.Sprite;
var sprite1:Sprite = new Sprite();
var q:String = sprite1.stage.quality;

	]]></description></error>

  <error id="1010" label="kConvertUndefinedToObjectError">
    정의되지 않은 용어이며 속성이 없습니다.
    <description><![CDATA[
		This error can occur if you try to access a property of an object that does not exist. For example:

var obj:Object = new Object();
obj.a = "foo";
trace(obj.b.prop);

You can also see this error because of a misspelling, for example in the following, where
		mc represents a MovieClip object in the display list, and the stage
		property is misspelled with a capital S (it should be stage):

trace(mc.Stage.quality);

	]]></description></error>
  <error id="1011" label="kIllegalOpcodeError">
    메서드 %1은(는) 잘못된 opcode %2을(를) 포함하고 있습니다(오프셋 %3에 있음).
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1012" label="kLastInstExceedsCodeSizeError">
    마지막 명령이 코드 크기를 초과했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1013" label="kFindVarWithNoScopeError">
    scopeDepth가 0이면 OP_findproperty를 호출할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1014" label="kClassNotFoundError">클래스 %1을(를) 찾을 수 없습니다.</error>
   <error id="1015" label="kIllegalSetDxns">
    메서드 %1은(는) 기본 xml 네임스페이스를 설정할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1016" label="kDescendentsError">하위 연산자(..)는 %1 유형에서 지원되지 않습니다.</error>
   <error id="1017" label="kScopeStackOverflowError">
    범위 스택 오버플로가 발생했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1018" label="kScopeStackUnderflowError">
    범위 스택 언더플로가 발생했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1019" label="kGetScopeObjectBoundsError">
    Getscopeobject %1이(가) 범위를 벗어났습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>
   <error id="1020" label="kCannotFallOffMethodError">
    코드는 메서드 끝 부분을 벗어날 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1021" label="kInvalidBranchTargetError">
    적어도 하나의 분기 대상이 메서드의 유효한 명령에 있지 않습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1022" label="kIllegalVoidError">
    void 형식은 함수 반환 형식으로만 사용할 수 있습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1023" label="kStackOverflowError">
    스택 오버플로가 발생했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1024" label="kStackUnderflowError">
    스택 언더플로가 발생했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1025" label="kInvalidRegisterError">
    유효하지 않은 레지스터 %1을(를) 액세스했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1026" label="kSlotExceedsCountError">
    슬롯 %1이(가) %3의 slotCount=%2을(를) 초과했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1027" label="kMethodInfoExceedsCountError">
    Method_info %1이(가) method_count=%2을(를) 초과했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1028" label="kDispIdExceedsCountError">
    Disp_id %1이(가) %3의 max_disp_id=%2을(를) 초과했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1029" label="kDispIdUndefinedError">
    Disp_id %1이(가) %2에 정의되어 있지 않습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1030" label="kStackDepthUnbalancedError">
    스택 깊이의 균형이 맞지 않습니다. %1 != %2
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1031" label="kScopeDepthUnbalancedError">
    범위 심도의 균형이 맞지 않습니다. %1 != %2
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1032" label="kCpoolIndexRangeError">
    Cpool 인덱스 %1이(가) 범위 %2을(를) 벗어났습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1033" label="kCpoolEntryWrongTypeError">Cpool 항목 %1은(는) 잘못된 유형입니다.<description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1034" label="kCheckTypeFailedError">유형 강제 변환에 실패했습니다. %1을(를) %2(으)로 변환할 수 없습니다.</error>

   <error id="1035" label="kIllegalSuperCallError">
    메서드 %1에 잘못된 super 표현식이 있습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1037" label="kCannotAssignToMethodError">
    %2의 메서드 %1에 할당할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

<error id="1038" label="kRedefinedError">
    %1이(가) 이미 정의되어 있습니다.
    <description><![CDATA[
		You cannot declare a variable or function with the same identifier name more than once
		within the same scope.
		In ActionScript 3.0, different code blocks (such as those used in two for loops
		in the same function definition) are considered to be in the same scope.
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1039" label="kCannotVerifyUntilReferencedError">
    참조할 때까지 메서드를 확인할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1040" label="kCantUseInstanceofOnNonObjectError">
    instanceof의 오른쪽은 클래스 또는 함수여야 합니다.
    <description><![CDATA[
		The expression on the right side of the instanceof operator must be a class or function.
	]]></description></error>
  <error id="1041" label="kIsTypeMustBeClassError">
    연산자의 오른쪽은 클래스여야 합니다.
    <description><![CDATA[
		The expression on the right side of the is operator must be a class.
	]]></description></error>
   <error id="1042" label="kInvalidMagicError">
    ABC 파일이 아닙니다. major_version=%1 minor_version=%2
    <description><![CDATA[
You are attempting to use an  invalid file with the player: the tool that generates the SWF may be out of date or the SWF itself may be corrupt.
	]]></description></error>
   <error id="1043" label="kInvalidCodeLengthError">
    code_length=%1이(가) 유효하지 않습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1044" label="kInvalidMethodInfoFlagsError">
    flags=%1을(를) 지원하지 않는 MethodInfo-%2입니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

 <error id="1045" label="kUnsupportedTraitsKindError">
    traits kind=%1을(를) 지원하지 않습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1046" label="kMethodInfoOrderError">
    정의하기 전에 MethodInfo-%1을(를) 참조합니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1047" label="kMissingEntryPointError">
    진입점을 찾을 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1049" label="kPrototypeTypeError">
    프로토타입 객체는 vanilla 객체여야 합니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1050" label="kConvertToPrimitiveError">
    %1을(를) 원시 값으로 변환할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1051" label="kIllegalEarlyBindingError">
    %1에 대한 초기 바인딩 액세스가 잘못되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1052" label="kInvalidURIError">
    %1 함수에 유효하지 않은 URI가 전달되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1053" label="kIllegalOverrideError">
    %2의 %1에 대한 재정의가 잘못되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1054" label="kIllegalExceptionHandlerError">
    예외 핸들러의 범위 또는 대상 오프셋이 잘못되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1056" label="kWriteSealedError">
    %2에 속성 %1을(를) 만들 수 없습니다.
    <description><![CDATA[
	You are trying to assign a value to a nonexistent property on an instance of a non-dynamic
	class. This is only possible for instances of dynamic classes]]></description></error>

 <error id="1057" label="kIllegalSlotError">
    %1은(는) 메서드만 포함할 수 있습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1058" label="kIllegalOperandTypeError">
    피연산자 유형이 잘못되었습니다. %1은(는) %2이어야 합니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1059" label="kClassInfoOrderError">
    정의하기 전에 ClassInfo-%1을(를) 참조합니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1060" label="kClassInfoExceedsCountError">
    ClassInfo %1이(가) class_count=%2을(를) 초과했습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

<error id="1061" label="kNumberOutOfRangeError">
    정밀도의 손상 없이는 값 %1을(를) %2(으)로 변환할 수 없습니다.
    <description><![CDATA[

		This error appears if you attempt to assign a decimal number to a property that has data type
		int.

This error also appears for out-of-range assignments, such as the following:

var m0:int = 2147483648; // int.MAX_VALUE == 2147483647

You can also see this error when using the bitwise left shift operator (&lt&lt).
		For example, consider the following code:

var m0:uint = 0xFF;
var m1:uint = m0&lt&lt24;

The result of left shift operator (&lt&lt) is interpreted as a 32-bit two's complement number
		with sign. In the example, the result is a negative value, which causes the error when assigned
		to the uint typed property. A workaround is the following:

var m0:uint = 0xFF;
var m1:uint = uint(m0<<24);

	]]></description></error>

  <error id="1063" label="kWrongArgumentCountError">%1에서 인수 개수가 일치하지 않습니다. %2개가 필요하지만 %3개가 있습니다.</error>
  <error id="1064" label="kCannotCallMethodAsConstructor">
    메서드 %1을(를) 생성자로 호출할 수 없습니다.
    <description><![CDATA[
	Extracted methods are permanently bound to the object they are extracted from.
	Therefore, they can not later be called as a constructor. For example, the following
	creates function f() in Class A:

class A {
	   function f() {}
	}

	In the following code, extracting the function causes no error. However, creating
	a new instance of the function causes an error.

var a = new A()
	var m = a.f // extract f, don't call it
	m() // same as a.f()
	new m() // causes this error

	]]></description></error>
  <error id="1065" label="kUndefinedVarError">
    변수 %1이(가) 정의되어 있지 않습니다.
    <description><![CDATA[
	You are using an undefined lexical reference. For example, in the following statements, the
	statement trace(x) generates an error because x is undefined. However, the
	statement trace(y) doesn't generate an error because y is defined:

trace("hello world")
	trace(x) // x is undefined
	var y
	trace(y) // No error, y is defined.

	]]></description></error>
  <error id="1066" label="kFunctionConstructorError">
    양식 함수('함수 본문')는 지원되지 않습니다.
    <description><![CDATA[
	Unlike JavaScript, Flash does not compile code on-the-fly using eval() and
	function().  Thus, calling these as a constructor in ActionScript 3.0 generates this error.
	]]></description></error>

<error id="1067" label="kIllegalNativeMethodBodyError">
    기본 메서드 %1의 메서드 본문이 잘못되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

<error id="1068" label="kCannotMergeTypesError">
    %1과(와) %2을(를) 조정할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1069" label="kReadSealedError">
    %2에서 속성 %1을(를) 찾을 수 없습니다. 기본값이 없습니다.
    <description><![CDATA[
	You are referencing an undefined property on a non-dynamic class instance. For example, the following generates this error when it references property
	x, which is not defined and cannot be created dynamically:

class A {} // sealed class, not dynamic
	trace(new A().x) // no property x defined on A, and A is not dynamic

	]]></description></error>
  <error id="1070" label="kCallNotFoundError">
    %2에서 메서드 %1을(를) 찾을 수 없습니다.
    <description><![CDATA[
	You are using a super statement to call a function, but the function doesn't exist in the super class.
	For example, the following code generates the error:
class A() {}
class B extends A {
  function f() { trace(super.f()); } // error 1070, there is no f on A
}

	]]></description></error>
  <error id="1071" label="kAlreadyBoundError">함수 %1이(가) 이미 %2에 바인딩되었습니다.</error>

<error id="1072" label="kZeroDispIdError">
    Disp_id 0이 잘못되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1073" label="kDuplicateDispIdError">
    복제된 disp_id %2(으)로 인해 재정의되지 않은 메서드 %1이(가) 대체되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

<error id="1074" label="kConstWriteError">%2의 읽기 전용 속성 %1에는 쓸 수 없습니다.</error>
  <error id="1075" label="kMathNotFunctionError">
    Math는 함수가 아닙니다.
    <description><![CDATA[
	You are trying to call math() as a function, but the Math class is a class with static methods.
	]]></description></error>
  <error id="1076" label="kMathNotConstructorError">
    Math는 생성자가 아닙니다.
    <description><![CDATA[
	You can not instantiate the Math class.
 	]]></description></error>

  <error id="1077" label="kWriteOnlyError">%2의 쓰기 전용 속성 %1은(는) 읽을 수 없습니다.</error>
   <error id="1078" label="kIllegalOpMultinameError">
    잘못된 opcode/multiname 조합입니다. %1<%2>.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1079" label="kIllegalNativeMethodError">
    로드된 코드에는 기본 메서드를 사용할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1080" label="kIllegalNamespaceError">
    네임스페이스의 값이 잘못되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1081" label="kReadSealedErrorNs">속성 %1을(를) %2에서 찾을 수 없습니다. 기본값이 없습니다.</error>

 <error id="1082" label="kNoDefaultNamespaceError">
    기본 네임스페이스가 설정되지 않았습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1083" label="kXMLPrefixNotBound">
    요소 "%2"에 대한 접두어 "%1"이(가) 바인딩되지 않았습니다.
    <description><![CDATA[
	An attribute name or element name has a prefix but no matching namespace was
	found. This statement generates an error because there is no foo
	namespace to match foo:x:
<foo:x xmlns:clowns='http://circuscenter.org'>

		]]></description></error>

  <error id="1084" label="kXMLBadQName">
    요소 또는 속성("%1")이 QName 생성 규칙과 일치하지 않습니다. QName::=(NCName':')?NCName
    <description><![CDATA[
	You have foo:  or :foo as an element or attribute name, but there is nothing
	on the other side of the colon.
	]]></description></error>
  <error id="1085" label="kXMLUnterminatedElementTag">요소 유형 "%1"은(는) 일치하는 끝 태그 "</%2>"(으)로 끝나야 합니다.</error>
  <error id="1086" label="kXMLOnlyWorksWithOneItemLists">
    %1 메서드는 항목 하나를 포함한 목록에서만 작동합니다.
    <description><![CDATA[
	The XMLList class propagates the XML-specific functions to one child if it has only one
	item in its list. If more than one item is in the list, the routines fail with this
	error. This happens for the following XMLList functions that mimic XML functions:

addNamespace, appendChild,  childIndex,
	inScopeNamespaces,  insertChildAfter,  insertChildBefore,
	name,  namespace,  localName,  namespaceDeclarations,
	nodeKind,  prependChild,  removeNamespace,  replace,
	setChildren,  setLocalName,  setName,  and setNamespace.

	]]></description></error>
  <error id="1087" label="kXMLAssignmentToIndexedXMLNotAllowed">인덱싱된 XML에 할당할 수 없습니다.</error>
  <error id="1088" label="kXMLMarkupMustBeWellFormed">
    루트 요소 다음에 나오는 문서 내의 태그는 올바른 형식이어야 합니다.
    <description><![CDATA[
	These are possible causes of this error:

Parsing an XMLList style object as XML

Misbalanced strings

	]]></description></error>

  <error id="1089" label="kXMLAssigmentOneItemLists">둘 이상의 항목이 있는 목록에 할당이 지원되지 않습니다.</error>
  <error id="1090" label="kXMLMalformedElement">
    XML 파서 실패: 요소가 잘못되었습니다.
    <description><![CDATA[
	An element name is malformed. This example of an element name is malformed because a
	trailing right angle bracket > is missing:

<a/><b></b
	]]></description></error>

  <error id="1091" label="kXMLUnterminatedCData">XML 파서 실패: CDATA 섹션이 종결되지 않았습니다.</error>
  <error id="1092" label="kXMLUnterminatedXMLDecl">XML 파서 실패: XML 선언이 종결되지 않았습니다.</error>
  <error id="1093" label="kXMLUnterminatedDocTypeDecl">XML 파서 실패: DOCTYPE 선언이 종결되지 않았습니다.</error>
  <error id="1094" label="kXMLUnterminatedComment">XML 파서 실패: 주석이 종결되지 않았습니다.</error>
  <error id="1095" label="kXMLUnterminatedAttribute">XML 파서 실패: 속성이 종결되지 않았습니다.</error>
  <error id="1096" label="kXMLUnterminatedElement">XML 파서 실패: 요소가 종결되지 않았습니다.</error>
  <error id="1097" label="kXMLUnterminatedProcessingInstruction">XML 파서 실패: 처리 명령이 종결되지 않았습니다.</error>
  <error id="1098" label="kXMLNamespaceWithPrefixAndNoURI">
    네임스페이스 없음에 대한 접두어 %1이(가) 잘못되었습니다.
    <description><![CDATA[
	The namespace constructor throws this error if you try to pass in an empty URI with a
	non-empty prefix as in this example:

ns = new Namespace ("prefix", "");
	]]></description></error>

  <error id="1100" label="kRegExpFlagsArgumentError">
    다른 RegExp로부터 하나의 RegExp를 만드는 경우 플래그를 제공할 수 없습니다.
    <description><![CDATA[
	Creating a new regular expression from an existing one also copies its flags. To create a regular expression with
	different flags, use the new operator and set the flags as desired. For example, this statement
	creates a regular expression and specifies flag settings:

var re:RegExp = new RegExp("ali", /s)

	Alternatively, this statement creates a regular expression that has the same flags as re:

var re2:RegExp = new RegExp(re, ...)
 	]]></description></error>

   <error id="1101" label="kNoScopeError">
    범위를 알 수 없는 메서드 %1은(는) 확인할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1102" label="kIllegalDefaultValue">
    유형 %1의 기본값이 잘못되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1103" label="kCannotExtendFinalClass">
    클래스 %1은(는) 최종 기본 클래스를 확장할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1104" label="kXMLDuplicateAttribute">속성 "%1"이(가) 요소 "%2"에 대해 이미 지정되었습니다.</error>

  <error id="1107" label="kCorruptABCError">
    ABC 데이터가 손상되었으며 범위를 벗어나는 읽기를 시도합니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1108" label="kInvalidBaseClassError">
    OP_newclass opcode가 잘못된 기본 클래스에서 사용되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1109" label="kDanglingFunctionError">
    언바운드 함수 %1을(를) 메서드 %2(으)로부터 직접 호출하려고 시도합니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1110" label="kCannotExtendError">
    %1은(는) %2을(를) 확장할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1111" label="kCannotImplementError">
    %1은(는) %2을(를) 구현할 수 없습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

   <error id="1112" label="kCoerceArgumentCountError">인수 개수가 클래스 강제 변환 시 일치하지 않습니다.  1개가 필요하지만 %1개가 있습니다.</error>
   <error id="1113" label="kInvalidNewActivationError">
    NEED_ACTIVATION 플래그가 없는 메서드에 OP_newactivation이 사용되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1114" label="kNoGlobalScopeError">
    전역 범위 없이 OP_getglobalslot 또는 OP_setglobalslot이 사용되었습니다.
    <description><![CDATA[
		See the note at the bottom of this table.*
	]]></description></error>

  <error id="1115" label="kNotConstructorError">%1은(는) 생성자가 아닙니다.</error>
  <error id="1116" label="kApplyError">Function.prototype.apply의 두 번째 인수는 배열이어야 합니다.</error>
  <error id="1117" label="kXMLInvalidName">잘못된 XML 이름: %1</error>
  <error id="1118" label="kXMLIllegalCyclicalLoop">노드 사이의 순환 루프가 잘못되었습니다.</error>
  <error id="1119" label="kDeleteTypeError">유형 %1의 피연산자에 대해서는 Delete 연산자가 지원되지 않습니다.</error>
  <error id="1120" label="kDeleteSealedError">%2의 속성 %1을(를) 삭제할 수 없습니다.</error>
  <error id="1121" label="kDuplicateMethodBodyError">메서드 %1에 복제된 메서드 본문이 있습니다.</error>
   <error id="1122" label="kIllegalInterfaceMethodBodyError">인터페이스 메서드 %1에 잘못된 메서드 본문이 있습니다.</error>
  <error id="1123" label="kFilterError">유형 %1에서는 필터 연산자가 지원되지 않습니다.</error>
  <error id="1124" label="kInvalidHasNextError">OP_hasnext2는 개별 레지스터가 되려면 객체 및 인덱스가 있어야 합니다.</error>
  <error id="1125" label="kOutOfRangeError">인덱스 %1이(가) 범위 %2을(를) 벗어났습니다.</error>
  <error id="1126" label="kVectorFixedError">고정된 벡터의 길이를 변경할 수 없습니다.</error>
  <error id="1127" label="kTypeAppOfNonParamType">매개 변수가 없는 유형에서 유형을 적용하려고 했습니다.</error>
  <error id="1128" label="kWrongTypeArgCountError">%1에 대한 형식 매개 변수의 개수가 잘못되었습니다. %2개가 필요하지만 %3개가 있습니다.</error>

  <error id="1500" hidden="true" label="kFileOpenError">파일 %1을(를) 여는 동안 오류가 발생했습니다.</error>
  <error id="1501" hidden="true" label="kFileWriteError">
    파일 %1에 쓰는 동안 오류가 발생했습니다.
    <description><![CDATA[
		The file you are writing to cannot be opened. Possibly the filename contains an error, the file is read-only, or
		you do not have access privileges.
	  	]]></description>
		</error>
  <error id="1502" label="kScriptTimeoutError">
    스크립트 실행 시간이 기본 제한 시간인 15초를 초과했습니다.
    <description><![CDATA[
		A script executed after the timeout period. (The default timeout period is 15 seconds.) After this error occurs, the
		script can continue to execute for 15 seconds more, after which the script terminates and throws run-time error number 1503 (A script failed to exit after 30 seconds and was terminated.)
	]]></description>
 </error>
  <error id="1503" label="kScriptTerminatedError">
    스크립트가 30초 후에도 끝나지 않아 종료했습니다.
    <description><![CDATA[
	  The script was still executing after 30 seconds. Flash Player first throws run-time error number 1502 (A script has executed for longer than the default timeout period of 15 seconds.) if the script executed more than 15
	  seconds, which is the default timeout period. This error occurs 15 seconds after Error 1502 occurs.
	]]></description></error>
	 <error id="1504" hidden="true" label="kEndOfFileError">
    파일의 끝입니다.
    <description><![CDATA[
	  Flash Player unexpectedly encountered the end of the file. Possibly the file was not saved correctly or Flash Player expected more data
	  in the file.
	]]></description>
  </error>
  <error id="1505" hidden="true" label="kStringIndexOutOfBoundsError">문자열 인덱스 %1이(가) 범위를 벗어났습니다. %2와 %3 사이의 범위에 있어야 합니다.</error>
  <error id="1506" hidden="true" label="kInvalidRangeError">
    유효하지 않은 범위가 지정되었습니다.
    <description><![CDATA[
	The method's start parameter is greater than its end parameter.
	]]></description></error>
  <error id="1507" label="kNullArgumentError">인수 %1은(는) null일 수 없습니다.</error>
  <error id="1508" label="kInvalidArgumentError">
    인수 %1에 지정된 값이 유효하지 않습니다.
    <description><![CDATA[
	You are possibly trying to pass the wrong data type. For example, the code

public function doSomething(const:int):void {
	}
	this ["doSomething"] ("str")

	generates an error at runtime because doSomething is cast as an int data type.	]]></description></error>

  <error id="1509" hidden="true" label="kShellCompressedDataError">
    데이터의 압축을 푸는 동안 오류가 발생했습니다.
    <description><![CDATA[
	The de-compressor reached the end of the stream, but more data was expected. The compressed data
	stream is probably corrupted.
	]]></description></error>
  <error id="1510" label="kArrayFilterNonNullObjectError">콜백 인수가 클래스의 메서드인 경우 선택적 인수 'this'는 null이어야 합니다.</error>
</errors>


text:
// ============================================================================
//
// Copyright (c) 2006-2015, Talend Inc.
//
// This source code has been automatically generated by_Talend Open Studio for Data Integration
// / Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package local_project.test_0_1;

import routines.Numeric;
import routines.DataOperation;
import routines.TalendDataGenerator;
import routines.TalendStringUtil;
import routines.TalendString;
import routines.StringHandling;
import routines.TalendDate;
import routines.Relational;
import routines.Mathematical;
import routines.system.*;
import routines.system.api.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import java.io.ByteArrayOutputStream;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.ObjectOutputStream;
import java.io.ObjectInputStream;
import java.io.IOException;
import java.util.Comparator;

@SuppressWarnings("unused")

/**
 * Job: Test Purpose:

 * Description:

 * @author user@talend.com
 * @version 7.3.1.20200219_1130
 * @status
 */
public class Test implements TalendJob {

protected static void logIgnoredError(String message, Throwable cause) {
       System.err.println(message);
       if (cause != null) {
               cause.printStackTrace();
       }

}

	public final Object obj = new Object();

	// for transmiting parameters purpose
	private Object valueObject = null;

	public Object getValueObject() {
		return this.valueObject;
	}

	public void setValueObject(Object valueObject) {
		this.valueObject = valueObject;
	}

	private final static String defaultCharset = java.nio.charset.Charset.defaultCharset().name();

	private final static String utf8Charset = "UTF-8";
	//contains type for every context property
	public class PropertiesWithType extends java.util.Properties {
		private static final long serialVersionUID = 1L;
		private java.util.Map<String,String> propertyTypes = new java.util.HashMap<>();

		public PropertiesWithType(java.util.Properties properties){
			super(properties);
		}
		public PropertiesWithType(){
			super();
		}

		public void setContextType(String key, String type) {
			propertyTypes.put(key,type);
		}

		public String getContextType(String key) {
			return propertyTypes.get(key);
		}
	}

	// create and load default properties
	private java.util.Properties defaultProps = new java.util.Properties();
	// create application properties with default
	public class ContextProperties extends PropertiesWithType {

		private static final long serialVersionUID = 1L;

		public ContextProperties(java.util.Properties properties){
			super(properties);
		}
		public ContextProperties(){
			super();
		}

		public void synchronizeContext(){

		}

	}
	protected ContextProperties context = new ContextProperties(); // will be instanciated by MS.
	public ContextProperties getContext() {
		return this.context;
	}
	private final String jobVersion = "0.1";
	private final String jobName = "Test";
	private final String projectName = "LOCAL_PROJECT";
	public Integer errorCode = null;
	private String currentComponent = "";

		private final java.util.Map<String, Object> globalMap = new java.util.HashMap<String, Object>();
        private final static java.util.Map<String, Object> junitGlobalMap = new java.util.HashMap<String, Object>();

		private final java.util.Map<String, Long> start_Hash = new java.util.HashMap<String, Long>();
		private final java.util.Map<String, Long> end_Hash = new java.util.HashMap<String, Long>();
		private final java.util.Map<String, Boolean> ok_Hash = new java.util.HashMap<String, Boolean>();
		public  final java.util.List<String[]> globalBuffer = new java.util.ArrayList<String[]>();

private RunStat runStat = new RunStat();

	// OSGi DataSource
	private final static String KEY_DB_DATASOURCES = "KEY_DB_DATASOURCES";

	private final static String KEY_DB_DATASOURCES_RAW = "KEY_DB_DATASOURCES_RAW";

	public void setDataSources(java.util.Map<String, javax.sql.DataSource> dataSources) {
		java.util.Map<String, routines.system.TalendDataSource> talendDataSources = new java.util.HashMap<String, routines.system.TalendDataSource>();
		for (java.util.Map.Entry<String, javax.sql.DataSource> dataSourceEntry : dataSources.entrySet()) {
			talendDataSources.put(dataSourceEntry.getKey(), new routines.system.TalendDataSource(dataSourceEntry.getValue()));
		}
		globalMap.put(KEY_DB_DATASOURCES, talendDataSources);
		globalMap.put(KEY_DB_DATASOURCES_RAW, new java.util.HashMap<String, javax.sql.DataSource>(dataSources));
	}

private final java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
private final java.io.PrintStream errorMessagePS = new java.io.PrintStream(new java.io.BufferedOutputStream(baos));

public String getExceptionStackTrace() {
	if ("failure".equals(this.getStatus())) {
		errorMessagePS.flush();
		return baos.toString();
	}
	return null;
}

private Exception exception;

public Exception getException() {
	if ("failure".equals(this.getStatus())) {
		return this.exception;
	}
	return null;
}

private class TalendException extends Exception {

	private static final long serialVersionUID = 1L;

	private java.util.Map<String, Object> globalMap = null;
	private Exception e = null;
	private String currentComponent = null;
	private String virtualComponentName = null;

	public void setVirtualComponentName (String virtualComponentName){
		this.virtualComponentName = virtualComponentName;
	}

	private TalendException(Exception e, String errorComponent, final java.util.Map<String, Object> globalMap) {
		this.currentComponent= errorComponent;
		this.globalMap = globalMap;
		this.e = e;
	}

	public Exception getException() {
		return this.e;
	}

	public String getCurrentComponent() {
		return this.currentComponent;
	}

    public String getExceptionCauseMessage(Exception e){
        Throwable cause = e;
        String message = null;
        int i = 10;
        while (null != cause && 0 < i--) {
            message = cause.getMessage();
            if (null == message) {
                cause = cause.getCause();
            } else {
                break;
            }
        }
        if (null == message) {
            message = e.getClass().getName();
        }
        return message;
    }

	@Override
	public void printStackTrace() {
		if (!(e instanceof TalendException || e instanceof TDieException)) {
			if(virtualComponentName!=null && currentComponent.indexOf(virtualComponentName+"_")==0){
				globalMap.put(virtualComponentName+"_ERROR_MESSAGE",getExceptionCauseMessage(e));
			}
			globalMap.put(currentComponent+"_ERROR_MESSAGE",getExceptionCauseMessage(e));
			System.err.println("Exception in component " + currentComponent + " (" + jobName + ")");
		}
		if (!(e instanceof TDieException)) {
			if(e instanceof TalendException){
				e.printStackTrace();
			} else {
				e.printStackTrace();
				e.printStackTrace(errorMessagePS);
				Test.this.exception = e;
			}
		}
		if (!(e instanceof TalendException)) {
		try {
			for (java.lang.reflect.Method m : this.getClass().getEnclosingClass().getMethods()) {
				if (m.getName().compareTo(currentComponent + "_error") == 0) {
					m.invoke(Test.this, new Object[] { e , currentComponent, globalMap});
					break;
				}
			}

			if(!(e instanceof TDieException)){
			}
		} catch (Exception e) {
			this.e.printStackTrace();
		}
		}
	}
}

			public void tDBInput_1_error(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {

				end_Hash.put(errorComponent, System.currentTimeMillis());

				status = "failure";

					tDBInput_1_onSubJobError(exception, errorComponent, globalMap);
			}

			public void tMap_1_error(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {

				end_Hash.put(errorComponent, System.currentTimeMillis());

				status = "failure";

					tDBInput_1_onSubJobError(exception, errorComponent, globalMap);
			}

			public void tDBOutput_1_error(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {

				end_Hash.put(errorComponent, System.currentTimeMillis());

				status = "failure";

					tDBInput_1_onSubJobError(exception, errorComponent, globalMap);
			}

			public void tLogRow_1_error(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {

				end_Hash.put(errorComponent, System.currentTimeMillis());

				status = "failure";

					tLogRow_1_onSubJobError(exception, errorComponent, globalMap);
			}

			public void tDBInput_1_onSubJobError(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {

resumeUtil.addLog("SYSTEM_LOG", "NODE:"+ errorComponent, "", Thread.currentThread().getId()+ "", "FATAL", "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception),"");

			}
			public void tLogRow_1_onSubJobError(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {

resumeUtil.addLog("SYSTEM_LOG", "NODE:"+ errorComponent, "", Thread.currentThread().getId()+ "", "FATAL", "", exception.getMessage(), ResumeUtil.getExceptionStackTrace(exception),"");

			}

public static class out1Struct implements routines.system.IPersistableRow<out1Struct> {
    final static byte[] commonByteArrayLock_LOCAL_PROJECT_Test = new byte[0];
    static byte[] commonByteArray_LOCAL_PROJECT_Test = new byte[0];

			    public int id;

				public int getId () {
					return this.id;
				}

			    public String name;

				public String getName () {
					return this.name;
				}

	private String readString(ObjectInputStream dis) throws IOException{
		String strReturn = null;
		int length = 0;
        length = dis.readInt();
		if (length == -1) {
			strReturn = null;
		} else {
			if(length > commonByteArray_LOCAL_PROJECT_Test.length) {
				if(length < 1024 && commonByteArray_LOCAL_PROJECT_Test.length == 0) {
   					commonByteArray_LOCAL_PROJECT_Test = new byte[1024];
				} else {
   					commonByteArray_LOCAL_PROJECT_Test = new byte[2 * length];
   				}
			}
			dis.readFully(commonByteArray_LOCAL_PROJECT_Test, 0, length);
			strReturn = new String(commonByteArray_LOCAL_PROJECT_Test, 0, length, utf8Charset);
		}
		return strReturn;
	}

    private void writeString(String str, ObjectOutputStream dos) throws IOException{
		if(str == null) {
            dos.writeInt(-1);
		} else {
            byte[] byteArray = str.getBytes(utf8Charset);
	    	dos.writeInt(byteArray.length);
			dos.write(byteArray);
    	}
    }

    public void readData(ObjectInputStream dis) {

		synchronized(commonByteArrayLock_LOCAL_PROJECT_Test) {

        	try {

        		int length = 0;

			        this.id = dis.readInt();

					this.name = readString(dis);

        	} catch (IOException e) {
	            throw new RuntimeException(e);

        }

      }

    }

    public void writeData(ObjectOutputStream dos) {
        try {

					// int

		            	dos.writeInt(this.id);

					// String

						writeString(this.name,dos);

        	} catch (IOException e) {
	            throw new RuntimeException(e);
        }

    }

    public String toString() {

		StringBuilder sb = new StringBuilder();
		sb.append(super.toString());
		sb.append("[");
		sb.append("id="+String.valueOf(id));
		sb.append(",name="+name);
	    sb.append("]");

	    return sb.toString();
    }

    /**
     * Compare keys
     */
    public int compareTo(out1Struct other) {

		int returnValue = -1;

	    return returnValue;
    }

    private int checkNullsAndCompare(Object object1, Object object2) {
        int returnValue = 0;
		if (object1 instanceof Comparable && object2 instanceof Comparable) {
            returnValue = ((Comparable) object1).compareTo(object2);
        } else if (object1 != null && object2 != null) {
            returnValue = compareStrings(object1.toString(), object2.toString());
        } else if (object1 == null && object2 != null) {
            returnValue = 1;
        } else if (object1 != null && object2 == null) {
            returnValue = -1;
        } else {
            returnValue = 0;
        }

        return returnValue;
    }

    private int compareStrings(String string1, String string2) {
        return string1.compareTo(string2);
    }

}

public static class row1Struct implements routines.system.IPersistableRow<row1Struct> {
    final static byte[] commonByteArrayLock_LOCAL_PROJECT_Test = new byte[0];
    static byte[] commonByteArray_LOCAL_PROJECT_Test = new byte[0];

			    public int id;

				public int getId () {
					return this.id;
				}

			    public String name;

				public String getName () {
					return this.name;
				}

	private String readString(ObjectInputStream dis) throws IOException{
		String strReturn = null;
		int length = 0;
        length = dis.readInt();
		if (length == -1) {
			strReturn = null;
		} else {
			if(length > commonByteArray_LOCAL_PROJECT_Test.length) {
				if(length < 1024 && commonByteArray_LOCAL_PROJECT_Test.length == 0) {
   					commonByteArray_LOCAL_PROJECT_Test = new byte[1024];
				} else {
   					commonByteArray_LOCAL_PROJECT_Test = new byte[2 * length];
   				}
			}
			dis.readFully(commonByteArray_LOCAL_PROJECT_Test, 0, length);
			strReturn = new String(commonByteArray_LOCAL_PROJECT_Test, 0, length, utf8Charset);
		}
		return strReturn;
	}

    private void writeString(String str, ObjectOutputStream dos) throws IOException{
		if(str == null) {
            dos.writeInt(-1);
		} else {
            byte[] byteArray = str.getBytes(utf8Charset);
	    	dos.writeInt(byteArray.length);
			dos.write(byteArray);
    	}
    }

    public void readData(ObjectInputStream dis) {

		synchronized(commonByteArrayLock_LOCAL_PROJECT_Test) {

        	try {

        		int length = 0;

			        this.id = dis.readInt();

					this.name = readString(dis);

        	} catch (IOException e) {
	            throw new RuntimeException(e);

        }

      }

    }

    public void writeData(ObjectOutputStream dos) {
        try {

					// int

		            	dos.writeInt(this.id);

					// String

						writeString(this.name,dos);

        	} catch (IOException e) {
	            throw new RuntimeException(e);
        }

    }

    public String toString() {

		StringBuilder sb = new StringBuilder();
		sb.append(super.toString());
		sb.append("[");
		sb.append("id="+String.valueOf(id));
		sb.append(",name="+name);
	    sb.append("]");

	    return sb.toString();
    }

    /**
     * Compare keys
     */
    public int compareTo(row1Struct other) {

		int returnValue = -1;

	    return returnValue;
    }

    private int checkNullsAndCompare(Object object1, Object object2) {
        int returnValue = 0;
		if (object1 instanceof Comparable && object2 instanceof Comparable) {
            returnValue = ((Comparable) object1).compareTo(object2);
        } else if (object1 != null && object2 != null) {
            returnValue = compareStrings(object1.toString(), object2.toString());
        } else if (object1 == null && object2 != null) {
            returnValue = 1;
        } else if (object1 != null && object2 == null) {
            returnValue = -1;
        } else {
            returnValue = 0;
        }

        return returnValue;
    }

    private int compareStrings(String string1, String string2) {
        return string1.compareTo(string2);
    }

}
public void tDBInput_1Process(final java.util.Map<String, Object> globalMap) throws TalendException {
	globalMap.put("tDBInput_1_SUBPROCESS_STATE", 0);

 final boolean execStat = this.execStat;

		String iterateId = "";

	String currentComponent = "";
	java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();

	try {
			// TDI-39566 avoid throwing an useless Exception
			boolean resumeIt = true;
			if (globalResumeTicket == false && resumeEntryMethodName != null) {
				String currentMethodName = new java.lang.Exception().getStackTrace()[0].getMethodName();
				resumeIt = resumeEntryMethodName.equals(currentMethodName);
			}
			if (resumeIt || globalResumeTicket) { //start the resume
				globalResumeTicket = true;

		row1Struct row1 = new row1Struct();
out1Struct out1 = new out1Struct();

	/**
	 * [tDBOutput_1 begin ] start
	 */

		ok_Hash.put("tDBOutput_1", false);
		start_Hash.put("tDBOutput_1", System.currentTimeMillis());

	currentComponent="tDBOutput_1";

					if(execStat) {
						runStat.updateStatOnConnection(resourceMap,iterateId,0,0,"out1");
					}

		int tos_count_tDBOutput_1 = 0;

int nb_line_tDBOutput_1 = 0;
int nb_line_update_tDBOutput_1 = 0;
int nb_line_inserted_tDBOutput_1 = 0;
int nb_line_deleted_tDBOutput_1 = 0;
int nb_line_rejected_tDBOutput_1 = 0;

int deletedCount_tDBOutput_1=0;
int updatedCount_tDBOutput_1=0;
int insertedCount_tDBOutput_1=0;

int rejectedCount_tDBOutput_1=0;

String tableName_tDBOutput_1 = "test";
boolean whetherReject_tDBOutput_1 = false;

java.util.Calendar calendar_tDBOutput_1 = java.util.Calendar.getInstance();
calendar_tDBOutput_1.set(1, 0, 1, 0, 0, 0);
long year1_tDBOutput_1 = calendar_tDBOutput_1.getTime().getTime();
calendar_tDBOutput_1.set(10000, 0, 1, 0, 0, 0);
long year10000_tDBOutput_1 = calendar_tDBOutput_1.getTime().getTime();
long date_tDBOutput_1;

java.sql.Connection conn_tDBOutput_1 = null;
		String dbProperties_tDBOutput_1 = "noDatetimeStringSync=true";
		String url_tDBOutput_1 = null;
		if(dbProperties_tDBOutput_1 == null || dbProperties_tDBOutput_1.trim().length() == 0) {
			url_tDBOutput_1 = "jdbc:mysql://" + "localhost" + ":" + "8889" + "/" + "tex" + "?" + "rewriteBatchedStatements=true";
		} else {
			String properties_tDBOutput_1 = "noDatetimeStringSync=true";
			if (!properties_tDBOutput_1.contains("rewriteBatchedStatements")) {
				properties_tDBOutput_1 += "&rewriteBatchedStatements=true";
			}

			url_tDBOutput_1 = "jdbc:mysql://" + "localhost" + ":" + "8889" + "/" + "tex" + "?" + properties_tDBOutput_1;
		}
		String driverClass_tDBOutput_1 = "com.mysql.cj.jdbc.Driver";

		String dbUser_tDBOutput_1 = "root";

	final String decryptedPassword_tDBOutput_1 = routines.system.PasswordEncryptUtil.decryptPassword("enc:routine.encryption.key.v1:fTWWqjVfc0ZLbo6md8tCrwK1pp5b2i73OSlY0//reC0=");

		String dbPwd_tDBOutput_1 = decryptedPassword_tDBOutput_1;
		java.lang.Class.forName(driverClass_tDBOutput_1);

		conn_tDBOutput_1 = java.sql.DriverManager.getConnection(url_tDBOutput_1, dbUser_tDBOutput_1, dbPwd_tDBOutput_1);

	resourceMap.put("conn_tDBOutput_1", conn_tDBOutput_1);
        conn_tDBOutput_1.setAutoCommit(false);
        int commitEvery_tDBOutput_1 = 10000;
        int commitCounter_tDBOutput_1 = 0;

int count_tDBOutput_1=0;

				String insert_tDBOutput_1 = "INSERT INTO `" + "test" + "` (`id`,`name`) VALUES (?,?)";
		        int batchSize_tDBOutput_1 = 100;
	   			int batchSizeCounter_tDBOutput_1=0;

		        java.sql.PreparedStatement pstmt_tDBOutput_1 = conn_tDBOutput_1.prepareStatement(insert_tDBOutput_1);
		        resourceMap.put("pstmt_tDBOutput_1", pstmt_tDBOutput_1);

/**
 * [tDBOutput_1 begin ] stop
 */

	/**
	 * [tMap_1 begin ] start
	 */

		ok_Hash.put("tMap_1", false);
		start_Hash.put("tMap_1", System.currentTimeMillis());

	currentComponent="tMap_1";

					if(execStat) {
						runStat.updateStatOnConnection(resourceMap,iterateId,0,0,"row1");
					}

		int tos_count_tMap_1 = 0;

// ###############################
// # Lookup's keys initialization
// ###############################

// ###############################
// # Vars initialization
class  Var__tMap_1__Struct  {
}
Var__tMap_1__Struct Var__tMap_1 = new Var__tMap_1__Struct();
// ###############################

// ###############################
// # Outputs initialization
out1Struct out1_tmp = new out1Struct();
// ###############################

/**
 * [tMap_1 begin ] stop
 */

	/**
	 * [tDBInput_1 begin ] start
	 */

		ok_Hash.put("tDBInput_1", false);
		start_Hash.put("tDBInput_1", System.currentTimeMillis());

	currentComponent="tDBInput_1";

		int tos_count_tDBInput_1 = 0;

		    java.util.Calendar calendar_tDBInput_1 = java.util.Calendar.getInstance();
		    calendar_tDBInput_1.set(0, 0, 0, 0, 0, 0);
		    java.util.Date year0_tDBInput_1 = calendar_tDBInput_1.getTime();
		    int nb_line_tDBInput_1 = 0;
		    java.sql.Connection conn_tDBInput_1 = null;
				String driverClass_tDBInput_1 = "com.mysql.cj.jdbc.Driver";
			    java.lang.Class jdbcclazz_tDBInput_1 = java.lang.Class.forName(driverClass_tDBInput_1);
				String dbUser_tDBInput_1 = "root";

	final String decryptedPassword_tDBInput_1 = routines.system.PasswordEncryptUtil.decryptPassword("enc:routine.encryption.key.v1:MWxR6m8/ZKlWa2kGI4slHf+xAmz3YSz0bBEDg5N1Fqg=");

				String dbPwd_tDBInput_1 = decryptedPassword_tDBInput_1;

				String url_tDBInput_1 = "jdbc:mysql://" + "localhost" + ":" + "8889" + "/" + "tex" + "?" + "noDatetimeStringSync=true";

				conn_tDBInput_1 = java.sql.DriverManager.getConnection(url_tDBInput_1,dbUser_tDBInput_1,dbPwd_tDBInput_1);

			java.sql.Statement stmt_tDBInput_1 = conn_tDBInput_1.createStatement();

		    String dbquery_tDBInput_1 = "select id,name from forum";

            	globalMap.put("tDBInput_1_QUERY",dbquery_tDBInput_1);
		    java.sql.ResultSet rs_tDBInput_1 = null;

		    try {
		    	rs_tDBInput_1 = stmt_tDBInput_1.executeQuery(dbquery_tDBInput_1);
		    	java.sql.ResultSetMetaData rsmd_tDBInput_1 = rs_tDBInput_1.getMetaData();
		    	int colQtyInRs_tDBInput_1 = rsmd_tDBInput_1.getColumnCount();

		    String tmpContent_tDBInput_1 = null;

		    while (rs_tDBInput_1.next()) {
		        nb_line_tDBInput_1++;

							if(colQtyInRs_tDBInput_1 < 1) {
								row1.id = 0;
							} else {

            row1.id = rs_tDBInput_1.getInt(1);
            if(rs_tDBInput_1.wasNull()){
                    throw new RuntimeException("Null value in non-Nullable column");
            }
		                    }
							if(colQtyInRs_tDBInput_1 < 2) {
								row1.name = null;
							} else {

        	row1.name = routines.system.JDBCUtil.getString(rs_tDBInput_1, 2, false);
		                    }

/**
 * [tDBInput_1 begin ] stop
 */

	/**
	 * [tDBInput_1 main ] start
	 */

	currentComponent="tDBInput_1";

	tos_count_tDBInput_1++;

/**
 * [tDBInput_1 main ] stop
 */

	/**
	 * [tDBInput_1 process_data_begin ] start
	 */

	currentComponent="tDBInput_1";

/**
 * [tDBInput_1 process_data_begin ] stop
 */

	/**
	 * [tMap_1 main ] start
	 */

	currentComponent="tMap_1";

					if(execStat){
						runStat.updateStatOnConnection(iterateId,1,1,"row1");
					}

		boolean hasCasePrimitiveKeyWithNull_tMap_1 = false;

        // ###############################
        // # Input tables (lookups)
		  boolean rejectedInnerJoin_tMap_1 = false;
		  boolean mainRowRejected_tMap_1 = false;

		// ###############################
        { // start of Var scope

	        // ###############################
        	// # Vars tables

Var__tMap_1__Struct Var = Var__tMap_1;// ###############################
        // ###############################
        // # Output tables

out1 = null;

// # Output table : 'out1'
out1_tmp.id = row1.id ;
out1_tmp.name = row1.name ;
out1 = out1_tmp;
// ###############################

} // end of Var scope

rejectedInnerJoin_tMap_1 = false;

	tos_count_tMap_1++;

/**
 * [tMap_1 main ] stop
 */

	/**
	 * [tMap_1 process_data_begin ] start
	 */

	currentComponent="tMap_1";

/**
 * [tMap_1 process_data_begin ] stop
 */
// Start of branch "out1"
if(out1 != null) {

	/**
	 * [tDBOutput_1 main ] start
	 */

	currentComponent="tDBOutput_1";

					if(execStat){
						runStat.updateStatOnConnection(iterateId,1,1,"out1");
					}

        whetherReject_tDBOutput_1 = false;
                            pstmt_tDBOutput_1.setInt(1, out1.id);

                            if(out1.name == null) {
pstmt_tDBOutput_1.setNull(2, java.sql.Types.VARCHAR);
} else {pstmt_tDBOutput_1.setString(2, out1.name);
}

                    pstmt_tDBOutput_1.addBatch();
                    nb_line_tDBOutput_1++;

                      batchSizeCounter_tDBOutput_1++;
                if ( batchSize_tDBOutput_1 <= batchSizeCounter_tDBOutput_1) {
                try {
                        int countSum_tDBOutput_1 = 0;
                        for(int countEach_tDBOutput_1: pstmt_tDBOutput_1.executeBatch()) {
                            countSum_tDBOutput_1 += (countEach_tDBOutput_1 == java.sql.Statement.EXECUTE_FAILED ? 0 : 1);
                        }
                        insertedCount_tDBOutput_1 += countSum_tDBOutput_1;
                }catch (java.sql.BatchUpdateException e){
                        throw(e);
                }

                batchSizeCounter_tDBOutput_1 = 0;
            }
                commitCounter_tDBOutput_1++;

                if(commitEvery_tDBOutput_1 <= commitCounter_tDBOutput_1) {

                try {
                        int countSum_tDBOutput_1 = 0;
                        for(int countEach_tDBOutput_1: pstmt_tDBOutput_1.executeBatch()) {
                            countSum_tDBOutput_1 += (countEach_tDBOutput_1 < 0 ? 0 : 1);
                        }
                        insertedCount_tDBOutput_1 += countSum_tDBOutput_1;
                }catch (java.sql.BatchUpdateException e){
                        throw(e);

                }
                    conn_tDBOutput_1.commit();
                    commitCounter_tDBOutput_1=0;

                }

	tos_count_tDBOutput_1++;

/**
 * [tDBOutput_1 main ] stop
 */

	/**
	 * [tDBOutput_1 process_data_begin ] start
	 */

	currentComponent="tDBOutput_1";

/**
 * [tDBOutput_1 process_data_begin ] stop
 */

	/**
	 * [tDBOutput_1 process_data_end ] start
	 */

	currentComponent="tDBOutput_1";

/**
 * [tDBOutput_1 process_data_end ] stop
 */

} // End of branch "out1"

	/**
	 * [tMap_1 process_data_end ] start
	 */

	currentComponent="tMap_1";

/**
 * [tMap_1 process_data_end ] stop
 */

	/**
	 * [tDBInput_1 process_data_end ] start
	 */

	currentComponent="tDBInput_1";

/**
 * [tDBInput_1 process_data_end ] stop
 */

	/**
	 * [tDBInput_1 end ] start
	 */

	currentComponent="tDBInput_1";

	}
}finally{
	if (rs_tDBInput_1 != null) {
		rs_tDBInput_1.close();
	}
	if (stmt_tDBInput_1 != null) {
		stmt_tDBInput_1.close();
	}
		if(conn_tDBInput_1 != null && !conn_tDBInput_1.isClosed()) {

			conn_tDBInput_1.close();

			if("com.mysql.cj.jdbc.Driver".equals((String)globalMap.get("driverClass_"))
			    && routines.system.BundleUtils.inOSGi()) {
			        Class.forName("com.mysql.cj.jdbc.AbandonedConnectionCleanupThread").
			            getMethod("checkedShutdown").invoke(null, (Object[]) null);
			}

		}

}

		   globalMap.put("tDBInput_1_NB_LINE",nb_line_tDBInput_1);

ok_Hash.put("tDBInput_1", true);
end_Hash.put("tDBInput_1", System.currentTimeMillis());

/**
 * [tDBInput_1 end ] stop
 */

	/**
	 * [tMap_1 end ] start
	 */

	currentComponent="tMap_1";

// ###############################
// # Lookup hashes releasing
// ###############################

				if(execStat){
			  		runStat.updateStat(resourceMap,iterateId,2,0,"row1");
			  	}

ok_Hash.put("tMap_1", true);
end_Hash.put("tMap_1", System.currentTimeMillis());

/**
 * [tMap_1 end ] stop
 */

	/**
	 * [tDBOutput_1 end ] start
	 */

	currentComponent="tDBOutput_1";

                try {
                		if (batchSizeCounter_tDBOutput_1 != 0) {
							int countSum_tDBOutput_1 = 0;

							for(int countEach_tDBOutput_1: pstmt_tDBOutput_1.executeBatch()) {
								countSum_tDBOutput_1 += (countEach_tDBOutput_1 == java.sql.Statement.EXECUTE_FAILED ? 0 : 1);
							}

	            	    		insertedCount_tDBOutput_1 += countSum_tDBOutput_1;

            	    	}

                }catch (java.sql.BatchUpdateException e){

                		throw(e);

                }
                batchSizeCounter_tDBOutput_1 = 0;

        if(pstmt_tDBOutput_1 != null) {

				pstmt_tDBOutput_1.close();
				resourceMap.remove("pstmt_tDBOutput_1");

        }
    resourceMap.put("statementClosed_tDBOutput_1", true);
    	if (commitCounter_tDBOutput_1 > 0) {

    		conn_tDBOutput_1.commit();

    	}

    	conn_tDBOutput_1 .close();

    	resourceMap.put("finish_tDBOutput_1", true);

	nb_line_deleted_tDBOutput_1=nb_line_deleted_tDBOutput_1+ deletedCount_tDBOutput_1;
	nb_line_update_tDBOutput_1=nb_line_update_tDBOutput_1 + updatedCount_tDBOutput_1;
	nb_line_inserted_tDBOutput_1=nb_line_inserted_tDBOutput_1 + insertedCount_tDBOutput_1;
	nb_line_rejected_tDBOutput_1=nb_line_rejected_tDBOutput_1 + rejectedCount_tDBOutput_1;

        globalMap.put("tDBOutput_1_NB_LINE",nb_line_tDBOutput_1);
        globalMap.put("tDBOutput_1_NB_LINE_UPDATED",nb_line_update_tDBOutput_1);
        globalMap.put("tDBOutput_1_NB_LINE_INSERTED",nb_line_inserted_tDBOutput_1);
        globalMap.put("tDBOutput_1_NB_LINE_DELETED",nb_line_deleted_tDBOutput_1);
        globalMap.put("tDBOutput_1_NB_LINE_REJECTED", nb_line_rejected_tDBOutput_1);

				if(execStat){
			  		runStat.updateStat(resourceMap,iterateId,2,0,"out1");
			  	}

ok_Hash.put("tDBOutput_1", true);
end_Hash.put("tDBOutput_1", System.currentTimeMillis());

/**
 * [tDBOutput_1 end ] stop
 */

				}//end the resume

			}catch(java.lang.Exception e){

				TalendException te = new TalendException(e, currentComponent, globalMap);

				throw te;
			}catch(java.lang.Error error){

					runStat.stopThreadStat();

				throw error;
			}finally{

				try{

	/**
	 * [tDBInput_1 finally ] start
	 */

	currentComponent="tDBInput_1";

/**
 * [tDBInput_1 finally ] stop
 */

	/**
	 * [tMap_1 finally ] start
	 */

	currentComponent="tMap_1";

/**
 * [tMap_1 finally ] stop
 */

	/**
	 * [tDBOutput_1 finally ] start
	 */

	currentComponent="tDBOutput_1";

    try {
    if (resourceMap.get("statementClosed_tDBOutput_1") == null) {
                java.sql.PreparedStatement pstmtToClose_tDBOutput_1 = null;
                if ((pstmtToClose_tDBOutput_1 = (java.sql.PreparedStatement) resourceMap.remove("pstmt_tDBOutput_1")) != null) {
                    pstmtToClose_tDBOutput_1.close();
                }
    }
    } finally {
        if(resourceMap.get("finish_tDBOutput_1") == null){
            java.sql.Connection ctn_tDBOutput_1 = null;
            if((ctn_tDBOutput_1 = (java.sql.Connection)resourceMap.get("conn_tDBOutput_1")) != null){
                try {
                    ctn_tDBOutput_1.close();
                } catch (java.sql.SQLException sqlEx_tDBOutput_1) {
                    String errorMessage_tDBOutput_1 = "failed to close the connection in tDBOutput_1 :" + sqlEx_tDBOutput_1.getMessage();
                    System.err.println(errorMessage_tDBOutput_1);
                }
            }
        }
    }

/**
 * [tDBOutput_1 finally ] stop
 */

				}catch(java.lang.Exception e){
					//ignore
				}catch(java.lang.Error error){
					//ignore
				}
				resourceMap = null;
			}

		globalMap.put("tDBInput_1_SUBPROCESS_STATE", 1);
	}

public void tLogRow_1Process(final java.util.Map<String, Object> globalMap) throws TalendException {
	globalMap.put("tLogRow_1_SUBPROCESS_STATE", 0);

 final boolean execStat = this.execStat;

		String iterateId = "";

	String currentComponent = "";
	java.util.Map<String, Object> resourceMap = new java.util.HashMap<String, Object>();

	try {
			// TDI-39566 avoid throwing an useless Exception
			boolean resumeIt = true;
			if (globalResumeTicket == false && resumeEntryMethodName != null) {
				String currentMethodName = new java.lang.Exception().getStackTrace()[0].getMethodName();
				resumeIt = resumeEntryMethodName.equals(currentMethodName);
			}
			if (resumeIt || globalResumeTicket) { //start the resume
				globalResumeTicket = true;

	/**
	 * [tLogRow_1 begin ] start
	 */

		ok_Hash.put("tLogRow_1", false);
		start_Hash.put("tLogRow_1", System.currentTimeMillis());

	currentComponent="tLogRow_1";

		int tos_count_tLogRow_1 = 0;

	///////////////////////

		final String OUTPUT_FIELD_SEPARATOR_tLogRow_1 = "|";
		java.io.PrintStream consoleOut_tLogRow_1 = null;

 		StringBuilder strBuffer_tLogRow_1 = null;
		int nb_line_tLogRow_1 = 0;
///////////////////////

/**
 * [tLogRow_1 begin ] stop
 */

	/**
	 * [tLogRow_1 main ] start
	 */

	currentComponent="tLogRow_1";

	tos_count_tLogRow_1++;

/**
 * [tLogRow_1 main ] stop
 */

	/**
	 * [tLogRow_1 process_data_begin ] start
	 */

	currentComponent="tLogRow_1";

/**
 * [tLogRow_1 process_data_begin ] stop
 */

	/**
	 * [tLogRow_1 process_data_end ] start
	 */

	currentComponent="tLogRow_1";

/**
 * [tLogRow_1 process_data_end ] stop
 */

	/**
	 * [tLogRow_1 end ] start
	 */

	currentComponent="tLogRow_1";

//////
//////
globalMap.put("tLogRow_1_NB_LINE",nb_line_tLogRow_1);

///////////////////////

ok_Hash.put("tLogRow_1", true);
end_Hash.put("tLogRow_1", System.currentTimeMillis());

/**
 * [tLogRow_1 end ] stop
 */
				}//end the resume

			}catch(java.lang.Exception e){

				TalendException te = new TalendException(e, currentComponent, globalMap);

				throw te;
			}catch(java.lang.Error error){

					runStat.stopThreadStat();

				throw error;
			}finally{

				try{

	/**
	 * [tLogRow_1 finally ] start
	 */

	currentComponent="tLogRow_1";

/**
 * [tLogRow_1 finally ] stop
 */
				}catch(java.lang.Exception e){
					//ignore
				}catch(java.lang.Error error){
					//ignore
				}
				resourceMap = null;
			}

		globalMap.put("tLogRow_1_SUBPROCESS_STATE", 1);
	}

    public String resuming_logs_dir_path = null;
    public String resuming_checkpoint_path = null;
    public String parent_part_launcher = null;
    private String resumeEntryMethodName = null;
    private boolean globalResumeTicket = false;

    public boolean watch = false;
    // portStats is null, it means don't execute the statistics
    public Integer portStats = null;
    public int portTraces = 4334;
    public String clientHost;
    public String defaultClientHost = "localhost";
    public String contextStr = "Default";
    public boolean isDefaultContext = true;
    public String pid = "0";
    public String rootPid = null;
    public String fatherPid = null;
    public String fatherNode = null;
    public long startTime = 0;
    public boolean isChildJob = false;
    public String log4jLevel = "";

    private boolean enableLogStash;

    private boolean execStat = true;

    private ThreadLocal<java.util.Map<String, String>> threadLocal = new ThreadLocal<java.util.Map<String, String>>() {
        protected java.util.Map<String, String> initialValue() {
            java.util.Map<String,String> threadRunResultMap = new java.util.HashMap<String, String>();
            threadRunResultMap.put("errorCode", null);
            threadRunResultMap.put("status", "");
            return threadRunResultMap;
        };
    };

    private PropertiesWithType context_param = new PropertiesWithType();
    public java.util.Map<String, Object> parentContextMap = new java.util.HashMap<String, Object>();

    public String status= "";

    public static void main(String[] args){
        final Test TestClass = new Test();

        int exitCode = TestClass.runJobInTOS(args);

        System.exit(exitCode);
    }

    public String[][] runJob(String[] args) {

        int exitCode = runJobInTOS(args);
        String[][] bufferValue = new String[][] { { Integer.toString(exitCode) } };

        return bufferValue;
    }

    public boolean hastBufferOutputComponent() {
		boolean hastBufferOutput = false;

        return hastBufferOutput;
    }

    public int runJobInTOS(String[] args) {
	   	// reset status
	   	status = "";

        String lastStr = "";
        for (String arg : args) {
            if (arg.equalsIgnoreCase("--context_param")) {
                lastStr = arg;
            } else if (lastStr.equals("")) {
                evalParam(arg);
            } else {
                evalParam(lastStr + " " + arg);
                lastStr = "";
            }
        }
        enableLogStash = "true".equalsIgnoreCase(System.getProperty("monitoring"));

        if(clientHost == null) {
            clientHost = defaultClientHost;
        }

        if(pid == null || "0".equals(pid)) {
            pid = TalendString.getAsciiRandomString(6);
        }

        if (rootPid==null) {
            rootPid = pid;
        }
        if (fatherPid==null) {
            fatherPid = pid;
        }else{
            isChildJob = true;
        }

        if (portStats != null) {
            // portStats = -1; //for testing
            if (portStats < 0 || portStats > 65535) {
                // issue:10869, the portStats is invalid, so this client socket can't open
                System.err.println("The statistics socket port " + portStats + " is invalid.");
                execStat = false;
            }
        } else {
            execStat = false;
        }

        try {
            //call job/subjob with an existing context, like: --context=production. if without this parameter, there will use the default context instead.
            java.io.InputStream inContext = Test.class.getClassLoader().getResourceAsStream("local_project/test_0_1/contexts/" + contextStr + ".properties");
            if (inContext == null) {
                inContext = Test.class.getClassLoader().getResourceAsStream("config/contexts/" + contextStr + ".properties");
            }
            if (inContext != null) {
                //defaultProps is in order to keep the original context value
                if(context != null && context.isEmpty()) {
	                defaultProps.load(inContext);
	                context = new ContextProperties(defaultProps);
                }

                inContext.close();
            } else if (!isDefaultContext) {
                //print info and job continue to run, for case: context_param is not empty.
                System.err.println("Could not find the context " + contextStr);
            }

            if(!context_param.isEmpty()) {
                context.putAll(context_param);
				//set types for params from parentJobs
				for (Object key: context_param.keySet()){
					String context_key = key.toString();
					String context_type = context_param.getContextType(context_key);
					context.setContextType(context_key, context_type);

				}
            }
            class ContextProcessing {
                private void processContext_0() {
                }
                public void processAllContext() {
                        processContext_0();
                }
            }

            new ContextProcessing().processAllContext();
        } catch (java.io.IOException ie) {
            System.err.println("Could not load context "+contextStr);
            ie.printStackTrace();
        }

        // get context value from parent directly
        if (parentContextMap != null && !parentContextMap.isEmpty()) {
        }

        //Resume: init the resumeUtil
        resumeEntryMethodName = ResumeUtil.getResumeEntryMethodName(resuming_checkpoint_path);
        resumeUtil = new ResumeUtil(resuming_logs_dir_path, isChildJob, rootPid);
        resumeUtil.initCommonInfo(pid, rootPid, fatherPid, projectName, jobName, contextStr, jobVersion);

		List<String> parametersToEncrypt = new java.util.ArrayList<String>();
        //Resume: jobStart
        resumeUtil.addLog("JOB_STARTED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "", "","","","",resumeUtil.convertToJsonText(context,parametersToEncrypt));

if(execStat) {
    try {
        runStat.openSocket(!isChildJob);
        runStat.setAllPID(rootPid, fatherPid, pid, jobName);
        runStat.startThreadStat(clientHost, portStats);
        runStat.updateStatOnJob(RunStat.JOBSTART, fatherNode);
    } catch (java.io.IOException ioException) {
        ioException.printStackTrace();
    }
}

	    java.util.concurrent.ConcurrentHashMap<Object, Object> concurrentHashMap = new java.util.concurrent.ConcurrentHashMap<Object, Object>();
	    globalMap.put("concurrentHashMap", concurrentHashMap);

    long startUsedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
    long endUsedMemory = 0;
    long end = 0;

    startTime = System.currentTimeMillis();

this.globalResumeTicket = true;//to run tPreJob

this.globalResumeTicket = false;//to run others jobs

try {
errorCode = null;tDBInput_1Process(globalMap);
if(!"failure".equals(status)) { status = "end"; }
}catch (TalendException e_tDBInput_1) {
globalMap.put("tDBInput_1_SUBPROCESS_STATE", -1);

e_tDBInput_1.printStackTrace();

}

this.globalResumeTicket = true;//to run tPostJob

        end = System.currentTimeMillis();

        if (watch) {
            System.out.println((end-startTime)+" milliseconds");
        }

        endUsedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
        if (false) {
            System.out.println((endUsedMemory - startUsedMemory) + " bytes memory increase when running : Test");
        }

if (execStat) {
    runStat.updateStatOnJob(RunStat.JOBEND, fatherNode);
    runStat.stopThreadStat();
}
    int returnCode = 0;
    if(errorCode == null) {
         returnCode = status != null && status.equals("failure") ? 1 : 0;
    } else {
         returnCode = errorCode.intValue();
    }
    resumeUtil.addLog("JOB_ENDED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "", "","" + returnCode,"","","");

    return returnCode;

  }

    // only for OSGi env
    public void destroy() {

    }

    private java.util.Map<String, Object> getSharedConnections4REST() {
        java.util.Map<String, Object> connections = new java.util.HashMap<String, Object>();

        return connections;
    }

    private void evalParam(String arg) {
        if (arg.startsWith("--resuming_logs_dir_path")) {
            resuming_logs_dir_path = arg.substring(25);
        } else if (arg.startsWith("--resuming_checkpoint_path")) {
            resuming_checkpoint_path = arg.substring(27);
        } else if (arg.startsWith("--parent_part_launcher")) {
            parent_part_launcher = arg.substring(23);
        } else if (arg.startsWith("--watch")) {
            watch = true;
        } else if (arg.startsWith("--stat_port=")) {
            String portStatsStr = arg.substring(12);
            if (portStatsStr != null && !portStatsStr.equals("null")) {
                portStats = Integer.parseInt(portStatsStr);
            }
        } else if (arg.startsWith("--trace_port=")) {
            portTraces = Integer.parseInt(arg.substring(13));
        } else if (arg.startsWith("--client_host=")) {
            clientHost = arg.substring(14);
        } else if (arg.startsWith("--context=")) {
            contextStr = arg.substring(10);
            isDefaultContext = false;
        } else if (arg.startsWith("--father_pid=")) {
            fatherPid = arg.substring(13);
        } else if (arg.startsWith("--root_pid=")) {
            rootPid = arg.substring(11);
        } else if (arg.startsWith("--father_node=")) {
            fatherNode = arg.substring(14);
        } else if (arg.startsWith("--pid=")) {
            pid = arg.substring(6);
        } else if (arg.startsWith("--context_type")) {
            String keyValue = arg.substring(15);
			int index = -1;
            if (keyValue != null && (index = keyValue.indexOf('=')) > -1) {
                if (fatherPid==null) {
                    context_param.setContextType(keyValue.substring(0, index), replaceEscapeChars(keyValue.substring(index + 1)));
                } else { // the subjob won't escape the especial chars
                    context_param.setContextType(keyValue.substring(0, index), keyValue.substring(index + 1) );
                }

            }

		} else if (arg.startsWith("--context_param")) {
            String keyValue = arg.substring(16);
            int index = -1;
            if (keyValue != null && (index = keyValue.indexOf('=')) > -1) {
                if (fatherPid==null) {
                    context_param.put(keyValue.substring(0, index), replaceEscapeChars(keyValue.substring(index + 1)));
                } else { // the subjob won't escape the especial chars
                    context_param.put(keyValue.substring(0, index), keyValue.substring(index + 1) );
                }
            }
        } else if (arg.startsWith("--log4jLevel=")) {
            log4jLevel = arg.substring(13);
		} else if (arg.startsWith("--monitoring") && arg.contains("=")) {//for trunjob call
		    final int equal = arg.indexOf('=');
			final String key = arg.substring("--".length(), equal);
			System.setProperty(key, arg.substring(equal + 1));
		}
    }

    private static final String NULL_VALUE_EXPRESSION_IN_COMMAND_STRING_FOR_CHILD_JOB_ONLY = "<TALEND_NULL>";

    private final String[][] escapeChars = {
        {"\\\\","\\"},{"\\n","\n"},{"\\'","\'"},{"\\r","\r"},
        {"\\f","\f"},{"\\b","\b"},{"\\t","\t"}
        };
    private String replaceEscapeChars (String keyValue) {

		if (keyValue == null || ("").equals(keyValue.trim())) {
			return keyValue;
		}

		StringBuilder result = new StringBuilder();
		int currIndex = 0;
		while (currIndex < keyValue.length()) {
			int index = -1;
			// judege if the left string includes escape chars
			for (String[] strArray : escapeChars) {
				index = keyValue.indexOf(strArray[0],currIndex);
				if (index>=0) {

					result.append(keyValue.substring(currIndex, index + strArray[0].length()).replace(strArray[0], strArray[1]));
					currIndex = index + strArray[0].length();
					break;
				}
			}
			// if the left string doesn't include escape chars, append the left into the result
			if (index < 0) {
				result.append(keyValue.substring(currIndex));
				currIndex = currIndex + keyValue.length();
			}
		}

		return result.toString();
    }

    public Integer getErrorCode() {
        return errorCode;
    }

    public String getStatus() {
        return status;
    }

    ResumeUtil resumeUtil = null;
}
/************************************************************************************************
 *     47985 characters generated by Talend Open Studio for Data Integration
 *     on the 20 mars 2020 à 18:32:14 CET
 ************************************************************************************************/

redpajama_set_name: RedPajamaGithub


text:
#include "Viewport.hpp"

#include <cassert>
#include <unordered_map>
#include <vector>

#include "dormouse-engine/essentials/Singleton.hpp"
#include "dormouse-engine/essentials/hash-combine.hpp"

using namespace dormouse_engine;
using namespace dormouse_engine::renderer::control;

namespace /* anonymous */ {

class ViewportFactory final :
	public essentials::Singleton<ViewportFactory>
{
public:

	// TODO: this should be easily achievable using factory::Factory, but it isn't
	// TODO: this behaviour is now duplicated throught renderer::control
	size_t create(const graphics::Viewport::Configuration& configuration) {
		auto it = index_.find(configuration);

		if (it == index_.end()) {
			it = index_.emplace_hint(it, configuration, instances_.size());
			instances_.emplace_back(configuration);
		}

		return it->second;
	}

	graphics::Viewport get(size_t id) const {
		assert(id < instances_.size());
		return instances_[id];
	}

	void clear() {
		instances_.clear();
		index_.clear();
	}

private:

	struct ConfigurationHash {

		size_t operator()(const graphics::Viewport::Configuration& configuration) const {
			auto seed = size_t(0);
			essentials::hashCombine(seed, std::hash_value(configuration.height));
			essentials::hashCombine(seed, std::hash_value(configuration.width));
			essentials::hashCombine(seed, std::hash_value(configuration.minDepth));
			essentials::hashCombine(seed, std::hash_value(configuration.maxDepth));
			essentials::hashCombine(seed, std::hash_value(configuration.topLeftX));
			essentials::hashCombine(seed, std::hash_value(configuration.topLeftY));
			return seed;
		}

	};

	struct ConfigurationEqual {

		bool operator()(const graphics::Viewport::Configuration& lhs,
			const graphics::Viewport::Configuration& rhs) const
		{
			return
				lhs.height == rhs.height &&
				lhs.width == rhs.width &&
				lhs.minDepth == rhs.minDepth &&
				lhs.maxDepth == rhs.maxDepth &&
				lhs.topLeftX == rhs.topLeftX &&
				lhs.topLeftY == rhs.topLeftY
				;
		}

	};

	using Index = std::unordered_map<
		graphics::Viewport::Configuration,
		size_t,
		ConfigurationHash,
		ConfigurationEqual
	>;

	using Instances = std::vector<graphics::Viewport>;

	Index index_;

	Instances instances_;

};

} // anonymous namespace

Viewport::Viewport(const graphics::Viewport::Configuration& configuration) :
	viewportObjectId_(ViewportFactory::instance()->create(configuration))
{
}

graphics::Viewport Viewport::get() const {
	assert(viewportObjectId_ != INVALID_VIEWPORT_OBJECT_ID);
	return ViewportFactory::instance()->get(viewportObjectId_);
}


text:
package nitezh.ministock.activities.widget;

import android.graphics.Color;

public class WidgetColors {
    static final int GAIN = Color.parseColor("#CCFF66");
    static final int LOSS = Color.parseColor("#FF6666");
    static final int SAME = Color.WHITE;
    static final int HIGH_ALERT = Color.parseColor("#FFEE33");
    static final int LOW_ALERT = Color.parseColor("#FF66FF");
    static final int VOLUME = Color.LTGRAY;
    static final int NA = Color.parseColor("#66CCCC");
}