0= ~                      3     '~             4  4 - 4 4 - - - @ @ @           I @ @ - @ @  @  X~ X  X    b  @                  4 ' I          z           z    ~           z ! z" # $ % & ' (   ) * + , - . / 0 12 134 56 ~ 7 8 9: ~ ;<=> ?@ A B CD CE IF G H I JKLM N @FO PQ R S z~ T U V W X Y -Z [\ ] ^ _` a bc  d e f @g h i hjk 3l m nop targetVTI+Lorg/apache/derby/impl/sql/compile/FromVTI;targetTableName-Lorg/apache/derby/impl/sql/compile/TableName;resultColumnList4Lorg/apache/derby/impl/sql/compile/ResultColumnList;lockModeIfkInfo+[Lorg/apache/derby/impl/sql/execute/FKInfo; triggerInfo/Lorg/apache/derby/impl/sql/execute/TriggerInfo;targetTableDescriptor6Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;indicesToMaintain9[Lorg/apache/derby/iapi/sql/dictionary/IndexRowGenerator;indexConglomerateNumbers[J indexNames[Ljava/lang/String; relevantCdl?Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;relevantTriggers()VCodeinit(Ljava/lang/Object;)V'(Ljava/lang/Object;Ljava/lang/Object;)V setTarget4(Lorg/apache/derby/impl/sql/compile/QueryTreeNode;)VgenerateCodeForTemporaryTablet(Lorg/apache/derby/impl/sql/compile/ActivationClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)V ExceptionsqverifyTargetTableisAtomic()ZgetSchemaDescriptor9()Lorg/apache/derby/iapi/sql/dictionary/SchemaDescriptor; getReadColMap9(ILorg/apache/derby/iapi/services/io/FormatableBitSet;)[IgetResultColumnListg(Lorg/apache/derby/impl/sql/compile/ResultColumnList;)Lorg/apache/derby/impl/sql/compile/FromBaseTable;h(Lorg/apache/derby/impl/sql/compile/FromBaseTable;Lorg/apache/derby/impl/sql/compile/ResultColumnList;)VparseAndBindGenerationClauses(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/impl/sql/compile/ResultColumnList;ZLorg/apache/derby/impl/sql/compile/ResultSetNode;)VparseGenerationClausew(Ljava/lang/String;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)Lorg/apache/derby/impl/sql/compile/ValueNode;bindConstraintsa(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/compile/NodeFactory;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/iapi/sql/depend/Dependent;Lorg/apache/derby/impl/sql/compile/ResultColumnList;[ILorg/apache/derby/iapi/services/io/FormatableBitSet;ZZ)Lorg/apache/derby/impl/sql/compile/ValueNode;bindRowScopedExpression(Lorg/apache/derby/iapi/sql/compile/NodeFactory;Lorg/apache/derby/iapi/services/context/ContextManager;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/impl/sql/compile/ValueNode;)VhasCheckConstraintsn(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)ZhasGenerationClauses9(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)ZgenerateCheckTree(Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)Lorg/apache/derby/impl/sql/compile/ValueNode;generateFKInfo(Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/iapi/services/io/FormatableBitSet;)V fkSetupArrays(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/dictionary/ForeignKeyConstraintDescriptor;I[Lorg/apache/derby/catalog/UUID;[J[Ljava/lang/String;[Z[I)VgenerateTriggerInfow(Lorg/apache/derby/iapi/sql/dictionary/GenericDescriptorList;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;[I)V getFKInfo-()[Lorg/apache/derby/impl/sql/execute/FKInfo;getTriggerInfo1()Lorg/apache/derby/impl/sql/execute/TriggerInfo;getCheckConstraints/()Lorg/apache/derby/impl/sql/compile/ValueNode;createTriggerDependenciesk(Lorg/apache/derby/iapi/sql/dictionary/GenericDescriptorList;Lorg/apache/derby/iapi/sql/depend/Dependent;)VgetAllRelevantTriggers(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;[IZ)Lorg/apache/derby/iapi/sql/dictionary/GenericDescriptorList;adjustDeferredFlag(Z)VcreateConstraintDependencies(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;Lorg/apache/derby/iapi/sql/depend/Dependent;)VgetAllRelevantConstraints(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Z[I)Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;parseCheckConstraintgenerateCheckConstraints(Lorg/apache/derby/impl/sql/compile/ValueNode;Lorg/apache/derby/impl/sql/compile/ExpressionClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)V(Lorg/apache/derby/impl/sql/compile/ValueNode;Lorg/apache/derby/impl/sql/compile/ExpressionClassBuilder;)Lorg/apache/derby/iapi/services/compiler/MethodBuilder;generateGenerationClauses(Lorg/apache/derby/impl/sql/compile/ResultColumnList;IZLorg/apache/derby/impl/sql/compile/ExpressionClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)V(Lorg/apache/derby/impl/sql/compile/ResultColumnList;IZLorg/apache/derby/impl/sql/compile/ExpressionClassBuilder;)Lorg/apache/derby/iapi/services/compiler/MethodBuilder;optimizeStatementgetAffectedIndexes(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/iapi/services/io/FormatableBitSet;)VgetXAffectedIndexes(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/iapi/services/io/FormatableBitSet;Ljava/util/Vector;)VmarkAffectedIndexes(Ljava/util/Vector;)VstatementToString()Ljava/lang/String;remapReferencedColumnsA(Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptor;[I)[I getRowMapn(Lorg/apache/derby/iapi/services/io/FormatableBitSet;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)[IsetRefActionInfo(J[ILjava/lang/String;Z)VnormalizeSynonymColumnsd(Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/impl/sql/compile/TableName;)V printSubNodes(I)VacceptChildren.(Lorg/apache/derby/iapi/sql/compile/Visitor;)V () +, rs java/lang/Integer ts+org/apache/derby/impl/sql/compile/TableName )org/apache/derby/impl/sql/compile/FromVTI .)   u vs w6x y)$org.apache.derby.iapi.sql.ActivationgetLanguageConnectionContext8org.apache.derby.iapi.sql.conn.LanguageConnectionContext z{ |q }~#markTempTableAsModifiedInUnitOfWorkvoid )  q 7 q  42X05  '42Y2442Y25   *org/apache/derby/impl/sql/compile/FromList   s 2org/apache/derby/impl/sql/compile/ResultColumnList ;<     /org/apache/derby/impl/sql/compile/FromBaseTable   ;=      .org/apache/derby/impl/sql/compile/ResultColumn 6 6    q @A +org/apache/derby/impl/sql/compile/ValueNode q 7  DE )  {   ~ s { java/lang/StringBufferSELECT  FROM q q   ,org/apache/derby/impl/sql/compile/CursorNode  W   { `a  ^_ LM Z[  XY PQ ) JK  78  { .org/apache/derby/impl/sql/compile/SubqueryListjava/util/Vector      q bA23513 q4org/apache/derby/impl/sql/compile/TestConstraintNode ({  tuCorg/apache/derby/iapi/sql/dictionary/ForeignKeyConstraintDescriptor org/apache/derby/catalog/UUIDjava/lang/String NOForg/apache/derby/iapi/sql/dictionary/ReferencedKeyConstraintDescriptor  rs .   9org/apache/derby/iapi/sql/dictionary/ColumnDescriptorList java/lang/Long (  (org/apache/derby/impl/sql/execute/FKInfo   (      ! #$      6  s s-org/apache/derby/impl/sql/execute/TriggerInfo (   6 6org/apache/derby/iapi/sql/dictionary/TriggerDescriptor :org/apache/derby/iapi/sql/dictionary/GenericDescriptorList Z \] =org/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList `SELECT * FROM  WHERE ,org/apache/derby/impl/sql/compile/SelectNode W5org.apache.derby.iapi.services.loader.GeneratedMethod ~ ce    ! ") #) fh }{0org.apache.derby.impl.sql.execute.BaseActivation getCurrentRoworg.apache.derby.iapi.sql.Row $)/org.apache.derby.iapi.types.DataValueDescriptor %~ setColumn i)  lm no &' (6 )* + ,- .{6org/apache/derby/iapi/sql/dictionary/IndexRowGenerator    ;org/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor /6 0qDML MOD 1s 23 vw 456 7 8942X55 : |} ;<5org/apache/derby/impl/sql/compile/DMLModStatementNode2org/apache/derby/impl/sql/compile/DMLStatementNode-org/apache/derby/iapi/error/StandardExceptiongetStatementType()IintValue4org/apache/derby/iapi/sql/dictionary/TableDescriptor getTableTypeisOnRollbackDeleteRows5org/apache/derby/iapi/services/compiler/MethodBuilderpushThis callMethod;(SLjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)IgetNamepush(Ljava/lang/String;)V endStatementgetDataDictionary7()Lorg/apache/derby/iapi/sql/dictionary/DataDictionary; getSchemaNameK(Ljava/lang/String;)Lorg/apache/derby/iapi/sql/dictionary/SchemaDescriptor; getTableNamegetTableDescriptor(Ljava/lang/String;Lorg/apache/derby/iapi/sql/dictionary/SchemaDescriptor;)Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;resolveTableToSynonym\(Lorg/apache/derby/impl/sql/compile/TableName;)Lorg/apache/derby/impl/sql/compile/TableName; newExceptionU(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/derby/iapi/error/StandardException;lockTableForCompilationn(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;getCompilerContext5()Lorg/apache/derby/iapi/sql/compile/CompilerContext;1org/apache/derby/iapi/sql/compile/CompilerContextcreateDependency.(Lorg/apache/derby/iapi/sql/depend/Provider;)VbindNonVTITables(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;Lorg/apache/derby/impl/sql/compile/FromList;)Lorg/apache/derby/impl/sql/compile/ResultSetNode; bindVTITables_(Lorg/apache/derby/impl/sql/compile/FromList;)Lorg/apache/derby/impl/sql/compile/ResultSetNode;2org/apache/derby/iapi/services/io/FormatableBitSetsizeget(I)ZgetResultColumns6()Lorg/apache/derby/impl/sql/compile/ResultColumnList;getNodeFactory1()Lorg/apache/derby/iapi/sql/compile/NodeFactory;getContextManager9()Lorg/apache/derby/iapi/services/context/ContextManager;-org/apache/derby/iapi/sql/compile/NodeFactorygetNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Lorg/apache/derby/iapi/services/context/ContextManager;)Lorg/apache/derby/impl/sql/compile/QueryTreeNode;doJoinOrderOptimization()Ljava/lang/Boolean;}(ILjava/lang/Object;Lorg/apache/derby/iapi/services/context/ContextManager;)Lorg/apache/derby/impl/sql/compile/QueryTreeNode;getAllResultColumnsc(Lorg/apache/derby/impl/sql/compile/TableName;)Lorg/apache/derby/impl/sql/compile/ResultColumnList;bindResultColumnsByPosition9(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)VgetTableNameField/()Lorg/apache/derby/impl/sql/compile/TableName;getResultColumnsForList(Lorg/apache/derby/impl/sql/compile/TableName;Lorg/apache/derby/impl/sql/compile/ResultColumnList;Lorg/apache/derby/impl/sql/compile/TableName;)Lorg/apache/derby/impl/sql/compile/ResultColumnList;bindResultColumnsByName(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/impl/sql/compile/DMLStatementNode;)Lorg/apache/derby/iapi/services/io/FormatableBitSet; elementAt4(I)Lorg/apache/derby/impl/sql/compile/QueryTreeNode;updatedhasGenerationClausegetTableColumnDescriptor9()Lorg/apache/derby/iapi/sql/dictionary/ColumnDescriptor;5org/apache/derby/iapi/sql/dictionary/ColumnDescriptorgetType2()Lorg/apache/derby/iapi/types/DataTypeDescriptor;getDefaultInfo(()Lorg/apache/derby/catalog/DefaultInfo;$org/apache/derby/catalog/DefaultInfogetDefaultText(ILjava/lang/Object;Ljava/lang/Object;Lorg/apache/derby/iapi/services/context/ContextManager;)Lorg/apache/derby/impl/sql/compile/QueryTreeNode;getOriginalCurrentSchemaL(Ljava/lang/String;Z)Lorg/apache/derby/iapi/sql/dictionary/SchemaDescriptor;pushCompilationSchema:(Lorg/apache/derby/iapi/sql/dictionary/SchemaDescriptor;)VpopCompilationSchemagetTypeServicessetVirtualColumnIdsetColumnDescriptorp(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;Lorg/apache/derby/iapi/sql/dictionary/ColumnDescriptor;)V setElementAt5(Lorg/apache/derby/impl/sql/compile/QueryTreeNode;I)VsetName/org/apache/derby/impl/sql/compile/ResultSetNodegetResultSetNumbersetResultSetNumber<()Lorg/apache/derby/iapi/sql/conn/LanguageConnectionContext;append,(Ljava/lang/String;)Ljava/lang/StringBuffer;getQualifiedNametoString8org/apache/derby/iapi/sql/conn/LanguageConnectionContextpushCompilerContext getParser,()Lorg/apache/derby/iapi/sql/compile/Parser;(org/apache/derby/iapi/sql/compile/ParserparseStatementE(Ljava/lang/String;)Lorg/apache/derby/impl/sql/compile/StatementNode;getResultSetNode3()Lorg/apache/derby/impl/sql/compile/ResultSetNode; getExpressionpopCompilerContext6(Lorg/apache/derby/iapi/sql/compile/CompilerContext;)VpushCurrentPrivTypepopCurrentPrivType makeTableName(Lorg/apache/derby/iapi/sql/compile/NodeFactory;Lorg/apache/derby/iapi/services/context/ContextManager;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/derby/impl/sql/compile/TableName;setTableNumber addFromTable0(Lorg/apache/derby/impl/sql/compile/FromTable;)VbindExpression(Lorg/apache/derby/impl/sql/compile/FromList;Lorg/apache/derby/impl/sql/compile/SubqueryList;Ljava/util/Vector;)Lorg/apache/derby/impl/sql/compile/ValueNode;3org/apache/derby/iapi/sql/dictionary/DataDictionarygetConstraintDescriptorsw(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList; getSubListB(I)Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;getGeneratedColumns=()Lorg/apache/derby/iapi/sql/dictionary/ColumnDescriptorList;>(I)Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptor;9org/apache/derby/iapi/sql/dictionary/ConstraintDescriptorgetConstraintTextgetConstraintNamegetActiveConstraintDescriptors(Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;)Lorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;getReferencedConstraintJ()Lorg/apache/derby/iapi/sql/dictionary/ReferencedKeyConstraintDescriptor;getForeignKeyConstraints8()Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;add(Ljava/lang/Object;)ZgetReferencedColumns()[IgetColumnDescriptorList:(I)Lorg/apache/derby/iapi/sql/dictionary/ColumnDescriptor;(J)V getIndexId!()Lorg/apache/derby/catalog/UUID;getConglomerateDescriptor^(Lorg/apache/derby/catalog/UUID;)Lorg/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor;getConglomerateNumber()JgetRowLocationTemplate(Lorg/apache/derby/iapi/sql/conn/LanguageConnectionContext;Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;)Lorg/apache/derby/iapi/types/RowLocation;([Ljava/lang/String;Ljava/lang/String;IILorg/apache/derby/catalog/UUID;J[Lorg/apache/derby/catalog/UUID;[J[Z[ILorg/apache/derby/iapi/types/RowLocation;[I)V(I)Ljava/lang/Object; longValuegetIndexConglomerateDescriptort(Lorg/apache/derby/iapi/sql/dictionary/DataDictionary;)Lorg/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor;isSelfReferencingFKgetRaDeleteRulegetRaUpdateRulew(Lorg/apache/derby/iapi/sql/dictionary/TableDescriptor;[ILorg/apache/derby/iapi/sql/dictionary/GenericDescriptorList;)Velements()Ljava/util/Enumeration;java/util/EnumerationhasMoreElements nextElement()Ljava/lang/Object;Z(Lorg/apache/derby/iapi/sql/depend/Dependent;Lorg/apache/derby/iapi/sql/depend/Provider;)VB(I[ILorg/apache/derby/iapi/sql/dictionary/GenericDescriptorList;)VH(IZ[I[ZLorg/apache/derby/iapi/sql/dictionary/ConstraintDescriptorList;)VgetWhereClausepushNull8org/apache/derby/impl/sql/compile/ExpressionClassBuilderpushMethodReferenceq(Lorg/apache/derby/iapi/services/compiler/MethodBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)VnewUserExprFun9()Lorg/apache/derby/iapi/services/compiler/MethodBuilder;generateExpressiont(Lorg/apache/derby/impl/sql/compile/ExpressionClassBuilder;Lorg/apache/derby/iapi/services/compiler/MethodBuilder;)V methodReturncompletedupcastgetConglomerateDescriptors@()[Lorg/apache/derby/iapi/sql/dictionary/ConglomerateDescriptor;isIndexgetIndexDescriptor:()Lorg/apache/derby/iapi/sql/dictionary/IndexRowGenerator;baseColumnPositionsupdateOverlaps([I)Zset isConstraintgetConglomerateNamegetMaxColumnID resultSet1Lorg/apache/derby/impl/sql/compile/ResultSetNode; getReference5()Lorg/apache/derby/impl/sql/compile/ColumnReference;1org/apache/derby/impl/sql/compile/ColumnReferenceequalssetTableNameNode0(Lorg/apache/derby/impl/sql/compile/TableName;)Vg(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/derby/iapi/error/StandardException;acceptZ(Lorg/apache/derby/iapi/sql/compile/Visitor;)Lorg/apache/derby/iapi/sql/compile/Visitable;       !"#$%&'/()**+,**+**+-**+*,./*."+*+*+ * 01*dX* S* H* =,,W,* ,W,234)* *L***M***, * Q**N- * **!*-**M**-, * * * 8.$88."* #* *** $ *%* &*'Y(M** +,) ** ,* 2356*78***L+23 9:*RF+= N++66-++`,-O-O-;)*+* *-.W** /023;<*^R*1*! *!**2344M,**1%*15*26'7W*,+8,23;=*C7,*+90*0* :*+,+;<0*0* *=W23>?*D(*%:>66   ?@:  A B C:  D:  E: * F,G:*1< *2HI:* JK:L*1*2,-MN:N*1PO*2H@: `P, Q R<6->0 -? STUV-R̈́ 23@A*w k*W:*%:XYYZ[+[\[,][^:_:`N-a:  bcd?@e:f23BC**g* *%:  h*+-iW*+*jk**j+-l*+- mW**no**n-p:  q ***j-rs*s7-t:   L,*2-*sM N:  N  q:  q *sfp23DE*\P*+,u,v:*%*5+6':*-+34:wxyz{:23FG*/#+,|N--}:~23HI*+M,23JK* z+}N-~6:6a-::*,: *1 ,]*23:   :*1' *2HI:23LM*L"@zY :::: ,+: *-::zY:zY:zY:zY:zY: ~66 :L6: : :: :  :*,   S@: 6,:  ~6i::  ::  ::*:6 :*,  . .:XYYu[[[^WY.W::Y: 6!!!.d: W! WY/WW( : :::Y * *,*WW6-*6*S6** ** *6g*S*O*S*P*S23NO*T H,S,S,+P,T*,O* ,O23PQ*&++*Y,-+23RS**TU**VW**sXY*I=*%N+:*:,-& -,ұ23Z[*RF*n*n*Yn*n,*-*n**n*n23\]* *Ú*ñ^_* *%:,~66,:-& -j+:~6 6   E : - & &- -  80:-&-023`a*NB*j*j:*Yŵj*T,**j*3*j236**ìbA*p d*W:*%:XYYǶ[,][ȶ[+[^:_:`N-a:  bcɶ:f23cd*++-˹*+,:,-α23ce*%,N+,----23fg*d X+>666  "+ ?@:B 6 ˹*+:  α23fh* :W+>66d6l66U+?@:  B9` ڹW23i)* **ޱ23jk*$zY:+,-*23lm* *:d :662:++o-?6   /  P-W:  : ,6   ,  . a23no*|p+>*%:** *6G+M*,S*,P*,,S,&23pq*rs*;/+N,-- :6-,-..Otu*I=+,>` :66+, O23vw**-xy*q e*!*!N+>66G+?@::*:- , -23z{* |}*"*+* *+W23