Blocks are not marked as capture when lolicode use of specific statements

Hello Ruri, hoping you have a good day and in the same way you are not busy, I would like you to support me with a question I have.

I explain.

when I use some lolicode script of specific declarations, this time when I use the IF.

The detail is that if I have blocks marked as capture between an IF, the block simply returns the results as a var

Example:

In this image in the translate block it is the one that I have marked as capture if I complete the condition, my request but when I execute the configuration it is simply marked as a var and not as capture and if I remove the blocks from lolicode it returns it to me as capture and not like var.

I hope you can help me and thank you in advance for the time you dedicate to our doubts
image

IF STRINGKEY @data.SOURCE EqualTo "[]"
BLOCK:Parse
  input = @data.SOURCE
  jToken = "details.provider"
  MODE:Json
  => VAR @P1
ENDBLOCK

BLOCK:Parse
  input = @data.SOURCE
  jToken = "type"
  MODE:Json
  => VAR @P3
ENDBLOCK

BLOCK:Parse
  input = @data.SOURCE
  jToken = "details.Type"
  MODE:Json
  => VAR @P2
ENDBLOCK

BLOCK:Translate
  input = $"<P1><P2><P3>"
  translations = {("[", ""), ("]", ""), ("Non Words", "Empty")}
  => CAP @Result
ENDBLOCK

END 

@Ruri

Hello, please read this

You have to declare variables before the IF beings, and then make the assignment inside it. You can put “is capture” anywhere you want, in the declaration or in the assignment it will not matter.