def __init__(self, v, aspectValues=None):
        global Aspect
        if Aspect is None:
            from arelle.ModelFormulaObject import Aspect
        self.modelXbrl = v.modelXbrl
        if aspectValues is None:
            aspectValues = {}
        self.aspectEntryObjectId = aspectValues.get("aspectEntryObjectId", None)
        if Aspect.CONCEPT in aspectValues:
            qname = aspectValues[Aspect.CONCEPT]
            self.qname = qname
            self.concept = v.modelXbrl.qnameConcepts.get(qname)
            self.isItem = self.concept is not None and self.concept.isItem
            self.isTuple = self.concept is not None and self.concept.isTuple
        else:
            self.qname = None # undefined concept
            self.concept = None # undefined concept
            self.isItem = False # don't block aspectMatches
            self.isTuple = False
        if aspectValues in Aspect.LOCATION:
            self.parent = aspectValues[Aspect.LOCATION]
            try:
                self.isTuple = self.parent.isTuple
            except AttributeError:
                self.isTuple = False
        else:
            self.parent = v.modelXbrl.modelDocument.xmlRootElement
        self.isNumeric = self.concept is not None and self.concept.isNumeric
        self.context = ContextPrototype(v, aspectValues)
        if Aspect.UNIT in aspectValues:
            self.unit = UnitPrototype(v, aspectValues)
        else:
            self.unit = None
        self.factObjectId = None
dataset/ETHPy150Open Arelle/Arelle/arelle/PrototypeInstanceObject.py/FactPrototype.__init__/swapped operands of `in`