L ifddlmZddlmZddlZej dZdZdZ dZ dZ d Z y) )otTables)deepcopyNzfontTools.varLib.instancercVg}|j|jjng}|D]E}|jdk7ry|j|j|j |j fGt|jjg|z}||vry|j|y)NTF) ConditionSetConditionTableFormatappend AxisIndexFilterRangeMinValueFilterRangeMaxValue frozensetFeatureTableSubstitutionVersionadd)recseen conditionSet conditionSetscond recordKeys l/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/varLib/instancer/featureVars.py_featureVariationRecordIsUniquer sL+.+;+;+G''R  ;;!  ^^T55t7O7O P  377??@<OPID c|j}|j}||kDs|jkDs|jkryt fd||fDS)Nc3DK|]}j|dyw)F) extrapolateN)renormalizeValue).0v axisLimits r z7_limitFeatureVariationConditionRange...s&=> ""1%"8s )r r maximumminimumtuple) conditionr!minValuemaxValues ` r$_limitFeatureVariationConditionRanger)"sc,,H,,H 8 i'' ' i'' '  CKXBV rcd}d}g}ddlm}|ddd} |j;tj|_g|j_d|j_t |jjD]+\} } | jdk(r| j} || j} | j}| j}|j| | }||jcxkr|ksnd}|j|kDs|j|krd}n| |vs|| | _t!| |}|r2|\}}|| _ || _ d}|dk7s|dk7s|j#| d}nFt$j'dj)| || jd}|j#| .||r||j_|sd|_d}nd}|xr| }|||fS)NTFr) NormalizedAxisTripleAndDistancesrzWCondition table {0} of FeatureVariationRecord {1} has unsupported format ({2}); ignored)fontTools.varLib.instancerr+rotrConditionCount enumerater r axisTagr r getdefaultr$r#r)r logwarningformat)recordrecIdx axisLimitsfvarAxes axisIndexMapapplies shouldKeep newConditionsr+default_tripleir&axisIdxr1r'r(triplenewRanger$r# universals r"_instantiateFeatureVariationRecordrE3sGJMK5b!R@N " oo/-/*-.*!&"5"5"D"DE*, 9   q ))Gw'//G 44H 44H^^G^I% H  # #WV_%9%9:  '') *r) fontTools.ttLib.tablesrr.copyrlogging getLoggerr4rr)rEr]rhrrrns?1g452"D*N6#r *r