[
  {
    "id": "CTRL_MOVE",
    "instruction": "muévelos 5 mm abajo",
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "muévelos 5 mm abajo",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345675744_ds0itd",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345675744_vervzs",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345675744_v2ssgf",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:07:55.708Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345675744_ds0itd",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345675744_vervzs",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345675744_v2ssgf",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345675745_kvq9jz",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "muévelos 5 mm abajo",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"move\",\"target\":\"selection\",\"dx\":0,\"dy\":5}]}",
        "cThinking": "Need move selection down 5mm. Use move command with dy:5? Units mm. So {\"commands\":[{\"command\":\"move\",\"target\":\"selection\",\"dx\":0,\"dy\":5}]}",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345675744_ds0itd\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345675744_vervzs\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345675744_v2ssgf\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345675745_kvq9jz\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345675744_ds0itd\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345675744_vervzs\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345675744_v2ssgf\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nmuévelos 5 mm abajo\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:07:58.9481698Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":0,\\\"dy\\\":5}]}\",\"thinking\":\"Need move selection down 5mm. Use move command with dy:5? Units mm. So {\\\"commands\\\":[{\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":0,\\\"dy\\\":5}]}\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1723043400,\"load_duration\":204703800,\"prompt_eval_count\":5067,\"prompt_eval_duration\":15175000,\"eval_count\":22,\"eval_duration\":275979000}",
        "hMetrics": {
          "total_duration": 1723043400,
          "load_duration": 204703800,
          "prompt_eval_count": 5067,
          "prompt_eval_duration": 15175000,
          "eval_count": 22,
          "eval_duration": 275979000,
          "unattributed_duration": 1227185600
        },
        "hCommands": {
          "commands": [
            {
              "command": "move",
              "target": "selection",
              "dx": 0,
              "dy": 5
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1742.485,
        "tRequestStartedAt": "2026-08-10T09:07:57.207657+02:00",
        "tResponseFinishedAt": "2026-08-10T09:07:58.950137+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2874,
          "nPromptCharacters": 19444,
          "nPromptTokensAfterEstimated": 4861,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    }
  },
  {
    "id": "CTRL_RESIZE_PLURAL",
    "instruction": "hazlos a la mitad",
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "hazlos a la mitad",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345679059_ke98iz",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345679059_fhcx50",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345679059_4k90jk",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:07:59.039Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345679059_ke98iz",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345679059_fhcx50",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345679059_4k90jk",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345679059_3pog66",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "hazlos a la mitad",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"resize\",\"target\":\"selection\",\"scaleX\":0.5,\"scaleY\":0.5}]}",
        "cThinking": "Need setProperty for each text: half? maybe scaleX 0.5,scaleY0.5. Use resize.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345679059_ke98iz\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345679059_fhcx50\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345679059_4k90jk\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345679059_3pog66\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345679059_ke98iz\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345679059_fhcx50\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345679059_4k90jk\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nhazlos a la mitad\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:08:01.836524Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}]}\",\"thinking\":\"Need setProperty for each text: half? maybe scaleX 0.5,scaleY0.5. Use resize.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1346966700,\"load_duration\":204129700,\"prompt_eval_count\":5051,\"prompt_eval_duration\":15268000,\"eval_count\":28,\"eval_duration\":354414000}",
        "hMetrics": {
          "total_duration": 1346966700,
          "load_duration": 204129700,
          "prompt_eval_count": 5051,
          "prompt_eval_duration": 15268000,
          "eval_count": 28,
          "eval_duration": 354414000,
          "unattributed_duration": 773155000
        },
        "hCommands": {
          "commands": [
            {
              "command": "resize",
              "target": "selection",
              "scaleX": 0.5,
              "scaleY": 0.5
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1366.37,
        "tRequestStartedAt": "2026-08-10T09:08:00.471665+02:00",
        "tResponseFinishedAt": "2026-08-10T09:08:01.838034+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2872,
          "nPromptCharacters": 19442,
          "nPromptTokensAfterEstimated": 4861,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    }
  },
  {
    "id": "CTRL_ALIGN_PLURAL",
    "instruction": "alinea los objetos seleccionados a la izquierda",
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "alinea los objetos seleccionados a la izquierda",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345681938_zo6x4b",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345681938_2j4667",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345681938_jim5xr",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:08:01.917Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345681938_zo6x4b",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345681938_2j4667",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345681938_jim5xr",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345681938_hvc1dq",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "alinea los objetos seleccionados a la izquierda",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"align\",\"target\":\"selection\",\"mode\":\"left\"}]}",
        "cThinking": "Need align left. Output JSON with command align.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345681938_zo6x4b\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345681938_2j4667\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345681938_jim5xr\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345681938_hvc1dq\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345681938_zo6x4b\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345681938_2j4667\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345681938_jim5xr\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nalinea los objetos seleccionados a la izquierda\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:08:04.4219214Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}]}\",\"thinking\":\"Need align left. Output JSON with command align.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1044541500,\"load_duration\":201203000,\"prompt_eval_count\":5045,\"prompt_eval_duration\":15202000,\"eval_count\":18,\"eval_duration\":223650000}",
        "hMetrics": {
          "total_duration": 1044541500,
          "load_duration": 201203000,
          "prompt_eval_count": 5045,
          "prompt_eval_duration": 15202000,
          "eval_count": 18,
          "eval_duration": 223650000,
          "unattributed_duration": 604486500
        },
        "hCommands": {
          "commands": [
            {
              "command": "align",
              "target": "selection",
              "mode": "left"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1067.754,
        "tRequestStartedAt": "2026-08-10T09:08:03.356016+02:00",
        "tResponseFinishedAt": "2026-08-10T09:08:04.423782+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2902,
          "nPromptCharacters": 19472,
          "nPromptTokensAfterEstimated": 4868,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    }
  },
  {
    "id": "CTRL_DISTRIBUTE_PLURAL",
    "instruction": "distribúyelos horizontalmente",
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "distribúyelos horizontalmente",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345684521_ztqoge",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345684521_ew0rjx",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345684521_5x6jyu",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:08:04.508Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345684521_ztqoge",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345684521_ew0rjx",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345684521_5x6jyu",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345684521_8xevbm",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "distribúyelos horizontalmente",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"distribute\",\"target\":\"selection\",\"mode\":\"horizontal\"}]}",
        "cThinking": "Need distribute horizontally selection. Output JSON with commands array containing one distribute command.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345684521_ztqoge\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345684521_ew0rjx\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345684521_5x6jyu\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345684521_8xevbm\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345684521_ztqoge\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345684521_ew0rjx\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345684521_5x6jyu\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\ndistribúyelos horizontalmente\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:08:07.1142708Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}]}\",\"thinking\":\"Need distribute horizontally selection. Output JSON with commands array containing one distribute command.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1124255400,\"load_duration\":203428900,\"prompt_eval_count\":5049,\"prompt_eval_duration\":14174000,\"eval_count\":19,\"eval_duration\":237352000}",
        "hMetrics": {
          "total_duration": 1124255400,
          "load_duration": 203428900,
          "prompt_eval_count": 5049,
          "prompt_eval_duration": 14174000,
          "eval_count": 19,
          "eval_duration": 237352000,
          "unattributed_duration": 669300500
        },
        "hCommands": {
          "commands": [
            {
              "command": "distribute",
              "target": "selection",
              "mode": "horizontal"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1144.777,
        "tRequestStartedAt": "2026-08-10T09:08:05.971301+02:00",
        "tResponseFinishedAt": "2026-08-10T09:08:07.116082+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2884,
          "nPromptCharacters": 19454,
          "nPromptTokensAfterEstimated": 4864,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    }
  },
  {
    "id": "CTRL_DUPLICATE_PLURAL",
    "instruction": "duplica los objetos seleccionados",
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "duplica los objetos seleccionados",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345687214_9mkv6v",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345687214_fd86n2",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345687214_77b08a",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:08:07.200Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345687214_9mkv6v",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345687214_fd86n2",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345687214_77b08a",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345687214_jtqoln",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "duplica los objetos seleccionados",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"duplicate\",\"target\":\"selection\"}]}",
        "cThinking": "Need duplicate command.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345687214_9mkv6v\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345687214_fd86n2\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345687214_77b08a\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345687214_jtqoln\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345687214_9mkv6v\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345687214_fd86n2\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345687214_77b08a\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nduplica los objetos seleccionados\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:08:09.5832102Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}]}\",\"thinking\":\"Need duplicate command.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":930653000,\"load_duration\":203533900,\"prompt_eval_count\":5037,\"prompt_eval_duration\":14303000,\"eval_count\":14,\"eval_duration\":173068000}",
        "hMetrics": {
          "total_duration": 930653000,
          "load_duration": 203533900,
          "prompt_eval_count": 5037,
          "prompt_eval_duration": 14303000,
          "eval_count": 14,
          "eval_duration": 173068000,
          "unattributed_duration": 539748100
        },
        "hCommands": {
          "commands": [
            {
              "command": "duplicate",
              "target": "selection"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 945.931,
        "tRequestStartedAt": "2026-08-10T09:08:08.639107+02:00",
        "tResponseFinishedAt": "2026-08-10T09:08:09.585043+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2888,
          "nPromptCharacters": 19458,
          "nPromptTokensAfterEstimated": 4865,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    }
  },
  {
    "id": "CTRL_DELETE_PLURAL",
    "instruction": "elimina los objetos seleccionados",
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "elimina los objetos seleccionados",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345689677_srnifn",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345689677_ykzdw3",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345689677_gpd85y",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:08:09.663Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345689677_srnifn",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345689677_ykzdw3",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345689677_gpd85y",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345689677_4monit",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "elimina los objetos seleccionados",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"delete\",\"target\":\"selection\"}]}",
        "cThinking": "Need delete selection. Output JSON with command delete target selection.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345689677_srnifn\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345689677_ykzdw3\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345689677_gpd85y\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345689677_4monit\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345689677_srnifn\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345689677_ykzdw3\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345689677_gpd85y\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\nelimina los objetos seleccionados\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:08:12.1663952Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}]}\",\"thinking\":\"Need delete selection. Output JSON with command delete target selection.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1044481000,\"load_duration\":199652300,\"prompt_eval_count\":5040,\"prompt_eval_duration\":14363000,\"eval_count\":14,\"eval_duration\":172364000}",
        "hMetrics": {
          "total_duration": 1044481000,
          "load_duration": 199652300,
          "prompt_eval_count": 5040,
          "prompt_eval_duration": 14363000,
          "eval_count": 14,
          "eval_duration": 172364000,
          "unattributed_duration": 658101700
        },
        "hCommands": {
          "commands": [
            {
              "command": "delete",
              "target": "selection"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1062.007,
        "tRequestStartedAt": "2026-08-10T09:08:11.106036+02:00",
        "tResponseFinishedAt": "2026-08-10T09:08:12.168046+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2888,
          "nPromptCharacters": 19458,
          "nPromptTokensAfterEstimated": 4865,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    }
  },
  {
    "id": "CTRL_SET_PROPERTY_PLURAL",
    "instruction": "pon el color del texto seleccionado en rojo",
    "payload": {
      "cAction": "commandsExperimental",
      "cModelKey": "gpt-oss-20b",
      "cInstruction": "pon el color del texto seleccionado en rojo",
      "aSelectedObjects": [
        {
          "cId": "obj_1786345692249_68qrno",
          "cType": "TText",
          "cName": "Texto 1"
        },
        {
          "cId": "obj_1786345692249_nq07z7",
          "cType": "TText",
          "cName": "Texto 2"
        },
        {
          "cId": "obj_1786345692249_s2p6uy",
          "cType": "TText",
          "cName": "Texto 3"
        }
      ],
      "aPropertyMetadata": [
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Ejecución",
          "editor": "select"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Ejecución",
          "editor": "text"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Ejecución",
          "editor": "checkbox"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Dimensiones y Color",
          "editor": "select"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Dimensiones y Color",
          "editor": "color"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Dimensiones y Color",
          "editor": "number"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Transformación",
          "editor": "number"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Borde",
          "editor": "color"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Borde",
          "editor": "border-visibility"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Borde",
          "editor": "number"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Sombra",
          "editor": "number"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Sombra",
          "editor": "color"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto",
          "editor": "text",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto",
          "editor": "checkbox",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto",
          "editor": "select",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto",
          "editor": "border-visibility",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto",
          "editor": "number",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto",
          "editor": "color",
          "type": "TText",
          "typeLabel": "Texto"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Rectángulo",
          "editor": "text",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Rectángulo",
          "editor": "checkbox",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Rectángulo",
          "editor": "select",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Rectángulo",
          "editor": "border-visibility",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Rectángulo",
          "editor": "number",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Rectángulo",
          "editor": "color",
          "type": "TRectangle",
          "typeLabel": "Rectángulo"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Elipse",
          "editor": "text",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Elipse",
          "editor": "checkbox",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Elipse",
          "editor": "select",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Elipse",
          "editor": "border-visibility",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Elipse",
          "editor": "number",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Elipse",
          "editor": "color",
          "type": "TEllipse",
          "typeLabel": "Elipse"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSource",
          "label": "Origen / contenido",
          "group": "Imagen",
          "editor": "text",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cSourceType",
          "label": "Tipo de origen",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "lKeepRatio",
          "label": "Mantener proporción",
          "group": "Imagen",
          "editor": "checkbox",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFit",
          "label": "Ajuste",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Imagen",
          "editor": "select",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Imagen",
          "editor": "border-visibility",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Imagen",
          "editor": "number",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Imagen",
          "editor": "color",
          "type": "TImage",
          "typeLabel": "Imagen"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Línea",
          "editor": "text",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Línea",
          "editor": "checkbox",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cOrientation",
          "label": "Orientación",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cLineStyle",
          "label": "Estilo",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Línea",
          "editor": "select",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Línea",
          "editor": "number",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Línea",
          "editor": "color",
          "type": "TLine",
          "typeLabel": "Línea"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Código de barras",
          "editor": "text",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBarcodeType",
          "label": "Tipo",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lShowText",
          "label": "Mostrar texto",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Código de barras",
          "editor": "checkbox",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Código de barras",
          "editor": "select",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Código de barras",
          "editor": "border-visibility",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Código de barras",
          "editor": "number",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Código de barras",
          "editor": "color",
          "type": "TBarcode",
          "typeLabel": "Código de barras"
        },
        {
          "property": "cContent",
          "label": "Contenido",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cOverflow",
          "label": "Desbordamiento",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto enriquecido",
          "editor": "text",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto enriquecido",
          "editor": "checkbox",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto enriquecido",
          "editor": "select",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto enriquecido",
          "editor": "border-visibility",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto enriquecido",
          "editor": "number",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto enriquecido",
          "editor": "color",
          "type": "richText",
          "typeLabel": "Texto enriquecido"
        },
        {
          "property": "cText",
          "label": "Contenido",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFontFamily",
          "label": "Fuente",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFontSize",
          "label": "Tamaño",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontBold",
          "label": "Negrita",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontItalic",
          "label": "Cursiva",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontUnderline",
          "label": "Subrayado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lFontStrikeout",
          "label": "Tachado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextWrap",
          "label": "Partir si no cabe",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lAllowPageBreak",
          "label": "Continuar entre páginas",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLineSpacing",
          "label": "Interlineado adicional",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nParagraphSpacing",
          "label": "Espacio entre párrafos",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lKeepEmptyParagraphs",
          "label": "Conservar párrafos vacíos",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTextAdjusted",
          "label": "Justificación forzada",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lTrimSpaces",
          "label": "Recortar espacios exteriores",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextOpacity",
          "label": "Opacidad texto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextAlign",
          "label": "Alineación",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTextDecimalPosition",
          "label": "Posición decimal",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cTextVerticalAlign",
          "label": "Alineación vertical",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cName",
          "label": "Nombre",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cType",
          "label": "Tipo de objeto",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLayerId",
          "label": "Capa",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cCondition",
          "label": "Condición de aparición",
          "group": "Texto formateado",
          "editor": "text",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lVisible",
          "label": "Visible",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "lLocked",
          "label": "Bloqueado",
          "group": "Texto formateado",
          "editor": "checkbox",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nLeft",
          "label": "Izquierda",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nTop",
          "label": "Superior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRight",
          "label": "Derecha",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBottom",
          "label": "Inferior",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nWidth",
          "label": "Ancho",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nHeight",
          "label": "Alto",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBackgroundColor",
          "label": "Color de fondo",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillStyle",
          "label": "Tipo de relleno",
          "group": "Texto formateado",
          "editor": "select",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor2",
          "label": "Color final",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cFillColor3",
          "label": "Color intermedio",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nFillOpacity",
          "label": "Opacidad del relleno",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRotation",
          "label": "Rotación",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nOpacity",
          "label": "Opacidad",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cBorderColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nBorderWidth",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "borderVisibility",
          "label": "Visibilidad",
          "group": "Texto formateado",
          "editor": "border-visibility",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nRounded",
          "label": "Redondeo",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowSize",
          "label": "Grosor",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "nShadowTransparency",
          "label": "Transparencia",
          "group": "Texto formateado",
          "editor": "number",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        },
        {
          "property": "cShadowColor",
          "label": "Color",
          "group": "Texto formateado",
          "editor": "color",
          "type": "TFormattedText",
          "typeLabel": "Texto formateado"
        }
      ],
      "aAvailableFields": [
        {
          "cName": "DATOS_EMPRESA.empresa",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.fecha",
          "cType": "fecha",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.logo_empresa",
          "cType": "imagen",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.ruta_logo",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "DATOS_EMPRESA.usuario",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "DATOS_EMPRESA"
        },
        {
          "cName": "FACLI.cliente",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.codigoc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.nifc",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "FACLI.total",
          "cType": "numerico",
          "cOrigin": "DataVar",
          "cGroup": "FACLI"
        },
        {
          "cName": "LINEAS_FACTURA.cantidad",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.codigo_articulo",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.descripcion",
          "cType": "texto",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.logo_linea",
          "cType": "imagen",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.precio",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "LINEAS_FACTURA.total_linea",
          "cType": "numerico",
          "cOrigin": "DetalleVar",
          "cGroup": "LINEAS_FACTURA"
        },
        {
          "cName": "VENDE.codvende",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        },
        {
          "cName": "VENDE.nombre",
          "cType": "texto",
          "cOrigin": "DataVar",
          "cGroup": "VENDE"
        }
      ],
      "hTemplate": {
        "cType": "TDocument",
        "cFormatVersion": "1.0",
        "cTemplateId": "",
        "cTemplateName": "Documento",
        "cDocumentKind": "report",
        "cPaperFormat": "a4",
        "cPaperOrientation": "portrait",
        "tModifiedAt": "2026-08-10T07:08:12.234Z",
        "cFileName": "",
        "nPaperWidth": 210,
        "nPaperHeight": 297,
        "cPaperHeightMode": "fixed",
        "nDesignHeight": 250,
        "nContinuousBottomMargin": 5,
        "lShowGrid": true,
        "hUserVars": {},
        "hAcumVars": {},
        "hImportMetadata": {},
        "hLabelLayout": {
          "nLabelWidth": 70,
          "nLabelHeight": 37,
          "nColumns": 3,
          "nRows": 8,
          "nMarginLeft": 0,
          "nMarginTop": 0,
          "nGapHorizontal": 0,
          "nGapVertical": 0,
          "cFlow": "row",
          "cLabelFormat": "manual",
          "nPrintOffsetX": 0,
          "nPrintOffsetY": 0
        },
        "hLayers": {
          "0": {
            "nId": 0,
            "cName": "Capa 1",
            "cCondition": "",
            "lDesignerVisible": true,
            "cColor": "#000000"
          }
        },
        "aObjects": [
          {
            "cId": "obj_1786345692249_68qrno",
            "cName": "Texto 1",
            "cType": "TText",
            "nLeft": 10,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 1\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345692249_nq07z7",
            "cName": "Texto 2",
            "cType": "TText",
            "nLeft": 40,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 2\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345692249_s2p6uy",
            "cName": "Texto 3",
            "cType": "TText",
            "nLeft": 70,
            "nTop": 10,
            "nWidth": 20,
            "nHeight": 8,
            "lVisible": true,
            "lLocked": false,
            "lSelected": true,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": false,
            "lBorderRight": false,
            "lBorderBottom": false,
            "lBorderLeft": false,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": "",
            "cText": "\"TEXTO 3\"",
            "cFontFamily": "Arial",
            "nFontSize": 12,
            "nFontOutPrecision": 0,
            "nFontPitchAndFamily": 0,
            "lFontBold": false,
            "cFontBoldFormula": "",
            "lFontItalic": false,
            "cFontItalicFormula": "",
            "lFontUnderline": false,
            "cFontUnderlineFormula": "",
            "lFontStrikeout": false,
            "cFontStrikeoutFormula": "",
            "lTextWrap": true,
            "lAllowPageBreak": false,
            "nLineSpacing": 0,
            "nParagraphSpacing": 0,
            "lKeepEmptyParagraphs": true,
            "lTextAdjusted": false,
            "lTrimSpaces": false,
            "cTextFlowGroup": "",
            "nTextFlowOrder": 0,
            "nTextFlowLineHeight": 0,
            "cTextColor": "#000000",
            "cTextColorFormula": "",
            "nTextOpacity": 1,
            "cTextAlign": "left",
            "nTextDecimalPosition": -10,
            "cTextVerticalAlign": "top",
            "cLl12SourceType": "",
            "cLl12SourceJson": ""
          },
          {
            "cId": "obj_1786345692249_d1dw63",
            "cName": "Rectángulo",
            "cType": "TRectangle",
            "nLeft": 10,
            "nTop": 30,
            "nWidth": 40,
            "nHeight": 20,
            "lVisible": true,
            "lLocked": false,
            "lSelected": false,
            "nLayerId": 0,
            "nZIndex": 1,
            "cBorderColor": "#000000",
            "cBorderColorFormula": "",
            "nBorderWidth": 0.1,
            "lBorderTop": true,
            "lBorderRight": true,
            "lBorderBottom": true,
            "lBorderLeft": true,
            "cBackgroundColor": "#ffffff",
            "cBackgroundColorFormula": "",
            "cFillStyle": "solid",
            "cFillColor2": "#ffffff",
            "cFillColor2Formula": "",
            "cFillColor3": "#ffffff",
            "cFillColor3Formula": "",
            "nFillOpacity": 1,
            "nRounded": 0,
            "nShadowSize": 0,
            "nShadowTransparency": 50,
            "cShadowColor": "#000000",
            "cShadowColorFormula": "",
            "nRotation": 0,
            "nOpacity": 1,
            "cCondition": "",
            "nPaddingTop": 0,
            "nPaddingRight": 0,
            "nPaddingBottom": 0,
            "nPaddingLeft": 0,
            "nLl12LinkID": 0,
            "nLl12LinkToID": 0,
            "nLl12LinkMode": 0,
            "nLl12GroupId": 0,
            "lLl12WrapBefore": false,
            "cTableId": "",
            "cTableSectionKey": ""
          }
        ]
      }
    },
    "response": {
      "lOk": true,
      "hInspection": {
        "cInstruction": "pon el color del texto seleccionado en rojo",
        "cProvider": "Ollama",
        "cModelSelection": "Ollama — GPT-OSS 20B",
        "cModel": "gpt-oss:20b",
        "cRepresentation": "COMMANDS",
        "cRawResponse": "{\"commands\":[{\"command\":\"setProperty\",\"target\":\"selection\",\"property\":\"cTextColor\",\"value\":\"#ff0000\"}]}",
        "cThinking": "Need setProperty cTextColor to #ff0000 for selection.",
        "cOllamaRequest": "{\"model\":\"gpt-oss:20b\",\"messages\":[{\"role\":\"system\",\"content\":\"Interpreta la instrucciÃ³n y devuelve Ãºnicamente JSON vÃ¡lido con la forma {\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"propiedad_real\\\",\\\"value\\\":valor}]}. Cada comando DEBE usar la clave command (nunca type) y target. Comandos permitidos: setProperty, move, resize, delete, align, distribute, reorder, duplicate, tableMoveColumn, tableSetColumnWidth, tableInsertColumn, tableDeleteColumn, tableInsertLine, tableDeleteLine, tableMoveLine, tableSetLineHeight, tableSetLineBackground, tableSetLineBorderColor, tableSetLineBorderWidth, tableSetLinePadding, tableSetLineBorderRadius, tableSetLineBorderSide, tableSetLineVerticalSeparators, tableSetLineZebraEnabled, tableSetLineZebraColor, tableSetLineCondition, tableSetLineSuppressCondition, tableSetLineBackgroundColorFormula, tableSetLineBorderColorFormula. Prioridad: propiedad o estilo â†’ setProperty; desplazamiento relativo â†’ move; tamaÃ±o relativo â†’ resize; alineaciÃ³n de varios objetos â†’ align; eliminar objetos â†’ delete. Para eliminar usa exactamente {\\\"command\\\":\\\"delete\\\",\\\"target\\\":\\\"selection\\\"}. Si se pide duplicar, reducir o cambiar el tamaÃ±o, devuelve Ãºnicamente resize y no uses setProperty para propiedades numÃ©ricas. Para setProperty usa exactamente property y value, nunca name ni valores como *2. Para move usa {\\\"command\\\":\\\"move\\\",\\\"target\\\":\\\"selection\\\",\\\"dx\\\":10,\\\"dy\\\":0}; para resize usa {\\\"command\\\":\\\"resize\\\",\\\"target\\\":\\\"selection\\\",\\\"scaleX\\\":0.5,\\\"scaleY\\\":0.5}. Para alinear usa exactamente {\\\"command\\\":\\\"align\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"left\\\"}; modos vÃ¡lidos: left|right|top|bottom|horizontalCenter|verticalCenter. Si la orden se refiere a los objetos seleccionados, usa target:\\\"selection\\\". No enumeres IDs ni calcules coordenadas o dimensiones finales. El contexto distingue SELECCION_ACTUAL_SCOPE=selection y RESTO_DEL_DOCUMENTO_SCOPE=global. Usa target:\\\"selection\\\" para referencias a la selecciÃ³n actual. Para instrucciones globales como todos, cada o todo el documento, usa la forma ya soportada target:{\\\"ids\\\":[...]} con los cId existentes de la selecciÃ³n y del resto del documento que correspondan; no inventes IDs y no uses target:\\\"selection\\\" para una orden global. Para distribuir usa exactamente {\\\"command\\\":\\\"distribute\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"horizontal\\\"}; modos vÃƒÂ¡lidos: horizontal|vertical. Para reordenar usa exactamente {\\\"command\\\":\\\"reorder\\\",\\\"target\\\":\\\"selection\\\",\\\"mode\\\":\\\"bringToFront\\\"}; modos vÃƒÂ¡lidos: bringToFront=traer al frente, sendToBack=enviar al fondo, bringForward=subir un nivel, sendBackward=bajar un nivel. Para duplicar usa exactamente {\\\"command\\\":\\\"duplicate\\\",\\\"target\\\":\\\"selection\\\"}. Para tablas usa Ãºnicamente estas formas: {\\\"command\\\":\\\"tableMoveColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"fromIndex\\\":2,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetColumnWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"header\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":0,\\\"width\\\":30}, {\\\"command\\\":\\\"tableInsertColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableDeleteColumn\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"columnIndex\\\":2}, {\\\"command\\\":\\\"tableInsertLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableDeleteLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":1}, {\\\"command\\\":\\\"tableMoveLine\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"fromIndex\\\":1,\\\"toIndex\\\":0}, {\\\"command\\\":\\\"tableSetLineHeight\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"height\\\":12}, {\\\"command\\\":\\\"tableSetLineBackground\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#d3d3d3\\\"}; section: header|groupHeader|detail|groupFooter|footer. Los Ã­ndices son enteros cero-basados y no negativos. tableSetLineHeight usa altura fija en milÃ­metros >=1. tableSetLineBackground usa Ãºnicamente color HEX fijo; no usa fÃ³rmulas ni paths privados. Insertar columna usa columnIndex como posiciÃ³n antes de la columna existente; si coincide con el nÃºmero actual de columnas, aÃ±ade al final. Insertar lÃ­nea usa lineIndex como posiciÃ³n antes de la lÃ­nea existente; si coincide con el nÃºmero actual de lÃ­neas, aÃ±ade al final. No uses hSections, aLines ni aCells. SemÃ¡ntica de lÃ­neas OBLIGATORIA: si una secciÃ³n tiene una sola lÃ­nea, basta mencionar la secciÃ³n y usa lineIndex 0. Si tiene varias lÃ­neas, una operaciÃ³n estructural debe indicar la lÃ­nea; si no la indica y no dice todas, devuelve EXACTAMENTE {\\\"commands\\\":[]}. Solo si dice todas las lÃ­neas genera una operaciÃ³n por cada lÃ­nea existente. Esta regla no afecta a objetos visuales de celda, que siguen usando commands normales. Para cambiar altura o fondo fijo de una lÃ­nea de TTable usa obligatoriamente tableSetLineHeight o tableSetLineBackground con section y lineIndex; no uses setProperty para esas operaciones. Shapes adicionales de lÃ­nea: {\\\"command\\\":\\\"tableSetLineBorderColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"color\\\":\\\"#0000ff\\\"}, {\\\"command\\\":\\\"tableSetLineBorderWidth\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"width\\\":1}, {\\\"command\\\":\\\"tableSetLinePadding\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"nTop\\\",\\\"value\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderRadius\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"radius\\\":2}, {\\\"command\\\":\\\"tableSetLineBorderSide\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"side\\\":\\\"top\\\",\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineVerticalSeparators\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"visible\\\":true}, {\\\"command\\\":\\\"tableSetLineCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.cantidad > 0\\\"}, {\\\"command\\\":\\\"tableSetLineSuppressCondition\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"DETAIL.importe == 0\\\"}, {\\\"command\\\":\\\"tableSetLineBackgroundColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}, {\\\"command\\\":\\\"tableSetLineBorderColorFormula\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"formula\\\":\\\"IF(...)\\\"}. Las cuatro primitivas de fórmula reciben formula como string literal y aceptan string vacío para borrar; no evalúes ni cambies la sintaxis. Usa la primitiva específica según sea condición, supresión o fórmula de color; no uses paths hBorder, hBackground ni setProperty. Si la instrucciÃ³n menciona una lÃ­nea, cabecera, detalle o pie, el color de borde de esa lÃ­nea usa tableSetLineBorderColor y nunca setProperty. Zebra solo existe en lÃ­neas detail. Shapes exactas: {\\\"command\\\":\\\"tableSetLineZebraEnabled\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"enabled\\\":true} y {\\\"command\\\":\\\"tableSetLineZebraColor\\\",\\\"target\\\":\\\"selection\\\",\\\"section\\\":\\\"detail\\\",\\\"lineIndex\\\":0,\\\"role\\\":\\\"odd\\\",\\\"color\\\":\\\"#d3d3d3\\\"}. Usa enabled booleano para activar o desactivar y role odd/even para filas impares/pares. No uses hZebraPattern ni paths privados. TambiÃƒÂ©n se permite create: {\\\"command\\\":\\\"create\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"texto\\\\\\\\\\\"\\\"}}. En create describe ÃƒÂºnicamente lo solicitado: incluye solo el tipo, contenido, posiciÃƒÂ³n y propiedades que la instrucciÃƒÂ³n pida explÃƒÂ­citamente; el diseÃƒÂ±ador completa los defaults reales. Tipos reales: TText,TRectangle,TEllipse,TImage,TLine,TBarcode,richText,TFormattedText. Properties solo editables, nunca cId, defaults, estructura interna ni geometrÃƒÂ­a. position usa {\\\"x\\\":20,\\\"y\\\":30}. Una ref es temporal dentro de esta respuesta: el create declara ref:\\\"new1\\\" y un comando posterior apunta al mismo objeto con target:{\\\"ref\\\":\\\"new1\\\"}. Ejemplo: {\\\"commands\\\":[{\\\"command\\\":\\\"create\\\",\\\"ref\\\":\\\"new1\\\",\\\"type\\\":\\\"TText\\\",\\\"properties\\\":{\\\"cText\\\":\\\"\\\\\\\\\\\"TOTAL\\\\\\\\\\\"\\\"}},{\\\"command\\\":\\\"resize\\\",\\\"target\\\":{\\\"ref\\\":\\\"new1\\\"},\\\"scaleX\\\":2,\\\"scaleY\\\":2}]}. TIPOS:TBarcode=Código de barras,TEllipse=Elipse,TFormattedText=Texto formateado,TImage=Imagen,TLine=Línea,TRectangle=Rectángulo,TText=Texto,richText=Texto enriquecido. PROPS_TBarcode:cBackgroundColor:string=Código de barras / Color de fondo,cBarcodeType:string=Código de barras / Tipo,cBorderColor:string=Código de barras / Color,cColor:string=Código de barras / Color,cCondition:string=Código de barras / Condición de aparición,cContent:string=Código de barras / Contenido,cFillColor2:string=Código de barras / Color final,cFillColor3:string=Código de barras / Color intermedio,cFillStyle:string=Código de barras / Tipo de relleno,cFontFamily:string=Código de barras / Fuente,cShadowColor:string=Código de barras / Color,lFontBold:boolean=Código de barras / Negrita,lFontItalic:boolean=Código de barras / Cursiva,lFontStrikeout:boolean=Código de barras / Tachado,lFontUnderline:boolean=Código de barras / Subrayado,lLocked:boolean=Código de barras / Bloqueado,lShowText:boolean=Código de barras / Mostrar texto,lTrimSpaces:boolean=Código de barras / Recortar espacios exteriores,lVisible:boolean=Código de barras / Visible,nBorderWidth:number=Código de barras / Grosor,nFillOpacity:number=Código de barras / Opacidad del relleno,nFontSize:number=Código de barras / Tamaño,nLayerId:number=Código de barras / Capa,nOpacity:number=Código de barras / Opacidad,nRotation:number=Código de barras / Rotación,nRounded:number=Código de barras / Redondeo,nShadowSize:number=Código de barras / Grosor,nShadowTransparency:number=Código de barras / Transparencia. PROPS_TEllipse:cBackgroundColor:string=Elipse / Color de fondo,cBorderColor:string=Elipse / Color,cCondition:string=Elipse / Condición de aparición,cFillColor2:string=Elipse / Color final,cFillColor3:string=Elipse / Color intermedio,cFillStyle:string=Elipse / Tipo de relleno,cShadowColor:string=Elipse / Color,lLocked:boolean=Elipse / Bloqueado,lVisible:boolean=Elipse / Visible,nBorderWidth:number=Elipse / Grosor,nFillOpacity:number=Elipse / Opacidad del relleno,nLayerId:number=Elipse / Capa,nOpacity:number=Elipse / Opacidad,nRotation:number=Elipse / Rotación,nRounded:number=Elipse / Redondeo,nShadowSize:number=Elipse / Grosor,nShadowTransparency:number=Elipse / Transparencia. PROPS_TFormattedText:cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto. PROPS_TImage:cBackgroundColor:string=Imagen / Color de fondo,cBorderColor:string=Imagen / Color,cCondition:string=Imagen / Condición de aparición,cFillColor2:string=Imagen / Color final,cFillColor3:string=Imagen / Color intermedio,cFillStyle:string=Imagen / Tipo de relleno,cFit:string=Imagen / Ajuste,cShadowColor:string=Imagen / Color,cSource:string=Imagen / Origen / contenido,cSourceType:string=Imagen / Tipo de origen,lKeepRatio:boolean=Imagen / Mantener proporción,lLocked:boolean=Imagen / Bloqueado,lVisible:boolean=Imagen / Visible,nBorderWidth:number=Imagen / Grosor,nFillOpacity:number=Imagen / Opacidad del relleno,nLayerId:number=Imagen / Capa,nOpacity:number=Imagen / Opacidad,nRotation:number=Imagen / Rotación,nRounded:number=Imagen / Redondeo,nShadowSize:number=Imagen / Grosor,nShadowTransparency:number=Imagen / Transparencia. PROPS_TLine:cBorderColor:string=Línea / Color,cCondition:string=Línea / Condición de aparición,cFillColor2:string=Línea / Color final,cFillColor3:string=Línea / Color intermedio,cFillStyle:string=Línea / Tipo de relleno,cLineStyle:string=Línea / Estilo,cOrientation:string=Línea / Orientación,cShadowColor:string=Línea / Color,lLocked:boolean=Línea / Bloqueado,lVisible:boolean=Línea / Visible,nBorderWidth:number=Línea / Grosor,nFillOpacity:number=Línea / Opacidad del relleno,nLayerId:number=Línea / Capa,nOpacity:number=Línea / Opacidad,nRotation:number=Línea / Rotación,nShadowSize:number=Línea / Grosor,nShadowTransparency:number=Línea / Transparencia. PROPS_TRectangle:cBackgroundColor:string=Rectángulo / Color de fondo,cBorderColor:string=Rectángulo / Color,cCondition:string=Rectángulo / Condición de aparición,cFillColor2:string=Rectángulo / Color final,cFillColor3:string=Rectángulo / Color intermedio,cFillStyle:string=Rectángulo / Tipo de relleno,cShadowColor:string=Rectángulo / Color,lLocked:boolean=Rectángulo / Bloqueado,lVisible:boolean=Rectángulo / Visible,nBorderWidth:number=Rectángulo / Grosor,nFillOpacity:number=Rectángulo / Opacidad del relleno,nLayerId:number=Rectángulo / Capa,nOpacity:number=Rectángulo / Opacidad,nRotation:number=Rectángulo / Rotación,nRounded:number=Rectángulo / Redondeo,nShadowSize:number=Rectángulo / Grosor,nShadowTransparency:number=Rectángulo / Transparencia. PROPS_TText:cBackgroundColor:string=Texto / Color de fondo,cBorderColor:string=Texto / Color,cCondition:string=Texto / Condición de aparición,cFillColor2:string=Texto / Color final,cFillColor3:string=Texto / Color intermedio,cFillStyle:string=Texto / Tipo de relleno,cFontFamily:string=Texto / Fuente,cShadowColor:string=Texto / Color,cText:string=Texto / Contenido,cTextAlign:string=Texto / Alineación,cTextColor:string=Texto / Color,cTextVerticalAlign:string=Texto / Alineación vertical,lAllowPageBreak:boolean=Texto / Continuar entre páginas,lFontBold:boolean=Texto / Negrita,lFontItalic:boolean=Texto / Cursiva,lFontStrikeout:boolean=Texto / Tachado,lFontUnderline:boolean=Texto / Subrayado,lKeepEmptyParagraphs:boolean=Texto / Conservar párrafos vacíos,lLocked:boolean=Texto / Bloqueado,lTextAdjusted:boolean=Texto / Justificación forzada,lTextWrap:boolean=Texto / Partir si no cabe,lTrimSpaces:boolean=Texto / Recortar espacios exteriores,lVisible:boolean=Texto / Visible,nBorderWidth:number=Texto / Grosor,nFillOpacity:number=Texto / Opacidad del relleno,nFontSize:number=Texto / Tamaño,nLayerId:number=Texto / Capa,nLineSpacing:number=Texto / Interlineado adicional,nOpacity:number=Texto / Opacidad,nParagraphSpacing:number=Texto / Espacio entre párrafos,nRotation:number=Texto / Rotación,nRounded:number=Texto / Redondeo,nShadowSize:number=Texto / Grosor,nShadowTransparency:number=Texto / Transparencia,nTextDecimalPosition:number=Texto / Posición decimal,nTextOpacity:number=Texto / Opacidad texto. PROPS_richText:cBackgroundColor:string=Texto enriquecido / Color de fondo,cBorderColor:string=Texto enriquecido / Color,cCondition:string=Texto enriquecido / Condición de aparición,cContent:string=Texto enriquecido / Contenido,cFillColor2:string=Texto enriquecido / Color final,cFillColor3:string=Texto enriquecido / Color intermedio,cFillStyle:string=Texto enriquecido / Tipo de relleno,cOverflow:string=Texto enriquecido / Desbordamiento,cShadowColor:string=Texto enriquecido / Color,cVerticalAlign:string=Texto enriquecido / Alineación vertical,lLocked:boolean=Texto enriquecido / Bloqueado,lVisible:boolean=Texto enriquecido / Visible,nBorderWidth:number=Texto enriquecido / Grosor,nFillOpacity:number=Texto enriquecido / Opacidad del relleno,nLayerId:number=Texto enriquecido / Capa,nOpacity:number=Texto enriquecido / Opacidad,nRotation:number=Texto enriquecido / Rotación,nRounded:number=Texto enriquecido / Redondeo,nShadowSize:number=Texto enriquecido / Grosor,nShadowTransparency:number=Texto enriquecido / Transparencia.\"},{\"role\":\"user\",\"content\":\"SELECCION_ACTUAL_SCOPE=selection:\\n[{\\\"cId\\\":\\\"obj_1786345692249_68qrno\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345692249_nq07z7\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345692249_s2p6uy\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nRESTO_DEL_DOCUMENTO_SCOPE=global:\\n[{\\\"cId\\\":\\\"obj_1786345692249_d1dw63\\\",\\\"cType\\\":\\\"TRectangle\\\",\\\"cName\\\":\\\"Rectángulo\\\"}]\\nSELECCIÃ“N REAL:\\n[{\\\"cId\\\":\\\"obj_1786345692249_68qrno\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 1\\\"},{\\\"cId\\\":\\\"obj_1786345692249_nq07z7\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 2\\\"},{\\\"cId\\\":\\\"obj_1786345692249_s2p6uy\\\",\\\"cType\\\":\\\"TText\\\",\\\"cName\\\":\\\"Texto 3\\\"}]\\nPROPIEDADES COMUNES EDITABLES: cBackgroundColor:string=Texto formateado / Color de fondo,cBorderColor:string=Texto formateado / Color,cCondition:string=Texto formateado / Condición de aparición,cFillColor2:string=Texto formateado / Color final,cFillColor3:string=Texto formateado / Color intermedio,cFillStyle:string=Texto formateado / Tipo de relleno,cFontFamily:string=Texto formateado / Fuente,cShadowColor:string=Texto formateado / Color,cText:string=Texto formateado / Contenido,cTextAlign:string=Texto formateado / Alineación,cTextColor:string=Texto formateado / Color,cTextVerticalAlign:string=Texto formateado / Alineación vertical,lAllowPageBreak:boolean=Texto formateado / Continuar entre páginas,lBorderBottom:boolean,lBorderLeft:boolean,lBorderRight:boolean,lBorderTop:boolean,lFontBold:boolean=Texto formateado / Negrita,lFontItalic:boolean=Texto formateado / Cursiva,lFontStrikeout:boolean=Texto formateado / Tachado,lFontUnderline:boolean=Texto formateado / Subrayado,lKeepEmptyParagraphs:boolean=Texto formateado / Conservar párrafos vacíos,lLocked:boolean=Texto formateado / Bloqueado,lTextAdjusted:boolean=Texto formateado / Justificación forzada,lTextWrap:boolean=Texto formateado / Partir si no cabe,lTrimSpaces:boolean=Texto formateado / Recortar espacios exteriores,lVisible:boolean=Texto formateado / Visible,nBorderWidth:number=Texto formateado / Grosor,nFillOpacity:number=Texto formateado / Opacidad del relleno,nFontSize:number=Texto formateado / Tamaño,nLayerId:number=Texto formateado / Capa,nLineSpacing:number=Texto formateado / Interlineado adicional,nOpacity:number=Texto formateado / Opacidad,nPaddingBottom:number,nPaddingLeft:number,nPaddingRight:number,nPaddingTop:number,nParagraphSpacing:number=Texto formateado / Espacio entre párrafos,nRotation:number=Texto formateado / Rotación,nRounded:number=Texto formateado / Redondeo,nShadowSize:number=Texto formateado / Grosor,nShadowTransparency:number=Texto formateado / Transparencia,nTextDecimalPosition:number=Texto formateado / Posición decimal,nTextOpacity:number=Texto formateado / Opacidad texto,nZIndex:number\\nCOLORES CANÃ“NICOS: rojo:#ff0000 Â· verde:#008000 Â· verde oscuro:#006400 Â· azul:#0000ff Â· azul oscuro:#00008b Â· amarillo:#ffff00 Â· gris claro:#d3d3d3\\n\\nINSTRUCCIÃ“N:\\npon el color del texto seleccionado en rojo\"}],\"stream\":false,\"format\":\"json\",\"keep_alive\":-1,\"options\":{\"temperature\":0,\"top_p\":1,\"top_k\":0,\"repeat_penalty\":1.1,\"frequency_penalty\":0,\"presence_penalty\":0,\"num_ctx\":65536,\"num_batch\":4096,\"num_thread\":10,\"num_gpu\":99,\"num_predict\":4096},\"think\":\"low\"}",
        "cHttpBody": "{\"model\":\"gpt-oss:20b\",\"created_at\":\"2026-08-10T07:08:14.9202399Z\",\"message\":{\"role\":\"assistant\",\"content\":\"{\\\"commands\\\":[{\\\"command\\\":\\\"setProperty\\\",\\\"target\\\":\\\"selection\\\",\\\"property\\\":\\\"cTextColor\\\",\\\"value\\\":\\\"#ff0000\\\"}]}\",\"thinking\":\"Need setProperty cTextColor to #ff0000 for selection.\"},\"done\":true,\"done_reason\":\"stop\",\"total_duration\":1222387800,\"load_duration\":200652900,\"prompt_eval_count\":5046,\"prompt_eval_duration\":14451000,\"eval_count\":28,\"eval_duration\":355190000}",
        "hMetrics": {
          "total_duration": 1222387800,
          "load_duration": 200652900,
          "prompt_eval_count": 5046,
          "prompt_eval_duration": 14451000,
          "eval_count": 28,
          "eval_duration": 355190000,
          "unattributed_duration": 652093900
        },
        "hCommands": {
          "commands": [
            {
              "command": "setProperty",
              "target": "selection",
              "property": "cTextColor",
              "value": "#ff0000"
            }
          ]
        },
        "lValid": true,
        "nCreates": 0,
        "nChanges": 0,
        "nDeletes": 0,
        "nStructures": 0,
        "nGeneratedIds": 0,
        "nOperations": 1,
        "nFinalOperations": 1,
        "cValidation": "Shape commands vÃ¡lida; validaciÃ³n de ejecuciÃ³n pendiente",
        "nResponseMilliseconds": 1249.662,
        "tRequestStartedAt": "2026-08-10T09:08:13.672434+02:00",
        "tResponseFinishedAt": "2026-08-10T09:08:14.922098+02:00",
        "hPromptDiagnostics": {
          "nSystemCharacters": 16569,
          "nUserCharacters": 2898,
          "nPromptCharacters": 19468,
          "nPromptTokensAfterEstimated": 4867,
          "nContextTokens": 65536,
          "lPromptFitsContext": true
        }
      }
    }
  }
]