{
  "type": "Program",
  "body": [
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "Injector",
          "range": [
            38,
            46
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 13
            },
            "end": {
              "line": 4,
              "column": 21
            }
          }
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  239,
                  250
                ],
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 2
                  },
                  "end": {
                    "line": 12,
                    "column": 13
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "resolvedBindings",
                    "range": [
                      251,
                      267
                    ],
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 14
                      },
                      "end": {
                        "line": 12,
                        "column": 30
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "parent",
                    "range": [
                      269,
                      275
                    ],
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 32
                      },
                      "end": {
                        "line": 12,
                        "column": 38
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              282,
                              286
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 4
                              },
                              "end": {
                                "line": 13,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "resolvedBindings",
                            "range": [
                              287,
                              303
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 9
                              },
                              "end": {
                                "line": 13,
                                "column": 25
                              }
                            }
                          },
                          "range": [
                            282,
                            303
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 4
                            },
                            "end": {
                              "line": 13,
                              "column": 25
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "resolvedBindings",
                          "range": [
                            306,
                            322
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 28
                            },
                            "end": {
                              "line": 13,
                              "column": 44
                            }
                          }
                        },
                        "range": [
                          282,
                          322
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 4
                          },
                          "end": {
                            "line": 13,
                            "column": 44
                          }
                        }
                      },
                      "range": [
                        282,
                        323
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 4
                        },
                        "end": {
                          "line": 13,
                          "column": 45
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              328,
                              332
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 4
                              },
                              "end": {
                                "line": 14,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "parent",
                            "range": [
                              333,
                              339
                            ],
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 9
                              },
                              "end": {
                                "line": 14,
                                "column": 15
                              }
                            }
                          },
                          "range": [
                            328,
                            339
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 14,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "parent",
                          "range": [
                            342,
                            348
                          ],
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 18
                            },
                            "end": {
                              "line": 14,
                              "column": 24
                            }
                          }
                        },
                        "range": [
                          328,
                          348
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 14,
                            "column": 24
                          }
                        }
                      },
                      "range": [
                        328,
                        349
                      ],
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 4
                        },
                        "end": {
                          "line": 14,
                          "column": 25
                        }
                      }
                    }
                  ],
                  "range": [
                    276,
                    353
                  ],
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 39
                    },
                    "end": {
                      "line": 15,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  250,
                  353
                ],
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 13
                  },
                  "end": {
                    "line": 15,
                    "column": 3
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                239,
                353
              ],
              "loc": {
                "start": {
                  "line": 12,
                  "column": 2
                },
                "end": {
                  "line": 15,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * This is an Injector\n  * @constructor\n  * @param {ResolvedBinding} resolvedBindings - The resolved binding of the injector\n  * @param {Injector} parent - The parent injector\n  ",
                  "range": [
                    51,
                    236
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 2
                    },
                    "end": {
                      "line": 11,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * This is an injector Factory\n  * @param {Binding} bindings - List of the bindings to resolve\n  * @Optionnal {Injector} injector - Optionnal parent injector\n  * @returns {Injector} The new injector created\n  ",
                  "range": [
                    357,
                    573
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 2
                    },
                    "end": {
                      "line": 22,
                      "column": 4
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "resolveAndCreate",
                "range": [
                  583,
                  599
                ],
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 9
                  },
                  "end": {
                    "line": 23,
                    "column": 25
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "bindings",
                    "range": [
                      600,
                      608
                    ],
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 26
                      },
                      "end": {
                        "line": 23,
                        "column": 34
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "injector",
                    "range": [
                      610,
                      618
                    ],
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 36
                      },
                      "end": {
                        "line": 23,
                        "column": 44
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "NewExpression",
                        "callee": {
                          "type": "Identifier",
                          "name": "Injector",
                          "range": [
                            636,
                            644
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 15
                            },
                            "end": {
                              "line": 24,
                              "column": 23
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "Injector",
                                "range": [
                                  645,
                                  653
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 32
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "resolve",
                                "range": [
                                  654,
                                  661
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 40
                                  }
                                }
                              },
                              "range": [
                                645,
                                661
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 24
                                },
                                "end": {
                                  "line": 24,
                                  "column": 40
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "name": "bindings",
                                "range": [
                                  662,
                                  670
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 49
                                  }
                                }
                              }
                            ],
                            "range": [
                              645,
                              671
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 24
                              },
                              "end": {
                                "line": 24,
                                "column": 50
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "injector",
                            "range": [
                              673,
                              681
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 52
                              },
                              "end": {
                                "line": 24,
                                "column": 60
                              }
                            }
                          }
                        ],
                        "range": [
                          632,
                          682
                        ],
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 11
                          },
                          "end": {
                            "line": 24,
                            "column": 61
                          }
                        }
                      },
                      "range": [
                        625,
                        683
                      ],
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 4
                        },
                        "end": {
                          "line": 24,
                          "column": 62
                        }
                      }
                    }
                  ],
                  "range": [
                    619,
                    687
                  ],
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 45
                    },
                    "end": {
                      "line": 25,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  599,
                  687
                ],
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 25
                  },
                  "end": {
                    "line": 25,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                576,
                687
              ],
              "loc": {
                "start": {
                  "line": 23,
                  "column": 2
                },
                "end": {
                  "line": 25,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * This is an injector Factory\n  * @param {Binding} bindings - List of the bindings to resolve\n  * @Optionnal {Injector} injector - Optionnal parent injector\n  * @returns {Injector} The new injector created\n  ",
                  "range": [
                    357,
                    573
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 2
                    },
                    "end": {
                      "line": 22,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Start the binding resolution\n  * @param {Binding} bindings - An array of bindings to resolve\n  * @returns {ResolvedBinding} The array of resolvedBinding obtained\n  ",
                  "range": [
                    691,
                    865
                  ],
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 4
                    }
                  }
                }
              ],
              "static": true
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "resolve",
                "range": [
                  875,
                  882
                ],
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 9
                  },
                  "end": {
                    "line": 32,
                    "column": 16
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "bindings",
                    "range": [
                      883,
                      891
                    ],
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 17
                      },
                      "end": {
                        "line": 32,
                        "column": 25
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "resolvedBindings",
                            "range": [
                              902,
                              918
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 24
                              }
                            }
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "elements": [],
                            "range": [
                              921,
                              923
                            ],
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 27
                              },
                              "end": {
                                "line": 33,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            902,
                            923
                          ],
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        898,
                        924
                      ],
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 4
                        },
                        "end": {
                          "line": 33,
                          "column": 30
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "left": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "b",
                              "range": [
                                937,
                                938
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 12
                                },
                                "end": {
                                  "line": 34,
                                  "column": 13
                                }
                              }
                            },
                            "init": null,
                            "range": [
                              937,
                              938
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 12
                              },
                              "end": {
                                "line": 34,
                                "column": 13
                              }
                            }
                          }
                        ],
                        "kind": "var",
                        "range": [
                          933,
                          938
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 13
                          }
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "name": "bindings",
                        "range": [
                          942,
                          950
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 17
                          },
                          "end": {
                            "line": 34,
                            "column": 25
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "resolvedBindings",
                                  "range": [
                                    959,
                                    975
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 22
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "push",
                                  "range": [
                                    976,
                                    980
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  959,
                                  980
                                ],
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 27
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "b",
                                      "range": [
                                        981,
                                        982
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "resolve",
                                      "range": [
                                        983,
                                        990
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      981,
                                      990
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    981,
                                    992
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 39
                                    }
                                  }
                                }
                              ],
                              "range": [
                                959,
                                993
                              ],
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 6
                                },
                                "end": {
                                  "line": 35,
                                  "column": 40
                                }
                              }
                            },
                            "range": [
                              959,
                              994
                            ],
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 6
                              },
                              "end": {
                                "line": 35,
                                "column": 41
                              }
                            }
                          }
                        ],
                        "range": [
                          951,
                          1000
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 26
                          },
                          "end": {
                            "line": 36,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        929,
                        1000
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 4
                        },
                        "end": {
                          "line": 36,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "resolvedBindings",
                        "range": [
                          1012,
                          1028
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 11
                          },
                          "end": {
                            "line": 37,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        1005,
                        1029
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 4
                        },
                        "end": {
                          "line": 37,
                          "column": 28
                        }
                      }
                    }
                  ],
                  "range": [
                    892,
                    1033
                  ],
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 26
                    },
                    "end": {
                      "line": 38,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  882,
                  1033
                ],
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 16
                  },
                  "end": {
                    "line": 38,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                868,
                1033
              ],
              "loc": {
                "start": {
                  "line": 32,
                  "column": 2
                },
                "end": {
                  "line": 38,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Start the binding resolution\n  * @param {Binding} bindings - An array of bindings to resolve\n  * @returns {ResolvedBinding} The array of resolvedBinding obtained\n  ",
                  "range": [
                    691,
                    865
                  ],
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Return the factory execution value if the key matches\n  * @param {String} token - The key of the resolvedBinding factory to get\n  * @returns {Object} The value corresponding to the factory execution\n  ",
                  "range": [
                    1037,
                    1248
                  ],
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 2
                    },
                    "end": {
                      "line": 44,
                      "column": 4
                    }
                  }
                }
              ],
              "static": true
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "get",
                "range": [
                  1251,
                  1254
                ],
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 2
                  },
                  "end": {
                    "line": 45,
                    "column": 5
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "token",
                    "range": [
                      1255,
                      1260
                    ],
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 6
                      },
                      "end": {
                        "line": 45,
                        "column": 11
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ForOfStatement",
                      "left": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "rb",
                              "range": [
                                1275,
                                1277
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 12
                                },
                                "end": {
                                  "line": 46,
                                  "column": 14
                                }
                              }
                            },
                            "init": null,
                            "range": [
                              1275,
                              1277
                            ],
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 12
                              },
                              "end": {
                                "line": 46,
                                "column": 14
                              }
                            }
                          }
                        ],
                        "kind": "var",
                        "range": [
                          1271,
                          1277
                        ],
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 14
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            1281,
                            1285
                          ],
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 18
                            },
                            "end": {
                              "line": 46,
                              "column": 22
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "resolvedBindings",
                          "range": [
                            1286,
                            1302
                          ],
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 23
                            },
                            "end": {
                              "line": 46,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          1281,
                          1302
                        ],
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 18
                          },
                          "end": {
                            "line": 46,
                            "column": 39
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "===",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "rb",
                                  "range": [
                                    1314,
                                    1316
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "key",
                                  "range": [
                                    1317,
                                    1320
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 15
                                    }
                                  }
                                },
                                "range": [
                                  1314,
                                  1320
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 15
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "token",
                                "range": [
                                  1325,
                                  1330
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 25
                                  }
                                }
                              },
                              "range": [
                                1314,
                                1330
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 9
                                },
                                "end": {
                                  "line": 47,
                                  "column": 25
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "argument": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1348,
                                          1352
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "resolveDependencies",
                                        "range": [
                                          1353,
                                          1372
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 39
                                          }
                                        }
                                      },
                                      "range": [
                                        1348,
                                        1372
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 39
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "rb",
                                        "range": [
                                          1373,
                                          1375
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 48,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 48,
                                            "column": 42
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1348,
                                      1376
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "range": [
                                    1341,
                                    1377
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 44
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1331,
                                1385
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 26
                                },
                                "end": {
                                  "line": 49,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": null,
                            "range": [
                              1311,
                              1385
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 6
                              },
                              "end": {
                                "line": 49,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          1303,
                          1391
                        ],
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 40
                          },
                          "end": {
                            "line": 50,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1267,
                        1391
                      ],
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 50,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "token",
                        "range": [
                          1403,
                          1408
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 11
                          },
                          "end": {
                            "line": 51,
                            "column": 16
                          }
                        }
                      },
                      "range": [
                        1396,
                        1409
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 4
                        },
                        "end": {
                          "line": 51,
                          "column": 17
                        }
                      }
                    }
                  ],
                  "range": [
                    1261,
                    1413
                  ],
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 12
                    },
                    "end": {
                      "line": 52,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1254,
                  1413
                ],
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 5
                  },
                  "end": {
                    "line": 52,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1251,
                1413
              ],
              "loc": {
                "start": {
                  "line": 45,
                  "column": 2
                },
                "end": {
                  "line": 52,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Return the factory execution value if the key matches\n  * @param {String} token - The key of the resolvedBinding factory to get\n  * @returns {Object} The value corresponding to the factory execution\n  ",
                  "range": [
                    1037,
                    1248
                  ],
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 2
                    },
                    "end": {
                      "line": 44,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve the dependencies of the resolvedBinding\n  * @param {ResolvedBinding} resolvedBinding - The resolved binding concerned\n  * @returns {Object} The factory execution loaded\n  ",
                  "range": [
                    1417,
                    1606
                  ],
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 2
                    },
                    "end": {
                      "line": 58,
                      "column": 4
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "resolveDependencies",
                "range": [
                  1609,
                  1628
                ],
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 2
                  },
                  "end": {
                    "line": 59,
                    "column": 21
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "resolvedBinding",
                    "range": [
                      1629,
                      1644
                    ],
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 22
                      },
                      "end": {
                        "line": 59,
                        "column": 37
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "dependencyArray",
                            "range": [
                              1655,
                              1670
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 23
                              }
                            }
                          },
                          "init": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1673,
                                  1677
                                ],
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "parseDependencies",
                                "range": [
                                  1678,
                                  1695
                                ],
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 48
                                  }
                                }
                              },
                              "range": [
                                1673,
                                1695
                              ],
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 26
                                },
                                "end": {
                                  "line": 60,
                                  "column": 48
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "resolvedBinding",
                                  "range": [
                                    1696,
                                    1711
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 64
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "dependencies",
                                  "range": [
                                    1712,
                                    1724
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 77
                                    }
                                  }
                                },
                                "range": [
                                  1696,
                                  1724
                                ],
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 77
                                  }
                                }
                              }
                            ],
                            "range": [
                              1673,
                              1725
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 26
                              },
                              "end": {
                                "line": 60,
                                "column": 78
                              }
                            }
                          },
                          "range": [
                            1655,
                            1725
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 78
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        1651,
                        1726
                      ],
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 4
                        },
                        "end": {
                          "line": 60,
                          "column": 79
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "newInstance",
                            "range": [
                              1735,
                              1746
                            ],
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 8
                              },
                              "end": {
                                "line": 61,
                                "column": 19
                              }
                            }
                          },
                          "init": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1749,
                                  1753
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "resolveConstructor",
                                "range": [
                                  1754,
                                  1772
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 45
                                  }
                                }
                              },
                              "range": [
                                1749,
                                1772
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 22
                                },
                                "end": {
                                  "line": 61,
                                  "column": 45
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "name": "resolvedBinding",
                                "range": [
                                  1773,
                                  1788
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 61
                                  }
                                }
                              },
                              {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "dependencyArray",
                                  "range": [
                                    1790,
                                    1805
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 78
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "inConstructor",
                                  "range": [
                                    1806,
                                    1819
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 92
                                    }
                                  }
                                },
                                "range": [
                                  1790,
                                  1819
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 92
                                  }
                                }
                              }
                            ],
                            "range": [
                              1749,
                              1820
                            ],
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 22
                              },
                              "end": {
                                "line": 61,
                                "column": 93
                              }
                            }
                          },
                          "range": [
                            1735,
                            1820
                          ],
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 8
                            },
                            "end": {
                              "line": 61,
                              "column": 93
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        1731,
                        1821
                      ],
                      "loc": {
                        "start": {
                          "line": 61,
                          "column": 4
                        },
                        "end": {
                          "line": 61,
                          "column": 94
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "name": "newInstance",
                          "range": [
                            1826,
                            1837
                          ],
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 4
                            },
                            "end": {
                              "line": 62,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "CallExpression",
                          "callee": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                1840,
                                1844
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 18
                                },
                                "end": {
                                  "line": 62,
                                  "column": 22
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "resolveProperty",
                              "range": [
                                1845,
                                1860
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 23
                                },
                                "end": {
                                  "line": 62,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              1840,
                              1860
                            ],
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 18
                              },
                              "end": {
                                "line": 62,
                                "column": 38
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "name": "newInstance",
                              "range": [
                                1861,
                                1872
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 39
                                },
                                "end": {
                                  "line": 62,
                                  "column": 50
                                }
                              }
                            },
                            {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "dependencyArray",
                                "range": [
                                  1874,
                                  1889
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 67
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "inProperty",
                                "range": [
                                  1890,
                                  1900
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 68
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 78
                                  }
                                }
                              },
                              "range": [
                                1874,
                                1900
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 52
                                },
                                "end": {
                                  "line": 62,
                                  "column": 78
                                }
                              }
                            }
                          ],
                          "range": [
                            1840,
                            1901
                          ],
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 18
                            },
                            "end": {
                              "line": 62,
                              "column": 79
                            }
                          }
                        },
                        "range": [
                          1826,
                          1901
                        ],
                        "loc": {
                          "start": {
                            "line": 62,
                            "column": 4
                          },
                          "end": {
                            "line": 62,
                            "column": 79
                          }
                        }
                      },
                      "range": [
                        1826,
                        1902
                      ],
                      "loc": {
                        "start": {
                          "line": 62,
                          "column": 4
                        },
                        "end": {
                          "line": 62,
                          "column": 80
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "name": "newInstance",
                          "range": [
                            1907,
                            1918
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 4
                            },
                            "end": {
                              "line": 63,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "CallExpression",
                          "callee": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                1921,
                                1925
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 18
                                },
                                "end": {
                                  "line": 63,
                                  "column": 22
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "resolveSetters",
                              "range": [
                                1926,
                                1940
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 23
                                },
                                "end": {
                                  "line": 63,
                                  "column": 37
                                }
                              }
                            },
                            "range": [
                              1921,
                              1940
                            ],
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 18
                              },
                              "end": {
                                "line": 63,
                                "column": 37
                              }
                            }
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "name": "newInstance",
                              "range": [
                                1941,
                                1952
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 38
                                },
                                "end": {
                                  "line": 63,
                                  "column": 49
                                }
                              }
                            },
                            {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "dependencyArray",
                                "range": [
                                  1954,
                                  1969
                                ],
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 66
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "inSetter",
                                "range": [
                                  1970,
                                  1978
                                ],
                                "loc": {
                                  "start": {
                                    "line": 63,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 63,
                                    "column": 75
                                  }
                                }
                              },
                              "range": [
                                1954,
                                1978
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 51
                                },
                                "end": {
                                  "line": 63,
                                  "column": 75
                                }
                              }
                            }
                          ],
                          "range": [
                            1921,
                            1979
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 18
                            },
                            "end": {
                              "line": 63,
                              "column": 76
                            }
                          }
                        },
                        "range": [
                          1907,
                          1979
                        ],
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 4
                          },
                          "end": {
                            "line": 63,
                            "column": 76
                          }
                        }
                      },
                      "range": [
                        1907,
                        1980
                      ],
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 4
                        },
                        "end": {
                          "line": 63,
                          "column": 77
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "newInstance",
                        "range": [
                          1992,
                          2003
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 11
                          },
                          "end": {
                            "line": 64,
                            "column": 22
                          }
                        }
                      },
                      "range": [
                        1985,
                        2004
                      ],
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 4
                        },
                        "end": {
                          "line": 64,
                          "column": 23
                        }
                      }
                    }
                  ],
                  "range": [
                    1645,
                    2008
                  ],
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 38
                    },
                    "end": {
                      "line": 65,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1628,
                  2008
                ],
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 21
                  },
                  "end": {
                    "line": 65,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1609,
                2008
              ],
              "loc": {
                "start": {
                  "line": 59,
                  "column": 2
                },
                "end": {
                  "line": 65,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve the dependencies of the resolvedBinding\n  * @param {ResolvedBinding} resolvedBinding - The resolved binding concerned\n  * @returns {Object} The factory execution loaded\n  ",
                  "range": [
                    1417,
                    1606
                  ],
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 2
                    },
                    "end": {
                      "line": 58,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Split dependencies in an array of object\n  * @param {Object} dependencies - An array of dependencies\n  * @returns {Object} An array of dependencies splitted into 3 category\n  * inConstructor, inProperty, inSetter\n  ",
                  "range": [
                    2012,
                    2237
                  ],
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 2
                    },
                    "end": {
                      "line": 72,
                      "column": 4
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "parseDependencies",
                "range": [
                  2240,
                  2257
                ],
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 2
                  },
                  "end": {
                    "line": 73,
                    "column": 19
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "dependencies",
                    "range": [
                      2258,
                      2270
                    ],
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 20
                      },
                      "end": {
                        "line": 73,
                        "column": 32
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "dependencyArray",
                            "range": [
                              2281,
                              2296
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 8
                              },
                              "end": {
                                "line": 74,
                                "column": 23
                              }
                            }
                          },
                          "init": {
                            "type": "ObjectExpression",
                            "properties": [
                              {
                                "type": "Property",
                                "key": {
                                  "type": "Identifier",
                                  "name": "inConstructor",
                                  "range": [
                                    2300,
                                    2313
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 40
                                    }
                                  }
                                },
                                "value": {
                                  "type": "ArrayExpression",
                                  "elements": [],
                                  "range": [
                                    2314,
                                    2316
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 43
                                    }
                                  }
                                },
                                "kind": "init",
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "range": [
                                  2300,
                                  2316
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 43
                                  }
                                }
                              },
                              {
                                "type": "Property",
                                "key": {
                                  "type": "Identifier",
                                  "name": "inProperty",
                                  "range": [
                                    2318,
                                    2328
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 55
                                    }
                                  }
                                },
                                "value": {
                                  "type": "ArrayExpression",
                                  "elements": [],
                                  "range": [
                                    2329,
                                    2331
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 58
                                    }
                                  }
                                },
                                "kind": "init",
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "range": [
                                  2318,
                                  2331
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 58
                                  }
                                }
                              },
                              {
                                "type": "Property",
                                "key": {
                                  "type": "Identifier",
                                  "name": "inSetter",
                                  "range": [
                                    2333,
                                    2341
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 68
                                    }
                                  }
                                },
                                "value": {
                                  "type": "ArrayExpression",
                                  "elements": [],
                                  "range": [
                                    2342,
                                    2344
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 71
                                    }
                                  }
                                },
                                "kind": "init",
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "range": [
                                  2333,
                                  2344
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 71
                                  }
                                }
                              }
                            ],
                            "range": [
                              2299,
                              2345
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 26
                              },
                              "end": {
                                "line": 74,
                                "column": 72
                              }
                            }
                          },
                          "range": [
                            2281,
                            2345
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 72
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        2277,
                        2350
                      ],
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 4
                        },
                        "end": {
                          "line": 75,
                          "column": 4
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "left": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "d",
                              "range": [
                                2358,
                                2359
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 12
                                },
                                "end": {
                                  "line": 75,
                                  "column": 13
                                }
                              }
                            },
                            "init": null,
                            "range": [
                              2358,
                              2359
                            ],
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 12
                              },
                              "end": {
                                "line": 75,
                                "column": 13
                              }
                            }
                          }
                        ],
                        "kind": "var",
                        "range": [
                          2354,
                          2359
                        ],
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 13
                          }
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "name": "dependencies",
                        "range": [
                          2363,
                          2375
                        ],
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 17
                          },
                          "end": {
                            "line": 75,
                            "column": 29
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "IfStatement",
                            "test": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "d",
                                "range": [
                                  2387,
                                  2388
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 10
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "inSetter",
                                "range": [
                                  2389,
                                  2397
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                2387,
                                2397
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 9
                                },
                                "end": {
                                  "line": 76,
                                  "column": 19
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "dependencyArray",
                                          "range": [
                                            2408,
                                            2423
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 77,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 77,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "inSetter",
                                          "range": [
                                            2424,
                                            2432
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 77,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 77,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          2408,
                                          2432
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "push",
                                        "range": [
                                          2433,
                                          2437
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        2408,
                                        2437
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 77,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 77,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "d",
                                        "range": [
                                          2438,
                                          2439
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 77,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 77,
                                            "column": 39
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2408,
                                      2440
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 77,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 77,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "range": [
                                    2408,
                                    2441
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 77,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 77,
                                      "column": 41
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2398,
                                2449
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 20
                                },
                                "end": {
                                  "line": 78,
                                  "column": 7
                                }
                              }
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "d",
                                      "range": [
                                        2466,
                                        2467
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "inProperty",
                                      "range": [
                                        2468,
                                        2478
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 23
                                        }
                                      }
                                    },
                                    "range": [
                                      2466,
                                      2478
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "dependencyArray",
                                                "range": [
                                                  2491,
                                                  2506
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "inProperty",
                                                "range": [
                                                  2507,
                                                  2517
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 80,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 80,
                                                    "column": 36
                                                  }
                                                }
                                              },
                                              "range": [
                                                2491,
                                                2517
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 36
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "push",
                                              "range": [
                                                2518,
                                                2522
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 41
                                                }
                                              }
                                            },
                                            "range": [
                                              2491,
                                              2522
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 80,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 80,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "d",
                                              "range": [
                                                2523,
                                                2524
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 80,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 80,
                                                  "column": 43
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2491,
                                            2525
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "range": [
                                          2491,
                                          2526
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 45
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2479,
                                      2536
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 81,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": false,
                                              "object": {
                                                "type": "Identifier",
                                                "name": "dependencyArray",
                                                "range": [
                                                  2552,
                                                  2567
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "inConstructor",
                                                "range": [
                                                  2568,
                                                  2581
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 82,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 82,
                                                    "column": 39
                                                  }
                                                }
                                              },
                                              "range": [
                                                2552,
                                                2581
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "push",
                                              "range": [
                                                2582,
                                                2586
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 44
                                                }
                                              }
                                            },
                                            "range": [
                                              2552,
                                              2586
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 82,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 82,
                                                "column": 44
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "name": "d",
                                              "range": [
                                                2587,
                                                2588
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 82,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 82,
                                                  "column": 46
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            2552,
                                            2589
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 82,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 82,
                                              "column": 47
                                            }
                                          }
                                        },
                                        "range": [
                                          2552,
                                          2590
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 82,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 82,
                                            "column": 48
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2540,
                                      2600
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 81,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 9
                                      }
                                    }
                                  },
                                  "range": [
                                    2463,
                                    2600
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 9
                                    }
                                  }
                                }
                              ],
                              "range": [
                                2453,
                                2608
                              ],
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 11
                                },
                                "end": {
                                  "line": 84,
                                  "column": 7
                                }
                              }
                            },
                            "range": [
                              2384,
                              2608
                            ],
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 84,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "range": [
                          2376,
                          2614
                        ],
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 30
                          },
                          "end": {
                            "line": 85,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2350,
                        2614
                      ],
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 4
                        },
                        "end": {
                          "line": 85,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "dependencyArray",
                        "range": [
                          2626,
                          2641
                        ],
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 11
                          },
                          "end": {
                            "line": 86,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        2619,
                        2642
                      ],
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 4
                        },
                        "end": {
                          "line": 86,
                          "column": 27
                        }
                      }
                    }
                  ],
                  "range": [
                    2271,
                    2646
                  ],
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 33
                    },
                    "end": {
                      "line": 87,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  2257,
                  2646
                ],
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 19
                  },
                  "end": {
                    "line": 87,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                2240,
                2646
              ],
              "loc": {
                "start": {
                  "line": 73,
                  "column": 2
                },
                "end": {
                  "line": 87,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Split dependencies in an array of object\n  * @param {Object} dependencies - An array of dependencies\n  * @returns {Object} An array of dependencies splitted into 3 category\n  * inConstructor, inProperty, inSetter\n  ",
                  "range": [
                    2012,
                    2237
                  ],
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 2
                    },
                    "end": {
                      "line": 72,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve the constructor injector\n  * @param {ResolvedBinding} resolvedBinding - The resolved binding to loaded\n  * @param {Object} dependencies - The dependencies to inject\n  * @returns {Object} Return the object instance with constructor dependencies\n  ",
                  "range": [
                    2650,
                    2914
                  ],
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 2
                    },
                    "end": {
                      "line": 94,
                      "column": 4
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "resolveConstructor",
                "range": [
                  2917,
                  2935
                ],
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 2
                  },
                  "end": {
                    "line": 95,
                    "column": 20
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "resolvedBinding",
                    "range": [
                      2936,
                      2951
                    ],
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 21
                      },
                      "end": {
                        "line": 95,
                        "column": 36
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "dependencies",
                    "range": [
                      2953,
                      2965
                    ],
                    "loc": {
                      "start": {
                        "line": 95,
                        "column": 38
                      },
                      "end": {
                        "line": 95,
                        "column": 50
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "newInstance",
                            "range": [
                              2976,
                              2987
                            ],
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 8
                              },
                              "end": {
                                "line": 96,
                                "column": 19
                              }
                            }
                          },
                          "init": {
                            "type": "Literal",
                            "value": null,
                            "raw": "null",
                            "range": [
                              2990,
                              2994
                            ],
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 22
                              },
                              "end": {
                                "line": 96,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            2976,
                            2994
                          ],
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 8
                            },
                            "end": {
                              "line": 96,
                              "column": 26
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        2972,
                        2995
                      ],
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 4
                        },
                        "end": {
                          "line": 96,
                          "column": 27
                        }
                      }
                    },
                    {
                      "type": "SwitchStatement",
                      "discriminant": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "dependencies",
                          "range": [
                            3007,
                            3019
                          ],
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 11
                            },
                            "end": {
                              "line": 97,
                              "column": 23
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "length",
                          "range": [
                            3020,
                            3026
                          ],
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 24
                            },
                            "end": {
                              "line": 97,
                              "column": 30
                            }
                          }
                        },
                        "range": [
                          3007,
                          3026
                        ],
                        "loc": {
                          "start": {
                            "line": 97,
                            "column": 11
                          },
                          "end": {
                            "line": 97,
                            "column": 30
                          }
                        }
                      },
                      "cases": [
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 0,
                            "raw": "0",
                            "range": [
                              3040,
                              3041
                            ],
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 11
                              },
                              "end": {
                                "line": 98,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    3051,
                                    3062
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 99,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        3065,
                                        3080
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        3081,
                                        3088
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3065,
                                      3088
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [],
                                  "range": [
                                    3065,
                                    3090
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 99,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 47
                                    }
                                  }
                                },
                                "range": [
                                  3051,
                                  3090
                                ],
                                "loc": {
                                  "start": {
                                    "line": 99,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 47
                                  }
                                }
                              },
                              "range": [
                                3051,
                                3091
                              ],
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 8
                                },
                                "end": {
                                  "line": 99,
                                  "column": 48
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                3098,
                                3104
                              ],
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 6
                                },
                                "end": {
                                  "line": 100,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            3035,
                            3104
                          ],
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 6
                            },
                            "end": {
                              "line": 100,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 1,
                            "raw": "1",
                            "range": [
                              3117,
                              3118
                            ],
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 11
                              },
                              "end": {
                                "line": 102,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    3128,
                                    3139
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        3142,
                                        3157
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        3158,
                                        3165
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3142,
                                      3165
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 103,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3166,
                                            3170
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3171,
                                            3174
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          3166,
                                          3174
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 103,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3175,
                                              3187
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              3188,
                                              3189
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 103,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 103,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            3175,
                                            3190
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 103,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3166,
                                        3191
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 103,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 103,
                                          "column": 71
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3142,
                                    3192
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 103,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 72
                                    }
                                  }
                                },
                                "range": [
                                  3128,
                                  3192
                                ],
                                "loc": {
                                  "start": {
                                    "line": 103,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 103,
                                    "column": 72
                                  }
                                }
                              },
                              "range": [
                                3128,
                                3193
                              ],
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 8
                                },
                                "end": {
                                  "line": 103,
                                  "column": 73
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                3200,
                                3206
                              ],
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 6
                                },
                                "end": {
                                  "line": 104,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            3112,
                            3206
                          ],
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 6
                            },
                            "end": {
                              "line": 104,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 2,
                            "raw": "2",
                            "range": [
                              3219,
                              3220
                            ],
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 11
                              },
                              "end": {
                                "line": 106,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    3230,
                                    3241
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        3244,
                                        3259
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        3260,
                                        3267
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3244,
                                      3267
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 107,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3268,
                                            3272
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3273,
                                            3276
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          3268,
                                          3276
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3277,
                                              3289
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              3290,
                                              3291
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            3277,
                                            3292
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3268,
                                        3293
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3295,
                                            3299
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3300,
                                            3303
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          3295,
                                          3303
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3304,
                                              3316
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              3317,
                                              3318
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            3304,
                                            3319
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 107,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 107,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3295,
                                        3320
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 107,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 98
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3244,
                                    3321
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 107,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 107,
                                      "column": 99
                                    }
                                  }
                                },
                                "range": [
                                  3230,
                                  3321
                                ],
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 99
                                  }
                                }
                              },
                              "range": [
                                3230,
                                3322
                              ],
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 8
                                },
                                "end": {
                                  "line": 107,
                                  "column": 100
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                3329,
                                3335
                              ],
                              "loc": {
                                "start": {
                                  "line": 108,
                                  "column": 6
                                },
                                "end": {
                                  "line": 108,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            3214,
                            3335
                          ],
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 6
                            },
                            "end": {
                              "line": 108,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 3,
                            "raw": "3",
                            "range": [
                              3348,
                              3349
                            ],
                            "loc": {
                              "start": {
                                "line": 110,
                                "column": 11
                              },
                              "end": {
                                "line": 110,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    3359,
                                    3370
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        3373,
                                        3388
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        3389,
                                        3396
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3373,
                                      3396
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3397,
                                            3401
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3402,
                                            3405
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          3397,
                                          3405
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3406,
                                              3418
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              3419,
                                              3420
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            3406,
                                            3421
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3397,
                                        3422
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3424,
                                            3428
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3429,
                                            3432
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          3424,
                                          3432
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3433,
                                              3445
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              3446,
                                              3447
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            3433,
                                            3448
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3424,
                                        3449
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3451,
                                            3455
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3456,
                                            3459
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          3451,
                                          3459
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3460,
                                              3472
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              3473,
                                              3474
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 111,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 111,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            3460,
                                            3475
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3451,
                                        3476
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 125
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3373,
                                    3477
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 111,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 126
                                    }
                                  }
                                },
                                "range": [
                                  3359,
                                  3477
                                ],
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 126
                                  }
                                }
                              },
                              "range": [
                                3359,
                                3478
                              ],
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 8
                                },
                                "end": {
                                  "line": 111,
                                  "column": 127
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                3485,
                                3491
                              ],
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 6
                                },
                                "end": {
                                  "line": 112,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            3343,
                            3491
                          ],
                          "loc": {
                            "start": {
                              "line": 110,
                              "column": 6
                            },
                            "end": {
                              "line": 112,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 4,
                            "raw": "4",
                            "range": [
                              3504,
                              3505
                            ],
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 11
                              },
                              "end": {
                                "line": 114,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    3515,
                                    3526
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 115,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        3529,
                                        3544
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        3545,
                                        3552
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3529,
                                      3552
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 115,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3553,
                                            3557
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3558,
                                            3561
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          3553,
                                          3561
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3562,
                                              3574
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              3575,
                                              3576
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            3562,
                                            3577
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3553,
                                        3578
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3580,
                                            3584
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3585,
                                            3588
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          3580,
                                          3588
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3589,
                                              3601
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              3602,
                                              3603
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            3589,
                                            3604
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3580,
                                        3605
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3607,
                                            3611
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3612,
                                            3615
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          3607,
                                          3615
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 115,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3616,
                                              3628
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              3629,
                                              3630
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 115,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 115,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            3616,
                                            3631
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 115,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3607,
                                        3632
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 115,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 115,
                                          "column": 125
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3642,
                                            3646
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3647,
                                            3650
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          3642,
                                          3650
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3651,
                                              3663
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 3,
                                            "raw": "3",
                                            "range": [
                                              3664,
                                              3665
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            3651,
                                            3666
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3642,
                                        3667
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 33
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3529,
                                    3668
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 115,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 34
                                    }
                                  }
                                },
                                "range": [
                                  3515,
                                  3668
                                ],
                                "loc": {
                                  "start": {
                                    "line": 115,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                3515,
                                3669
                              ],
                              "loc": {
                                "start": {
                                  "line": 115,
                                  "column": 8
                                },
                                "end": {
                                  "line": 116,
                                  "column": 35
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                3676,
                                3682
                              ],
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 6
                                },
                                "end": {
                                  "line": 117,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            3499,
                            3682
                          ],
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 6
                            },
                            "end": {
                              "line": 117,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 5,
                            "raw": "5",
                            "range": [
                              3695,
                              3696
                            ],
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 11
                              },
                              "end": {
                                "line": 119,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    3706,
                                    3717
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        3720,
                                        3735
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        3736,
                                        3743
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3720,
                                      3743
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3744,
                                            3748
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3749,
                                            3752
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          3744,
                                          3752
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3753,
                                              3765
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 120,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              3766,
                                              3767
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 120,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            3753,
                                            3768
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3744,
                                        3769
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3771,
                                            3775
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3776,
                                            3779
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          3771,
                                          3779
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3780,
                                              3792
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 120,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              3793,
                                              3794
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 120,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            3780,
                                            3795
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3771,
                                        3796
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3798,
                                            3802
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3803,
                                            3806
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          3798,
                                          3806
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 120,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 120,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3807,
                                              3819
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 120,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              3820,
                                              3821
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 120,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 120,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            3807,
                                            3822
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 120,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 120,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3798,
                                        3823
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 125
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3833,
                                            3837
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3838,
                                            3841
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          3833,
                                          3841
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3842,
                                              3854
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 121,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 121,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 3,
                                            "raw": "3",
                                            "range": [
                                              3855,
                                              3856
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 121,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 121,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            3842,
                                            3857
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3833,
                                        3858
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3860,
                                            3864
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3865,
                                            3868
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          3860,
                                          3868
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 121,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 121,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3869,
                                              3881
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 121,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 121,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 4,
                                            "raw": "4",
                                            "range": [
                                              3882,
                                              3883
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 121,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 121,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            3869,
                                            3884
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 121,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 121,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3860,
                                        3885
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 121,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 121,
                                          "column": 60
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3720,
                                    3886
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 121,
                                      "column": 61
                                    }
                                  }
                                },
                                "range": [
                                  3706,
                                  3886
                                ],
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 121,
                                    "column": 61
                                  }
                                }
                              },
                              "range": [
                                3706,
                                3887
                              ],
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 8
                                },
                                "end": {
                                  "line": 121,
                                  "column": 62
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                3894,
                                3900
                              ],
                              "loc": {
                                "start": {
                                  "line": 122,
                                  "column": 6
                                },
                                "end": {
                                  "line": 122,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            3690,
                            3900
                          ],
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 6
                            },
                            "end": {
                              "line": 122,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 6,
                            "raw": "6",
                            "range": [
                              3913,
                              3914
                            ],
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 11
                              },
                              "end": {
                                "line": 124,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    3924,
                                    3935
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 125,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        3938,
                                        3953
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        3954,
                                        3961
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      3938,
                                      3961
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 125,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 125,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3962,
                                            3966
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3967,
                                            3970
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          3962,
                                          3970
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 125,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 125,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3971,
                                              3983
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              3984,
                                              3985
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            3971,
                                            3986
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3962,
                                        3987
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            3989,
                                            3993
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            3994,
                                            3997
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          3989,
                                          3997
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 125,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 125,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              3998,
                                              4010
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              4011,
                                              4012
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            3998,
                                            4013
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        3989,
                                        4014
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4016,
                                            4020
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4021,
                                            4024
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          4016,
                                          4024
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 125,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 125,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4025,
                                              4037
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              4038,
                                              4039
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 125,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 125,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            4025,
                                            4040
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 125,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 125,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4016,
                                        4041
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 125,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 125
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4051,
                                            4055
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4056,
                                            4059
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          4051,
                                          4059
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4060,
                                              4072
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 126,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 126,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 3,
                                            "raw": "3",
                                            "range": [
                                              4073,
                                              4074
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 126,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 126,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            4060,
                                            4075
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4051,
                                        4076
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4078,
                                            4082
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4083,
                                            4086
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          4078,
                                          4086
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4087,
                                              4099
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 126,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 126,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 4,
                                            "raw": "4",
                                            "range": [
                                              4100,
                                              4101
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 126,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 126,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            4087,
                                            4102
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4078,
                                        4103
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 60
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4105,
                                            4109
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4110,
                                            4113
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "range": [
                                          4105,
                                          4113
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 126,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 126,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4114,
                                              4126
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 126,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 126,
                                                "column": 83
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 5,
                                            "raw": "5",
                                            "range": [
                                              4127,
                                              4128
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 126,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 126,
                                                "column": 85
                                              }
                                            }
                                          },
                                          "range": [
                                            4114,
                                            4129
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 126,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 126,
                                              "column": 86
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4105,
                                        4130
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 87
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    3938,
                                    4131
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 125,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 126,
                                      "column": 88
                                    }
                                  }
                                },
                                "range": [
                                  3924,
                                  4131
                                ],
                                "loc": {
                                  "start": {
                                    "line": 125,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 126,
                                    "column": 88
                                  }
                                }
                              },
                              "range": [
                                3924,
                                4132
                              ],
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 8
                                },
                                "end": {
                                  "line": 126,
                                  "column": 89
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                4139,
                                4145
                              ],
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 6
                                },
                                "end": {
                                  "line": 127,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            3908,
                            4145
                          ],
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 6
                            },
                            "end": {
                              "line": 127,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 7,
                            "raw": "7",
                            "range": [
                              4158,
                              4159
                            ],
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 11
                              },
                              "end": {
                                "line": 129,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    4169,
                                    4180
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 130,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        4183,
                                        4198
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        4199,
                                        4206
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      4183,
                                      4206
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 130,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 130,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4207,
                                            4211
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4212,
                                            4215
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          4207,
                                          4215
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4216,
                                              4228
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              4229,
                                              4230
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            4216,
                                            4231
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4207,
                                        4232
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4234,
                                            4238
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4239,
                                            4242
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          4234,
                                          4242
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4243,
                                              4255
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              4256,
                                              4257
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            4243,
                                            4258
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4234,
                                        4259
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4261,
                                            4265
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4266,
                                            4269
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          4261,
                                          4269
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 130,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 130,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4270,
                                              4282
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              4283,
                                              4284
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 130,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            4270,
                                            4285
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 130,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 130,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4261,
                                        4286
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 130,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 130,
                                          "column": 125
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4296,
                                            4300
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4301,
                                            4304
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          4296,
                                          4304
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4305,
                                              4317
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 3,
                                            "raw": "3",
                                            "range": [
                                              4318,
                                              4319
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            4305,
                                            4320
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4296,
                                        4321
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4323,
                                            4327
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4328,
                                            4331
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          4323,
                                          4331
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4332,
                                              4344
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 4,
                                            "raw": "4",
                                            "range": [
                                              4345,
                                              4346
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            4332,
                                            4347
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4323,
                                        4348
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 60
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4350,
                                            4354
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4355,
                                            4358
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "range": [
                                          4350,
                                          4358
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4359,
                                              4371
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 83
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 5,
                                            "raw": "5",
                                            "range": [
                                              4372,
                                              4373
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 85
                                              }
                                            }
                                          },
                                          "range": [
                                            4359,
                                            4374
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 86
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4350,
                                        4375
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 87
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4377,
                                            4381
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 93
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4382,
                                            4385
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 97
                                            }
                                          }
                                        },
                                        "range": [
                                          4377,
                                          4385
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 131,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 131,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4386,
                                              4398
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 98
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 110
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 6,
                                            "raw": "6",
                                            "range": [
                                              4399,
                                              4400
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 131,
                                                "column": 111
                                              },
                                              "end": {
                                                "line": 131,
                                                "column": 112
                                              }
                                            }
                                          },
                                          "range": [
                                            4386,
                                            4401
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 131,
                                              "column": 98
                                            },
                                            "end": {
                                              "line": 131,
                                              "column": 113
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4377,
                                        4402
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 131,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 131,
                                          "column": 114
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4183,
                                    4403
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 130,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 131,
                                      "column": 115
                                    }
                                  }
                                },
                                "range": [
                                  4169,
                                  4403
                                ],
                                "loc": {
                                  "start": {
                                    "line": 130,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 131,
                                    "column": 115
                                  }
                                }
                              },
                              "range": [
                                4169,
                                4404
                              ],
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 8
                                },
                                "end": {
                                  "line": 131,
                                  "column": 116
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                4411,
                                4417
                              ],
                              "loc": {
                                "start": {
                                  "line": 132,
                                  "column": 6
                                },
                                "end": {
                                  "line": 132,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            4153,
                            4417
                          ],
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 6
                            },
                            "end": {
                              "line": 132,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 8,
                            "raw": "8",
                            "range": [
                              4430,
                              4431
                            ],
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 11
                              },
                              "end": {
                                "line": 134,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    4441,
                                    4452
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 135,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        4455,
                                        4470
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        4471,
                                        4478
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      4455,
                                      4478
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 135,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4479,
                                            4483
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4484,
                                            4487
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          4479,
                                          4487
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 135,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 135,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4488,
                                              4500
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 135,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 135,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              4501,
                                              4502
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 135,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 135,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            4488,
                                            4503
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4479,
                                        4504
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4506,
                                            4510
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4511,
                                            4514
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          4506,
                                          4514
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 135,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 135,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4515,
                                              4527
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 135,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 135,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              4528,
                                              4529
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 135,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 135,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            4515,
                                            4530
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4506,
                                        4531
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4533,
                                            4537
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4538,
                                            4541
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          4533,
                                          4541
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 135,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 135,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4542,
                                              4554
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 135,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 135,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              4555,
                                              4556
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 135,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 135,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            4542,
                                            4557
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 135,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 135,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4533,
                                        4558
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 135,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 125
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4568,
                                            4572
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4573,
                                            4576
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          4568,
                                          4576
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4577,
                                              4589
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 3,
                                            "raw": "3",
                                            "range": [
                                              4590,
                                              4591
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            4577,
                                            4592
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4568,
                                        4593
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4595,
                                            4599
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4600,
                                            4603
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          4595,
                                          4603
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4604,
                                              4616
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 4,
                                            "raw": "4",
                                            "range": [
                                              4617,
                                              4618
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            4604,
                                            4619
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4595,
                                        4620
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 60
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4622,
                                            4626
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4627,
                                            4630
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "range": [
                                          4622,
                                          4630
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4631,
                                              4643
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 83
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 5,
                                            "raw": "5",
                                            "range": [
                                              4644,
                                              4645
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 85
                                              }
                                            }
                                          },
                                          "range": [
                                            4631,
                                            4646
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 86
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4622,
                                        4647
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 87
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4649,
                                            4653
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 93
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4654,
                                            4657
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 97
                                            }
                                          }
                                        },
                                        "range": [
                                          4649,
                                          4657
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4658,
                                              4670
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 98
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 110
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 6,
                                            "raw": "6",
                                            "range": [
                                              4671,
                                              4672
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 136,
                                                "column": 111
                                              },
                                              "end": {
                                                "line": 136,
                                                "column": 112
                                              }
                                            }
                                          },
                                          "range": [
                                            4658,
                                            4673
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 98
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 113
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4649,
                                        4674
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 114
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4684,
                                            4688
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4689,
                                            4692
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          4684,
                                          4692
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4693,
                                              4705
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 7,
                                            "raw": "7",
                                            "range": [
                                              4706,
                                              4707
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 137,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 137,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            4693,
                                            4708
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4684,
                                        4709
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 33
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4455,
                                    4710
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 135,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 34
                                    }
                                  }
                                },
                                "range": [
                                  4441,
                                  4710
                                ],
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 34
                                  }
                                }
                              },
                              "range": [
                                4441,
                                4711
                              ],
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 8
                                },
                                "end": {
                                  "line": 137,
                                  "column": 35
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                4718,
                                4724
                              ],
                              "loc": {
                                "start": {
                                  "line": 138,
                                  "column": 6
                                },
                                "end": {
                                  "line": 138,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            4425,
                            4724
                          ],
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 6
                            },
                            "end": {
                              "line": 138,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 9,
                            "raw": "9",
                            "range": [
                              4737,
                              4738
                            ],
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 11
                              },
                              "end": {
                                "line": 140,
                                "column": 12
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    4748,
                                    4759
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        4762,
                                        4777
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        4778,
                                        4785
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      4762,
                                      4785
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4786,
                                            4790
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4791,
                                            4794
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          4786,
                                          4794
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4795,
                                              4807
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              4808,
                                              4809
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            4795,
                                            4810
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4786,
                                        4811
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4813,
                                            4817
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4818,
                                            4821
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          4813,
                                          4821
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4822,
                                              4834
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              4835,
                                              4836
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            4822,
                                            4837
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4813,
                                        4838
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4840,
                                            4844
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4845,
                                            4848
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          4840,
                                          4848
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4849,
                                              4861
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              4862,
                                              4863
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 141,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 141,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            4849,
                                            4864
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4840,
                                        4865
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 125
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4875,
                                            4879
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4880,
                                            4883
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          4875,
                                          4883
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4884,
                                              4896
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 3,
                                            "raw": "3",
                                            "range": [
                                              4897,
                                              4898
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            4884,
                                            4899
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4875,
                                        4900
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4902,
                                            4906
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4907,
                                            4910
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          4902,
                                          4910
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4911,
                                              4923
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 4,
                                            "raw": "4",
                                            "range": [
                                              4924,
                                              4925
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            4911,
                                            4926
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4902,
                                        4927
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 60
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4929,
                                            4933
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4934,
                                            4937
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "range": [
                                          4929,
                                          4937
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4938,
                                              4950
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 83
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 5,
                                            "raw": "5",
                                            "range": [
                                              4951,
                                              4952
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 85
                                              }
                                            }
                                          },
                                          "range": [
                                            4938,
                                            4953
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 86
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4929,
                                        4954
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 87
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4956,
                                            4960
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 93
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4961,
                                            4964
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 97
                                            }
                                          }
                                        },
                                        "range": [
                                          4956,
                                          4964
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              4965,
                                              4977
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 98
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 110
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 6,
                                            "raw": "6",
                                            "range": [
                                              4978,
                                              4979
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 142,
                                                "column": 111
                                              },
                                              "end": {
                                                "line": 142,
                                                "column": 112
                                              }
                                            }
                                          },
                                          "range": [
                                            4965,
                                            4980
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 142,
                                              "column": 98
                                            },
                                            "end": {
                                              "line": 142,
                                              "column": 113
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4956,
                                        4981
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 114
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            4991,
                                            4995
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            4996,
                                            4999
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          4991,
                                          4999
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5000,
                                              5012
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 7,
                                            "raw": "7",
                                            "range": [
                                              5013,
                                              5014
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            5000,
                                            5015
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        4991,
                                        5016
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5018,
                                            5022
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5023,
                                            5026
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          5018,
                                          5026
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 143,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 143,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5027,
                                              5039
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 8,
                                            "raw": "8",
                                            "range": [
                                              5040,
                                              5041
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 143,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 143,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            5027,
                                            5042
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 143,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 143,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5018,
                                        5043
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 143,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 143,
                                          "column": 60
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    4762,
                                    5044
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 61
                                    }
                                  }
                                },
                                "range": [
                                  4748,
                                  5044
                                ],
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 61
                                  }
                                }
                              },
                              "range": [
                                4748,
                                5045
                              ],
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 8
                                },
                                "end": {
                                  "line": 143,
                                  "column": 62
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                5052,
                                5058
                              ],
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 6
                                },
                                "end": {
                                  "line": 144,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            4732,
                            5058
                          ],
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 6
                            },
                            "end": {
                              "line": 144,
                              "column": 12
                            }
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "test": {
                            "type": "Literal",
                            "value": 10,
                            "raw": "10",
                            "range": [
                              5071,
                              5073
                            ],
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 11
                              },
                              "end": {
                                "line": 146,
                                "column": 13
                              }
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    5083,
                                    5094
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 19
                                    }
                                  }
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "callee": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "resolvedBinding",
                                      "range": [
                                        5097,
                                        5112
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "factory",
                                      "range": [
                                        5113,
                                        5120
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 45
                                        }
                                      }
                                    },
                                    "range": [
                                      5097,
                                      5120
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5121,
                                            5125
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 50
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5126,
                                            5129
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 54
                                            }
                                          }
                                        },
                                        "range": [
                                          5121,
                                          5129
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 54
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5130,
                                              5142
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 147,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 147,
                                                "column": 67
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 0,
                                            "raw": "0",
                                            "range": [
                                              5143,
                                              5144
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 147,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 147,
                                                "column": 69
                                              }
                                            }
                                          },
                                          "range": [
                                            5130,
                                            5145
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 70
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5121,
                                        5146
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 71
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5148,
                                            5152
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 73
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 77
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5153,
                                            5156
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 78
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 81
                                            }
                                          }
                                        },
                                        "range": [
                                          5148,
                                          5156
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 81
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5157,
                                              5169
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 147,
                                                "column": 82
                                              },
                                              "end": {
                                                "line": 147,
                                                "column": 94
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              5170,
                                              5171
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 147,
                                                "column": 95
                                              },
                                              "end": {
                                                "line": 147,
                                                "column": 96
                                              }
                                            }
                                          },
                                          "range": [
                                            5157,
                                            5172
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 82
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 97
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5148,
                                        5173
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 73
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 98
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5175,
                                            5179
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 100
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 104
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5180,
                                            5183
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 105
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 108
                                            }
                                          }
                                        },
                                        "range": [
                                          5175,
                                          5183
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 108
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5184,
                                              5196
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 147,
                                                "column": 109
                                              },
                                              "end": {
                                                "line": 147,
                                                "column": 121
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 2,
                                            "raw": "2",
                                            "range": [
                                              5197,
                                              5198
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 147,
                                                "column": 122
                                              },
                                              "end": {
                                                "line": 147,
                                                "column": 123
                                              }
                                            }
                                          },
                                          "range": [
                                            5184,
                                            5199
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 147,
                                              "column": 109
                                            },
                                            "end": {
                                              "line": 147,
                                              "column": 124
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5175,
                                        5200
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 125
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5210,
                                            5214
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5215,
                                            5218
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          5210,
                                          5218
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 148,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 148,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5219,
                                              5231
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 3,
                                            "raw": "3",
                                            "range": [
                                              5232,
                                              5233
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            5219,
                                            5234
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5210,
                                        5235
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 148,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 148,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5237,
                                            5241
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5242,
                                            5245
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          5237,
                                          5245
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 148,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 148,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5246,
                                              5258
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 4,
                                            "raw": "4",
                                            "range": [
                                              5259,
                                              5260
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            5246,
                                            5261
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5237,
                                        5262
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 148,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 148,
                                          "column": 60
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5264,
                                            5268
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5269,
                                            5272
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "range": [
                                          5264,
                                          5272
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 148,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 148,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5273,
                                              5285
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 83
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 5,
                                            "raw": "5",
                                            "range": [
                                              5286,
                                              5287
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 85
                                              }
                                            }
                                          },
                                          "range": [
                                            5273,
                                            5288
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 86
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5264,
                                        5289
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 148,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 148,
                                          "column": 87
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5291,
                                            5295
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 93
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5296,
                                            5299
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 97
                                            }
                                          }
                                        },
                                        "range": [
                                          5291,
                                          5299
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 148,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 148,
                                            "column": 97
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5300,
                                              5312
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 98
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 110
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 6,
                                            "raw": "6",
                                            "range": [
                                              5313,
                                              5314
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 148,
                                                "column": 111
                                              },
                                              "end": {
                                                "line": 148,
                                                "column": 112
                                              }
                                            }
                                          },
                                          "range": [
                                            5300,
                                            5315
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 148,
                                              "column": 98
                                            },
                                            "end": {
                                              "line": 148,
                                              "column": 113
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5291,
                                        5316
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 148,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 148,
                                          "column": 114
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5326,
                                            5330
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 12
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5331,
                                            5334
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 13
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "range": [
                                          5326,
                                          5334
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 149,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 149,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5335,
                                              5347
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 7,
                                            "raw": "7",
                                            "range": [
                                              5348,
                                              5349
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            5335,
                                            5350
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 32
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5326,
                                        5351
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 33
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5353,
                                            5357
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 39
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5358,
                                            5361
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 43
                                            }
                                          }
                                        },
                                        "range": [
                                          5353,
                                          5361
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 149,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 149,
                                            "column": 43
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5362,
                                              5374
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 8,
                                            "raw": "8",
                                            "range": [
                                              5375,
                                              5376
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 58
                                              }
                                            }
                                          },
                                          "range": [
                                            5362,
                                            5377
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 59
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5353,
                                        5378
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 60
                                        }
                                      }
                                    },
                                    {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            5380,
                                            5384
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 62
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 66
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "get",
                                          "range": [
                                            5385,
                                            5388
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 70
                                            }
                                          }
                                        },
                                        "range": [
                                          5380,
                                          5388
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 149,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 149,
                                            "column": 70
                                          }
                                        }
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "dependencies",
                                            "range": [
                                              5389,
                                              5401
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 71
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 83
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Literal",
                                            "value": 9,
                                            "raw": "9",
                                            "range": [
                                              5402,
                                              5403
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 149,
                                                "column": 84
                                              },
                                              "end": {
                                                "line": 149,
                                                "column": 85
                                              }
                                            }
                                          },
                                          "range": [
                                            5389,
                                            5404
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 149,
                                              "column": 71
                                            },
                                            "end": {
                                              "line": 149,
                                              "column": 86
                                            }
                                          }
                                        }
                                      ],
                                      "range": [
                                        5380,
                                        5405
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 87
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    5097,
                                    5406
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 88
                                    }
                                  }
                                },
                                "range": [
                                  5083,
                                  5406
                                ],
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 88
                                  }
                                }
                              },
                              "range": [
                                5083,
                                5407
                              ],
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 8
                                },
                                "end": {
                                  "line": 149,
                                  "column": 89
                                }
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "label": null,
                              "range": [
                                5414,
                                5420
                              ],
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 6
                                },
                                "end": {
                                  "line": 150,
                                  "column": 12
                                }
                              }
                            }
                          ],
                          "range": [
                            5066,
                            5420
                          ],
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 6
                            },
                            "end": {
                              "line": 150,
                              "column": 12
                            }
                          }
                        }
                      ],
                      "range": [
                        3000,
                        5426
                      ],
                      "loc": {
                        "start": {
                          "line": 97,
                          "column": 4
                        },
                        "end": {
                          "line": 151,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "newInstance",
                        "range": [
                          5438,
                          5449
                        ],
                        "loc": {
                          "start": {
                            "line": 152,
                            "column": 11
                          },
                          "end": {
                            "line": 152,
                            "column": 22
                          }
                        }
                      },
                      "range": [
                        5431,
                        5450
                      ],
                      "loc": {
                        "start": {
                          "line": 152,
                          "column": 4
                        },
                        "end": {
                          "line": 152,
                          "column": 23
                        }
                      }
                    }
                  ],
                  "range": [
                    2966,
                    5454
                  ],
                  "loc": {
                    "start": {
                      "line": 95,
                      "column": 51
                    },
                    "end": {
                      "line": 153,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  2935,
                  5454
                ],
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 20
                  },
                  "end": {
                    "line": 153,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                2917,
                5454
              ],
              "loc": {
                "start": {
                  "line": 95,
                  "column": 2
                },
                "end": {
                  "line": 153,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve the constructor injector\n  * @param {ResolvedBinding} resolvedBinding - The resolved binding to loaded\n  * @param {Object} dependencies - The dependencies to inject\n  * @returns {Object} Return the object instance with constructor dependencies\n  ",
                  "range": [
                    2650,
                    2914
                  ],
                  "loc": {
                    "start": {
                      "line": 89,
                      "column": 2
                    },
                    "end": {
                      "line": 94,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve properties injection\n  * @param {Object} newInstance - The object instance where to inject properties\n  * @params {Object} dependencies - The property dependencies to inject\n  * @returns {Object} The object with property injected\n  ",
                  "range": [
                    5458,
                    5708
                  ],
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 2
                    },
                    "end": {
                      "line": 160,
                      "column": 4
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "resolveProperty",
                "range": [
                  5711,
                  5726
                ],
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 2
                  },
                  "end": {
                    "line": 161,
                    "column": 17
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "newInstance",
                    "range": [
                      5727,
                      5738
                    ],
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 18
                      },
                      "end": {
                        "line": 161,
                        "column": 29
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "dependencies",
                    "range": [
                      5740,
                      5752
                    ],
                    "loc": {
                      "start": {
                        "line": 161,
                        "column": 31
                      },
                      "end": {
                        "line": 161,
                        "column": 43
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ForOfStatement",
                      "left": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "d",
                              "range": [
                                5767,
                                5768
                              ],
                              "loc": {
                                "start": {
                                  "line": 162,
                                  "column": 12
                                },
                                "end": {
                                  "line": 162,
                                  "column": 13
                                }
                              }
                            },
                            "init": null,
                            "range": [
                              5767,
                              5768
                            ],
                            "loc": {
                              "start": {
                                "line": 162,
                                "column": 12
                              },
                              "end": {
                                "line": 162,
                                "column": 13
                              }
                            }
                          }
                        ],
                        "kind": "var",
                        "range": [
                          5763,
                          5768
                        ],
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 8
                          },
                          "end": {
                            "line": 162,
                            "column": 13
                          }
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "name": "dependencies",
                        "range": [
                          5772,
                          5784
                        ],
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 17
                          },
                          "end": {
                            "line": 162,
                            "column": 29
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    5793,
                                    5804
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 17
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "Identifier",
                                            "name": "d",
                                            "range": [
                                              5805,
                                              5806
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 163,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 163,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "ref",
                                            "range": [
                                              5807,
                                              5810
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 163,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 163,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "range": [
                                            5805,
                                            5810
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 163,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 163,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "value": 0,
                                          "raw": "0",
                                          "range": [
                                            5811,
                                            5812
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 163,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 163,
                                              "column": 25
                                            }
                                          }
                                        },
                                        "range": [
                                          5805,
                                          5813
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 163,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 163,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "toLowerCase",
                                        "range": [
                                          5814,
                                          5825
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 163,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 163,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        5805,
                                        5825
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 163,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 163,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "arguments": [],
                                    "range": [
                                      5805,
                                      5827
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 40
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "d",
                                          "range": [
                                            5830,
                                            5831
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 163,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 163,
                                              "column": 44
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "ref",
                                          "range": [
                                            5832,
                                            5835
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 163,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 163,
                                              "column": 48
                                            }
                                          }
                                        },
                                        "range": [
                                          5830,
                                          5835
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 163,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 163,
                                            "column": 48
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "substring",
                                        "range": [
                                          5836,
                                          5845
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 163,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 163,
                                            "column": 58
                                          }
                                        }
                                      },
                                      "range": [
                                        5830,
                                        5845
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 163,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 163,
                                          "column": 58
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "value": 1,
                                        "raw": "1",
                                        "range": [
                                          5846,
                                          5847
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 163,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 163,
                                            "column": 60
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      5830,
                                      5848
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 61
                                      }
                                    }
                                  },
                                  "range": [
                                    5805,
                                    5848
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 61
                                    }
                                  }
                                },
                                "range": [
                                  5793,
                                  5849
                                ],
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 62
                                  }
                                }
                              },
                              "right": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      5852,
                                      5856
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 69
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "get",
                                    "range": [
                                      5857,
                                      5860
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 73
                                      }
                                    }
                                  },
                                  "range": [
                                    5852,
                                    5860
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 73
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "d",
                                      "range": [
                                        5861,
                                        5862
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 163,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 163,
                                          "column": 75
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "ref",
                                      "range": [
                                        5863,
                                        5866
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 163,
                                          "column": 76
                                        },
                                        "end": {
                                          "line": 163,
                                          "column": 79
                                        }
                                      }
                                    },
                                    "range": [
                                      5861,
                                      5866
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 74
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 79
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  5852,
                                  5867
                                ],
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 80
                                  }
                                }
                              },
                              "range": [
                                5793,
                                5867
                              ],
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 6
                                },
                                "end": {
                                  "line": 163,
                                  "column": 80
                                }
                              }
                            },
                            "range": [
                              5793,
                              5868
                            ],
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 6
                              },
                              "end": {
                                "line": 163,
                                "column": 81
                              }
                            }
                          }
                        ],
                        "range": [
                          5785,
                          5874
                        ],
                        "loc": {
                          "start": {
                            "line": 162,
                            "column": 30
                          },
                          "end": {
                            "line": 164,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        5759,
                        5874
                      ],
                      "loc": {
                        "start": {
                          "line": 162,
                          "column": 4
                        },
                        "end": {
                          "line": 164,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "newInstance",
                        "range": [
                          5886,
                          5897
                        ],
                        "loc": {
                          "start": {
                            "line": 165,
                            "column": 11
                          },
                          "end": {
                            "line": 165,
                            "column": 22
                          }
                        }
                      },
                      "range": [
                        5879,
                        5898
                      ],
                      "loc": {
                        "start": {
                          "line": 165,
                          "column": 4
                        },
                        "end": {
                          "line": 165,
                          "column": 23
                        }
                      }
                    }
                  ],
                  "range": [
                    5753,
                    5902
                  ],
                  "loc": {
                    "start": {
                      "line": 161,
                      "column": 44
                    },
                    "end": {
                      "line": 166,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  5726,
                  5902
                ],
                "loc": {
                  "start": {
                    "line": 161,
                    "column": 17
                  },
                  "end": {
                    "line": 166,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                5711,
                5902
              ],
              "loc": {
                "start": {
                  "line": 161,
                  "column": 2
                },
                "end": {
                  "line": 166,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve properties injection\n  * @param {Object} newInstance - The object instance where to inject properties\n  * @params {Object} dependencies - The property dependencies to inject\n  * @returns {Object} The object with property injected\n  ",
                  "range": [
                    5458,
                    5708
                  ],
                  "loc": {
                    "start": {
                      "line": 155,
                      "column": 2
                    },
                    "end": {
                      "line": 160,
                      "column": 4
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve setters injection\n  * @param {Object} newInstance - The object where to make setter injection\n  * @params {Object} dependencies - The setter dependencies to inject\n  * @returns {Object} The object with setters injected\n  ",
                  "range": [
                    5906,
                    6145
                  ],
                  "loc": {
                    "start": {
                      "line": 168,
                      "column": 2
                    },
                    "end": {
                      "line": 173,
                      "column": 4
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "resolveSetters",
                "range": [
                  6148,
                  6162
                ],
                "loc": {
                  "start": {
                    "line": 174,
                    "column": 2
                  },
                  "end": {
                    "line": 174,
                    "column": 16
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "newInstance",
                    "range": [
                      6163,
                      6174
                    ],
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 17
                      },
                      "end": {
                        "line": 174,
                        "column": 28
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "dependencies",
                    "range": [
                      6176,
                      6188
                    ],
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 30
                      },
                      "end": {
                        "line": 174,
                        "column": 42
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ForOfStatement",
                      "left": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "d",
                              "range": [
                                6203,
                                6204
                              ],
                              "loc": {
                                "start": {
                                  "line": 175,
                                  "column": 12
                                },
                                "end": {
                                  "line": 175,
                                  "column": 13
                                }
                              }
                            },
                            "init": null,
                            "range": [
                              6203,
                              6204
                            ],
                            "loc": {
                              "start": {
                                "line": 175,
                                "column": 12
                              },
                              "end": {
                                "line": 175,
                                "column": 13
                              }
                            }
                          }
                        ],
                        "kind": "var",
                        "range": [
                          6199,
                          6204
                        ],
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 8
                          },
                          "end": {
                            "line": 175,
                            "column": 13
                          }
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "name": "dependencies",
                        "range": [
                          6208,
                          6220
                        ],
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 17
                          },
                          "end": {
                            "line": 175,
                            "column": 29
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "newInstance",
                                  "range": [
                                    6229,
                                    6240
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 17
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "set",
                                    "raw": "'set'",
                                    "range": [
                                      6241,
                                      6246
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "d",
                                      "range": [
                                        6247,
                                        6248
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 25
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "ref",
                                      "range": [
                                        6249,
                                        6252
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 29
                                        }
                                      }
                                    },
                                    "range": [
                                      6247,
                                      6252
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    6241,
                                    6252
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 29
                                    }
                                  }
                                },
                                "range": [
                                  6229,
                                  6253
                                ],
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 30
                                  }
                                }
                              },
                              "right": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      6256,
                                      6260
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "get",
                                    "range": [
                                      6261,
                                      6264
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "range": [
                                    6256,
                                    6264
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 176,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 176,
                                      "column": 41
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "d",
                                      "range": [
                                        6265,
                                        6266
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "ref",
                                      "range": [
                                        6267,
                                        6270
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 176,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 176,
                                          "column": 47
                                        }
                                      }
                                    },
                                    "range": [
                                      6265,
                                      6270
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 176,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 176,
                                        "column": 47
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  6256,
                                  6271
                                ],
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 48
                                  }
                                }
                              },
                              "range": [
                                6229,
                                6271
                              ],
                              "loc": {
                                "start": {
                                  "line": 176,
                                  "column": 6
                                },
                                "end": {
                                  "line": 176,
                                  "column": 48
                                }
                              }
                            },
                            "range": [
                              6229,
                              6272
                            ],
                            "loc": {
                              "start": {
                                "line": 176,
                                "column": 6
                              },
                              "end": {
                                "line": 176,
                                "column": 49
                              }
                            }
                          }
                        ],
                        "range": [
                          6221,
                          6278
                        ],
                        "loc": {
                          "start": {
                            "line": 175,
                            "column": 30
                          },
                          "end": {
                            "line": 177,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        6195,
                        6278
                      ],
                      "loc": {
                        "start": {
                          "line": 175,
                          "column": 4
                        },
                        "end": {
                          "line": 177,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "Identifier",
                        "name": "newInstance",
                        "range": [
                          6290,
                          6301
                        ],
                        "loc": {
                          "start": {
                            "line": 178,
                            "column": 11
                          },
                          "end": {
                            "line": 178,
                            "column": 22
                          }
                        }
                      },
                      "range": [
                        6283,
                        6302
                      ],
                      "loc": {
                        "start": {
                          "line": 178,
                          "column": 4
                        },
                        "end": {
                          "line": 178,
                          "column": 23
                        }
                      }
                    }
                  ],
                  "range": [
                    6189,
                    6306
                  ],
                  "loc": {
                    "start": {
                      "line": 174,
                      "column": 43
                    },
                    "end": {
                      "line": 179,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  6162,
                  6306
                ],
                "loc": {
                  "start": {
                    "line": 174,
                    "column": 16
                  },
                  "end": {
                    "line": 179,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                6148,
                6306
              ],
              "loc": {
                "start": {
                  "line": 174,
                  "column": 2
                },
                "end": {
                  "line": 179,
                  "column": 3
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n  * Resolve setters injection\n  * @param {Object} newInstance - The object where to make setter injection\n  * @params {Object} dependencies - The setter dependencies to inject\n  * @returns {Object} The object with setters injected\n  ",
                  "range": [
                    5906,
                    6145
                  ],
                  "loc": {
                    "start": {
                      "line": 168,
                      "column": 2
                    },
                    "end": {
                      "line": 173,
                      "column": 4
                    }
                  }
                }
              ],
              "static": false
            }
          ],
          "range": [
            46,
            6308
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 21
            },
            "end": {
              "line": 180,
              "column": 1
            }
          }
        },
        "range": [
          32,
          6308
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 7
          },
          "end": {
            "line": 180,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n* @class Injector\n",
            "range": [
              0,
              24
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 2
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        25,
        6308
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 180,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n* @class Injector\n",
          "range": [
            0,
            24
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 2
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    25,
    6308
  ],
  "loc": {
    "start": {
      "line": 4,
      "column": 0
    },
    "end": {
      "line": 180,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n* @class Injector\n",
      "range": [
        0,
        24
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 2
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * This is an Injector\n  * @constructor\n  * @param {ResolvedBinding} resolvedBindings - The resolved binding of the injector\n  * @param {Injector} parent - The parent injector\n  ",
      "range": [
        51,
        236
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * This is an injector Factory\n  * @param {Binding} bindings - List of the bindings to resolve\n  * @Optionnal {Injector} injector - Optionnal parent injector\n  * @returns {Injector} The new injector created\n  ",
      "range": [
        357,
        573
      ],
      "loc": {
        "start": {
          "line": 17,
          "column": 2
        },
        "end": {
          "line": 22,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * Start the binding resolution\n  * @param {Binding} bindings - An array of bindings to resolve\n  * @returns {ResolvedBinding} The array of resolvedBinding obtained\n  ",
      "range": [
        691,
        865
      ],
      "loc": {
        "start": {
          "line": 27,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * Return the factory execution value if the key matches\n  * @param {String} token - The key of the resolvedBinding factory to get\n  * @returns {Object} The value corresponding to the factory execution\n  ",
      "range": [
        1037,
        1248
      ],
      "loc": {
        "start": {
          "line": 40,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * Resolve the dependencies of the resolvedBinding\n  * @param {ResolvedBinding} resolvedBinding - The resolved binding concerned\n  * @returns {Object} The factory execution loaded\n  ",
      "range": [
        1417,
        1606
      ],
      "loc": {
        "start": {
          "line": 54,
          "column": 2
        },
        "end": {
          "line": 58,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * Split dependencies in an array of object\n  * @param {Object} dependencies - An array of dependencies\n  * @returns {Object} An array of dependencies splitted into 3 category\n  * inConstructor, inProperty, inSetter\n  ",
      "range": [
        2012,
        2237
      ],
      "loc": {
        "start": {
          "line": 67,
          "column": 2
        },
        "end": {
          "line": 72,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * Resolve the constructor injector\n  * @param {ResolvedBinding} resolvedBinding - The resolved binding to loaded\n  * @param {Object} dependencies - The dependencies to inject\n  * @returns {Object} Return the object instance with constructor dependencies\n  ",
      "range": [
        2650,
        2914
      ],
      "loc": {
        "start": {
          "line": 89,
          "column": 2
        },
        "end": {
          "line": 94,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * Resolve properties injection\n  * @param {Object} newInstance - The object instance where to inject properties\n  * @params {Object} dependencies - The property dependencies to inject\n  * @returns {Object} The object with property injected\n  ",
      "range": [
        5458,
        5708
      ],
      "loc": {
        "start": {
          "line": 155,
          "column": 2
        },
        "end": {
          "line": 160,
          "column": 4
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n  * Resolve setters injection\n  * @param {Object} newInstance - The object where to make setter injection\n  * @params {Object} dependencies - The setter dependencies to inject\n  * @returns {Object} The object with setters injected\n  ",
      "range": [
        5906,
        6145
      ],
      "loc": {
        "start": {
          "line": 168,
          "column": 2
        },
        "end": {
          "line": 173,
          "column": 4
        }
      }
    }
  ]
}