@pie-element/graphing-solution-set 6.1.1-next.0 → 6.1.1-next.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +1 -0
- package/CHANGELOG.md +846 -0
- package/LICENSE.md +5 -0
- package/README.md +20 -0
- package/configure/CHANGELOG.json +1 -0
- package/configure/CHANGELOG.md +806 -0
- package/configure/lib/configure.js +312 -0
- package/configure/lib/configure.js.map +1 -0
- package/configure/lib/correct-response.js +435 -0
- package/configure/lib/correct-response.js.map +1 -0
- package/configure/lib/defaults.js +357 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/graphing-config.js +408 -0
- package/configure/lib/graphing-config.js.map +1 -0
- package/configure/lib/index.js +163 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/utils.js +630 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +29 -0
- package/controller/CHANGELOG.json +1 -0
- package/controller/CHANGELOG.md +671 -0
- package/controller/lib/defaults.js +69 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +351 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/lib/utils.js +212 -0
- package/controller/lib/utils.js.map +1 -0
- package/controller/package.json +22 -0
- package/demo-gss.gif +0 -0
- package/docs/config-schema.json +1560 -0
- package/docs/config-schema.json.md +1114 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +54 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +6 -0
- package/docs/pie-schema.json +1800 -0
- package/docs/pie-schema.json.md +952 -0
- package/lib/index.js +164 -0
- package/lib/index.js.map +1 -0
- package/lib/main.js +355 -0
- package/lib/main.js.map +1 -0
- package/lib/utils.js +515 -0
- package/lib/utils.js.map +1 -0
- package/package.json +22 -57
- package/dist/author/configure.d.ts +0 -26
- package/dist/author/configure.js +0 -190
- package/dist/author/correct-response.d.ts +0 -33
- package/dist/author/correct-response.js +0 -206
- package/dist/author/defaults.d.ts +0 -238
- package/dist/author/defaults.js +0 -339
- package/dist/author/graphing-config.d.ts +0 -33
- package/dist/author/graphing-config.js +0 -238
- package/dist/author/index.d.ts +0 -62
- package/dist/author/index.js +0 -87
- package/dist/author/utils.d.ts +0 -46
- package/dist/author/utils.js +0 -474
- package/dist/controller/defaults.d.ts +0 -64
- package/dist/controller/defaults.js +0 -54
- package/dist/controller/index.d.ts +0 -24
- package/dist/controller/index.js +0 -112
- package/dist/controller/utils.d.ts +0 -20
- package/dist/controller/utils.js +0 -42
- package/dist/delivery/index.d.ts +0 -22
- package/dist/delivery/index.js +0 -62
- package/dist/delivery/main.d.ts +0 -31
- package/dist/delivery/main.js +0 -198
- package/dist/delivery/utils.d.ts +0 -12
- package/dist/delivery/utils.js +0 -220
- package/dist/graphing-solution-set.css +0 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.iife.d.ts +0 -8
- package/dist/index.iife.js +0 -404
- package/dist/index.js +0 -2
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_apply.js +0 -12
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludes.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludesWith.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +0 -15
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +0 -12
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +0 -57
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseDifference.js +0 -23
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFindIndex.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFlatten.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIndexOf.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +0 -30
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNaN.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +0 -12
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseRest.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSet.js +0 -22
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.js +0 -15
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUniq.js +0 -27
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castPath.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createSet.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +0 -35
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +0 -35
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +0 -32
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +0 -4
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +0 -23
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +0 -33
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isFlattenable.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKey.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overRest.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToString.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_strictIndexOf.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toKey.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +0 -15
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/constant.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/differenceWith.js +0 -12
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/identity.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +0 -4
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLikeObject.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +0 -21
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/last.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/memoize.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/noop.js +0 -4
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/set.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toString.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniq.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniqWith.js +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["_lodashEs","require","VALID_GRID_VALUES","PREFERRED_VALID_GRID_VALUES","VALID_LABEL_VALUES","exports","getGridValues","axis","size","prefferedValues","minValue","max","min","maxValue","values","filter","value","getLabelValues","applyConstraints","oldGridValues","oldLabelValues","gridValues","labelValues","step","isEqual","includes","preferredValues","lowestValue","labelStep","getPlotablePoints","prop","tickValues","tickVal","indexOf","push","Math","round","tV","filterPlotableMarks","domain","range","answers","domainValues","rangeValues","isPointPlotable","x","y","Object","entries","reduce","newAnswers","key","answer","marks","mark","type","points","find","point","from","root","to","edge","building","distance","a","b","Number","sqrt","toFixed","pointInPolygon","polygon","c","inside","clonePolygon","i","length","lineIntersect","x1","y1","x2","y2","x3","y3","x4","y4","ua","denominator","isPointInsideGraph","isPointOnOrInsideGraph","findIntersectionPointForMark","intersectionPoint","tempData","intersection","sortPointsClockWise","sort","cy","cx","center","startAng","forEach","ang","atan2","PI","angle","ccwPoints","reverse","unshift","pop","map","attr","dotProduct","v1","v2","magnitude","v","angleBetweenVectors","dot","magV1","magV2","acos","pointInAngle","commonPoint","point1","point2","testPoint","vector1","vector2","testVector","angle1","angle2","angleSum","tolerance","abs","removeDuplicatesFromArray","array","obj","index","findIndex","o","removeDuplicateAndFilterSections","sections","section","findSectionsInSolutionSetForOneLine","concat","findSectionsInSolutionSetForTwoLines","gssLineData","mark1","mark2","cornerPoints","intersectPoint","intersectionPoint1","intersectionPoint2","j","bucket","newCornerPoints","k","sections1","sections2","o1","some","o2","sections3","findSectionsInSolutionSet","numberOfLines","pointInsidePolygon","num_vertices","p1","p2","x_intersection","checkIfLinesAreAdded"],"sources":["../src/utils.js"],"sourcesContent":["import { isEqual } from 'lodash-es';\n\n/*Valid grid values*/\nconst VALID_GRID_VALUES = [\n 0.01, 0.02, 0.04, 0.05, 0.0625, 0.1, 0.125, 0.2, 0.25, 0.5, 1, 2, 3, 4, 5, 8, 10, 12, 15, 20, 40, 50, 64, 100, 500,\n 1000,\n];\n\n// same as VALID_GRID_VALUES but next values are excluded: 0.04, 0.0625, 0.125, 3, 4, 8, 12, 15, 40, 64\nconst PREFERRED_VALID_GRID_VALUES = [0.01, 0.02, 0.05, 0.1, 0.2, 0.25, 0.5, 1, 2, 5, 10, 20, 50, 100, 500, 1000];\n\n/*Valid label values*/\nexport const VALID_LABEL_VALUES = {\n 0.01: [0, 0.01, 0.02, 0.04, 0.05, 0.1],\n 0.02: [0, 0.02, 0.04, 0.1],\n 0.04: [0, 0.04, 0.08, 0.16, 0.2],\n 0.05: [0, 0.05, 0.1, 0.2, 0.25],\n 0.0625: [0, 0.0625, 0.125, 0.25, 0.5],\n 0.1: [0, 0.1, 0.2, 0.4, 0.5, 1],\n 0.125: [0, 0.125, 0.25, 0.5, 1],\n 0.2: [0, 0.2, 0.5, 0.1],\n 0.25: [0, 0.25, 0.5, 1, 2],\n 0.5: [0, 0.5, 1, 2],\n 1: [0, 1, 2, 4, 5, 10],\n 2: [0, 2, 4, 8, 10],\n 3: [0, 3, 6, 12, 15],\n 4: [0, 4, 8, 16, 20],\n 5: [0, 5, 10, 20, 25],\n 8: [0, 8, 16, 32, 40, 64],\n 10: [0, 10, 20, 40, 50, 100],\n 12: [0, 12, 24],\n 15: [0, 15, 30, 60],\n 20: [0, 20, 40, 80, 100],\n 40: [0, 40, 80, 160, 200],\n 50: [0, 50, 100, 200, 250],\n 64: [0, 64, 128],\n 100: [0, 100, 200, 400, 500],\n 500: [0, 500, 1000, 2500],\n 1000: [0, 1000, 2000, 4000, 5000],\n};\n\n/*\n * Function to get grid values\n * @param {Object} axis - axis object\n * @param {Number} size - size of the axis\n * @param {Boolean} prefferedValues - flag to get preffered values\n * */\nexport const getGridValues = (axis, size, prefferedValues = false) => {\n const minValue = (10 * (axis.max - axis.min)) / size;\n const maxValue = minValue * 10;\n const values = prefferedValues ? PREFERRED_VALID_GRID_VALUES : VALID_GRID_VALUES;\n return values.filter((value) => value >= minValue && value <= maxValue);\n};\n\n/*\n * Function to get label values\n * @param {Number} value - value of the axis step\n * */\nexport const getLabelValues = (value) => VALID_LABEL_VALUES[value] || [];\n\n/*\n * Function to apply constraints\n * @param {Object} axis - axis object\n * @param {Number} size - size of the axis\n * @param {Array} oldGridValues - old grid values\n * @param {Array} oldLabelValues - old label values\n * */\nexport const applyConstraints = (axis, size, oldGridValues, oldLabelValues) => {\n const gridValues = getGridValues(axis, size);\n let labelValues = getLabelValues(axis.step);\n if (!isEqual(oldGridValues, gridValues) && !gridValues.includes(axis.step)) {\n const preferredValues = getGridValues(axis, size, true);\n const lowestValue = preferredValues[0] || 1;\n axis.step = lowestValue;\n labelValues = getLabelValues(lowestValue);\n if (!labelValues.includes(axis.labelStep)) {\n axis.labelStep = lowestValue;\n }\n return { gridValues, labelValues };\n }\n if (!isEqual(oldLabelValues, labelValues) && !labelValues.includes(axis.labelStep)) {\n axis.labelStep = axis.step;\n }\n return { gridValues, labelValues };\n};\n\n// also used in pie-lib/graphing/utils as 'getTickValues'\n/*\n * Function to get plotable points\n * @param {Object} prop - axis object\n * */\nconst getPlotablePoints = (prop) => {\n const tickValues = [];\n let tickVal = 0;\n while (tickVal >= prop.min && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal - prop.step) * 10000) / 10000;\n }\n tickVal = Math.round(prop.step * 10000) / 10000;\n while (tickVal <= prop.max && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;\n }\n // return only ticks that are inside the min-max interval\n if (tickValues) {\n return tickValues.filter((tV) => tV >= prop.min && tV <= prop.max);\n }\n return [];\n};\n\n/*\n * Function to get plotable marks\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * @param {Object} answers - answers object\n * */\nexport const filterPlotableMarks = (domain, range, answers) => {\n const domainValues = getPlotablePoints(domain);\n const rangeValues = getPlotablePoints(range);\n const isPointPlotable = (x, y) => domainValues.includes(x) && rangeValues.includes(y);\n return Object.entries(answers || {}).reduce((newAnswers, [key, answer]) => {\n newAnswers[key] = {\n ...answer,\n marks: (answer.marks || []).filter((mark) => {\n if (mark.type === 'point') {\n return isPointPlotable(mark.x, mark.y);\n }\n if (mark.type === 'polygon') {\n return !mark.points.find((point) => !isPointPlotable(point.x, point.y));\n }\n const from = mark.from || mark.root;\n const to = mark.to || mark.edge;\n return mark.building\n ? isPointPlotable(from.x, from.y)\n : isPointPlotable(from.x, from.y) && isPointPlotable(to.x, to.y);\n }),\n };\n return newAnswers;\n }, {});\n};\n\n//////////////////////////////////////////////////////////////////////////////////\n// BELOW FUNCTIONS ARE USED IN src/utils as well\n//////////////////////////////////////////////////////////////////////////////////\n\n/*\n * Function to calculate the distance between two points\n * @param {Object} a - point a\n * @param {Object} b - point b\n * */\nconst distance = (a, b) => {\n return Number(Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2).toFixed(3));\n};\n\n/*\n * Function to check if a point lies on edges of a polygon\n * @param {Object} point - point object\n * @param {Array} polygon - polygon points array\n * */\nconst pointInPolygon = (point, polygon) => {\n let c = point;\n let inside = false;\n let clonePolygon = [...polygon];\n clonePolygon.push(polygon[0]);\n for (let i = 0; i < clonePolygon.length - 1; i++) {\n let a = clonePolygon[i];\n let b = clonePolygon[i + 1];\n // check if point is on the edge\n if (distance(a, c) + distance(c, b) === distance(a, b)) {\n inside = true;\n break;\n }\n }\n return inside;\n};\n\n/*\n * Function to get the intersection point of two lines\n * @param {Number} x1 - x coordinate of point 1 of line 1\n * @param {Number} y1 - y coordinate of point 1 of line 1\n * @param {Number} x2 - x coordinate of point 2 of line 1\n * @param {Number} y2 - y coordinate of point 2 of line 1\n * @param {Number} x3 - x coordinate of point 1 of line 2\n * @param {Number} y3 - y coordinate of point 1 of line 2\n * @param {Number} x4 - x coordinate of point 2 of line 2\n * @param {Number} y4 - y coordinate of point 2 of line 2\n * */\nconst lineIntersect = (x1, y1, x2, y2, x3, y3, x4, y4) => {\n let ua,\n denominator = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);\n if (denominator === 0) {\n return null;\n }\n ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denominator;\n return {\n x: Number((x1 + ua * (x2 - x1)).toFixed(3)),\n y: Number((y1 + ua * (y2 - y1)).toFixed(3)),\n };\n};\n\n/*\n * Check if a point is inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointInsideGraph = (point, domain, range) => {\n return point.x > domain.min && point.x < domain.max && point.y > range.min && point.y < range.max;\n};\n\n/*\n * Check if a point is on or inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointOnOrInsideGraph = (point, domain, range) => {\n return point.x >= domain.min && point.x <= domain.max && point.y >= range.min && point.y <= range.max;\n};\n\n/*\n * Find the intersection point of a mark with the graph\n * @param {Object} mark - mark object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findIntersectionPointForMark = (mark, domain, range) => {\n let intersectionPoint = [];\n let tempData = [\n [domain.max, range.max, domain.max, range.min],\n [domain.min, range.max, domain.min, range.min],\n [domain.min, range.max, domain.max, range.max],\n [domain.min, range.min, domain.max, range.min],\n ];\n for (let i = 0; i < tempData.length; i++) {\n let intersection = lineIntersect(\n mark.from.x,\n mark.from.y,\n mark.to.x,\n mark.to.y,\n tempData[i][0],\n tempData[i][1],\n tempData[i][2],\n tempData[i][3],\n );\n if (intersection && isPointOnOrInsideGraph(intersection, domain, range)) {\n intersectionPoint.push(intersection);\n }\n }\n return intersectionPoint;\n};\n\n/*\n * Sort points in clockwise direction for a polygon\n * @param {Array} points - points array\n * */\nconst sortPointsClockWise = (points) => {\n // Find min max to get center and Sort from top to bottom\n points.sort((a, b) => a.y - b.y);\n // Get center y\n const cy = (points[0].y + points[points.length - 1].y) / 2;\n // Sort from right to left\n points.sort((a, b) => b.x - a.x);\n // Get center x\n const cx = (points[0].x + points[points.length - 1].x) / 2;\n // Center point\n const center = { x: cx, y: cy };\n // As the points are sorted from right to left the first point is the rightmost Starting angle used to reference other angles\n let startAng;\n points.forEach((point) => {\n let ang = Math.atan2(point.y - center.y, point.x - center.x);\n if (!startAng) {\n startAng = ang;\n } else {\n if (ang < startAng) {\n // ensure that all points are clockwise of the start point\n ang += Math.PI * 2;\n }\n }\n point.angle = ang; // add the angle to the point\n });\n // first sort clockwise\n points.sort((a, b) => a.angle - b.angle);\n // then reverse the order\n const ccwPoints = points.reverse();\n // move the last point back to the start\n ccwPoints.unshift(ccwPoints.pop());\n return ccwPoints.map(({ angle, ...attr }) => attr);\n};\n\n/*\n * Function to calculate the dot product of two vectors\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst dotProduct = (v1, v2) => {\n return v1.x * v2.x + v1.y * v2.y;\n};\n\n/*\n * Function to calculate the magnitude of a vector\n * @param {Object} v - point object\n * */\nconst magnitude = (v) => {\n return Math.sqrt(v.x * v.x + v.y * v.y);\n};\n\n/*\n * Function to calculate the angle between two vectors in radians\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst angleBetweenVectors = (v1, v2) => {\n const dot = dotProduct(v1, v2);\n const magV1 = magnitude(v1);\n const magV2 = magnitude(v2);\n // Ensure the dot product is within the domain of the acos function\n return Math.acos(dot / (magV1 * magV2));\n};\n\n/*\n * Function to check if a point lies between the angle formed by two lines\n * @param {Object} commonPoint - common point of the two lines\n * @param {Object} point1 - point 1 of cone\n * @param {Object} point2 - point 2 of cone\n * @param {Object} testPoint - point to be tested\n * */\nconst pointInAngle = (commonPoint, point1, point2, testPoint) => {\n const vector1 = { x: point1.x - commonPoint.x, y: point1.y - commonPoint.y };\n const vector2 = { x: point2.x - commonPoint.x, y: point2.y - commonPoint.y };\n const testVector = { x: testPoint.x - commonPoint.x, y: testPoint.y - commonPoint.y };\n const angle1 = angleBetweenVectors(vector1, testVector);\n const angle2 = angleBetweenVectors(vector2, testVector);\n const angleSum = angle1 + angle2;\n // Check if the sum of angles is approximately equal to the angle between the two lines\n // You may need to adjust the tolerance (e.g., 0.0001) based on your specific requirements\n const tolerance = 0.0001;\n return Math.abs(angleSum - angleBetweenVectors(vector1, vector2)) < tolerance;\n};\n\n/*\n * Function to remove duplicate points from an array\n * @param {Array} array - array of points\n * */\nconst removeDuplicatesFromArray = (array) => {\n return array.filter((obj, index) => {\n return index === array.findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n};\n\n/*\n * Function to remove duplicate points and filter sections\n * @param {Array} sections - array of sections\n * */\nconst removeDuplicateAndFilterSections = (sections) => {\n //removing duplicate points.\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sections[i].filter((obj, index) => {\n return index === sections[i].findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n }\n //removing arrays with two points\n sections = sections.filter((section) => section.length > 2);\n //sorting the points in clockwise direction\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sortPointsClockWise(sections[i]);\n }\n return sections;\n};\n\n/*\n * Function to find sections in solution set for one line\n * @param {Array} intersectionPoint - intersection point\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForOneLine = (intersectionPoint, domain, range) => {\n let sections = [];\n sections.push([].concat(intersectionPoint));\n sections.push([].concat(intersectionPoint));\n if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.max }, { x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.max }, { x: domain.max, y: range.min }, { x: domain.min, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max }, { x: domain.min, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.max, y: range.min });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].x === domain.max) ||\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].x === domain.min)\n ) {\n sections[0].push({ x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].y === range.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[0].y === range.max && intersectionPoint[1].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max });\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set for two lines\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForTwoLines = (gssLineData, answers, domain, range) => {\n let mark1 = answers[0];\n let mark2 = answers[1];\n let cornerPoints = [\n { x: domain.min, y: range.min },\n { x: domain.min, y: range.max },\n { x: domain.max, y: range.min },\n { x: domain.max, y: range.max },\n ];\n let intersectPoint = lineIntersect(\n mark1.from.x,\n mark1.from.y,\n mark1.to.x,\n mark1.to.y,\n mark2.from.x,\n mark2.from.y,\n mark2.to.x,\n mark2.to.y,\n );\n let sections = [];\n let intersectionPoint1 = findIntersectionPointForMark(mark1, domain, range);\n intersectionPoint1 = removeDuplicatesFromArray(intersectionPoint1);\n let intersectionPoint2 = findIntersectionPointForMark(mark2, domain, range);\n intersectionPoint2 = removeDuplicatesFromArray(intersectionPoint2);\n if (intersectPoint && isPointInsideGraph(intersectPoint, domain, range)) {\n for (let i = 0; i < intersectionPoint1.length; i++) {\n for (let j = 0; j < intersectionPoint2.length; j++) {\n let bucket = [];\n let newCornerPoints = [];\n bucket.push(intersectPoint);\n bucket.push(intersectionPoint1[i]);\n bucket.push(intersectionPoint2[j]);\n for (let k = 0; k < cornerPoints.length; k++) {\n if (pointInAngle(intersectPoint, intersectionPoint1[i], intersectionPoint2[j], cornerPoints[k])) {\n bucket.push(cornerPoints[k]);\n } else {\n newCornerPoints.push(cornerPoints[k]);\n }\n }\n cornerPoints = newCornerPoints;\n sections.push(bucket);\n }\n }\n } else {\n let sections1 = findSectionsInSolutionSetForOneLine(intersectionPoint1, domain, range);\n let sections2 = findSectionsInSolutionSetForOneLine(intersectionPoint2, domain, range);\n for (let i = 0; i < sections1.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint2[0], sections1[i]) && pointInPolygon(intersectionPoint2[1], sections1[i]))\n ) {\n sections.push(sections1[i]);\n }\n }\n for (let i = 0; i < sections2.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint1[0], sections2[i]) && pointInPolygon(intersectionPoint1[1], sections2[i]))\n ) {\n sections.push(sections2[i]);\n }\n }\n for (let i = 0; i < sections.length; i++) {\n cornerPoints = cornerPoints.filter(function (o1) {\n return !sections[i].some(function (o2) {\n return o1.x === o2.x && o1.y === o2.y;\n });\n });\n }\n let sections3 = cornerPoints.concat(intersectionPoint1, intersectionPoint2);\n sections.push(sections3);\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nexport const findSectionsInSolutionSet = (gssLineData, answers, domain, range) => {\n if (gssLineData.numberOfLines === 1) {\n const intersectionPoint = findIntersectionPointForMark(answers[0], domain, range);\n gssLineData.sections = findSectionsInSolutionSetForOneLine(intersectionPoint, domain, range);\n } else {\n gssLineData.sections = findSectionsInSolutionSetForTwoLines(gssLineData, answers, domain, range);\n }\n return gssLineData;\n};\n\n/*\n * Function to check if a point is inside a polygon\n * @param {Object} point - point to be checked\n * @param {Array} polygon - polygon points array\n * */\nexport const pointInsidePolygon = (point, polygon) => {\n const num_vertices = polygon.length;\n const x = point.x;\n const y = point.y;\n let inside = false;\n let p1 = polygon[0];\n let p2;\n for (let i = 1; i <= num_vertices; i++) {\n p2 = polygon[i % num_vertices];\n if (y > Math.min(p1.y, p2.y)) {\n if (y <= Math.max(p1.y, p2.y)) {\n if (x <= Math.max(p1.x, p2.x)) {\n const x_intersection = ((y - p1.y) * (p2.x - p1.x)) / (p2.y - p1.y) + p1.x;\n if (p1.x === p2.x || x <= x_intersection) {\n inside = !inside;\n }\n }\n }\n }\n p1 = p2;\n }\n return inside;\n};\n\n/*\n * Function to check if lines are added in the graph\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answer - answer array\n * */\nexport const checkIfLinesAreAdded = (gssLineData, answer) => {\n if (answer.length === 0) {\n return false;\n }\n if (gssLineData.numberOfLines === 1) {\n if (answer.length === 1) {\n return !answer[0].building;\n }\n } else {\n if (answer.length !== 2) {\n return false;\n } else {\n return !answer[1].building;\n }\n }\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pie-element/graphing-solution-set-configure",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "5.1.0",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "lib/index.js",
|
|
7
|
+
"module": "src/index.js",
|
|
8
|
+
"author": "",
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@emotion/react": "^11.14.0",
|
|
11
|
+
"@emotion/style": "^0.8.0",
|
|
12
|
+
"@mui/icons-material": "^7.3.4",
|
|
13
|
+
"@mui/material": "^7.3.4",
|
|
14
|
+
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
15
|
+
"@pie-lib/config-ui": "13.0.7",
|
|
16
|
+
"@pie-lib/editable-html-tip-tap": "2.1.5",
|
|
17
|
+
"@pie-lib/graphing-solution-set": "4.0.7",
|
|
18
|
+
"@pie-lib/math-rendering": "5.0.2",
|
|
19
|
+
"classnames": "^2.2.6",
|
|
20
|
+
"debug": "^4.1.1",
|
|
21
|
+
"prop-types": "^15.8.1",
|
|
22
|
+
"react": "18.3.1",
|
|
23
|
+
"react-dom": "18.3.1"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"test": "./node_modules/.bin/jest"
|
|
27
|
+
},
|
|
28
|
+
"license": "ISC"
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|