diff --git a/.build/arm64-apple-macosx/debug/Algorithms-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/Algorithms-tool.build/module.modulemap new file mode 100644 index 0000000..f15c608 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/Algorithms-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module Algorithms { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/Algorithms-tool.build/Algorithms-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/Algorithms.build/module.modulemap b/.build/arm64-apple-macosx/debug/Algorithms.build/module.modulemap new file mode 100644 index 0000000..e21fde5 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/Algorithms.build/module.modulemap @@ -0,0 +1,4 @@ +module Algorithms { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/Algorithms.build/Algorithms-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/ArgumentParser-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/ArgumentParser-tool.build/module.modulemap new file mode 100644 index 0000000..75a8a56 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/ArgumentParser-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module ArgumentParser { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/ArgumentParser-tool.build/ArgumentParser-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/ArgumentParser.build/module.modulemap b/.build/arm64-apple-macosx/debug/ArgumentParser.build/module.modulemap new file mode 100644 index 0000000..4aa1a01 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/ArgumentParser.build/module.modulemap @@ -0,0 +1,4 @@ +module ArgumentParser { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/ArgumentParser.build/ArgumentParser-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo-tool.build/module.modulemap new file mode 100644 index 0000000..405d916 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module ArgumentParserToolInfo { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo-tool.build/ArgumentParserToolInfo-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo.build/module.modulemap b/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo.build/module.modulemap new file mode 100644 index 0000000..93731bd --- /dev/null +++ b/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo.build/module.modulemap @@ -0,0 +1,4 @@ +module ArgumentParserToolInfo { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/ArgumentParserToolInfo.build/ArgumentParserToolInfo-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/BitCollections.build/module.modulemap b/.build/arm64-apple-macosx/debug/BitCollections.build/module.modulemap new file mode 100644 index 0000000..7117097 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/BitCollections.build/module.modulemap @@ -0,0 +1,4 @@ +module BitCollections { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/BitCollections.build/BitCollections-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/Collections.build/module.modulemap b/.build/arm64-apple-macosx/debug/Collections.build/module.modulemap new file mode 100644 index 0000000..dd607f0 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/Collections.build/module.modulemap @@ -0,0 +1,4 @@ +module Collections { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/Collections.build/Collections-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/ComplexModule.build/module.modulemap b/.build/arm64-apple-macosx/debug/ComplexModule.build/module.modulemap new file mode 100644 index 0000000..a41aba1 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/ComplexModule.build/module.modulemap @@ -0,0 +1,4 @@ +module ComplexModule { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/ComplexModule.build/ComplexModule-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/DequeModule.build/module.modulemap b/.build/arm64-apple-macosx/debug/DequeModule.build/module.modulemap new file mode 100644 index 0000000..68e2bd9 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/DequeModule.build/module.modulemap @@ -0,0 +1,4 @@ +module DequeModule { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/DequeModule.build/DequeModule-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/HTTPTypes.build/module.modulemap b/.build/arm64-apple-macosx/debug/HTTPTypes.build/module.modulemap new file mode 100644 index 0000000..780a35f --- /dev/null +++ b/.build/arm64-apple-macosx/debug/HTTPTypes.build/module.modulemap @@ -0,0 +1,4 @@ +module HTTPTypes { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/HTTPTypes.build/HTTPTypes-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/HTTPTypesFoundation.build/module.modulemap b/.build/arm64-apple-macosx/debug/HTTPTypesFoundation.build/module.modulemap new file mode 100644 index 0000000..42a7646 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/HTTPTypesFoundation.build/module.modulemap @@ -0,0 +1,4 @@ +module HTTPTypesFoundation { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/HTTPTypesFoundation.build/HTTPTypesFoundation-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/HashTreeCollections.build/module.modulemap b/.build/arm64-apple-macosx/debug/HashTreeCollections.build/module.modulemap new file mode 100644 index 0000000..5dac62d --- /dev/null +++ b/.build/arm64-apple-macosx/debug/HashTreeCollections.build/module.modulemap @@ -0,0 +1,4 @@ +module HashTreeCollections { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/HashTreeCollections.build/HashTreeCollections-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/HeapModule.build/module.modulemap b/.build/arm64-apple-macosx/debug/HeapModule.build/module.modulemap new file mode 100644 index 0000000..1e73e17 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/HeapModule.build/module.modulemap @@ -0,0 +1,4 @@ +module HeapModule { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/HeapModule.build/HeapModule-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities-tool.build/module.modulemap new file mode 100644 index 0000000..12222b9 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module InternalCollectionsUtilities { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities-tool.build/InternalCollectionsUtilities-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities.build/module.modulemap b/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities.build/module.modulemap new file mode 100644 index 0000000..2c89c8f --- /dev/null +++ b/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities.build/module.modulemap @@ -0,0 +1,4 @@ +module InternalCollectionsUtilities { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/InternalCollectionsUtilities.build/InternalCollectionsUtilities-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/Numerics.build/module.modulemap b/.build/arm64-apple-macosx/debug/Numerics.build/module.modulemap new file mode 100644 index 0000000..ab8002a --- /dev/null +++ b/.build/arm64-apple-macosx/debug/Numerics.build/module.modulemap @@ -0,0 +1,4 @@ +module Numerics { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/Numerics.build/Numerics-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKit-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKit-tool.build/module.modulemap new file mode 100644 index 0000000..30b945a --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKit-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKit { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKit-tool.build/OpenAPIKit-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKit.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKit.build/module.modulemap new file mode 100644 index 0000000..d20636e --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKit.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKit { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKit.build/OpenAPIKit-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKit30-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKit30-tool.build/module.modulemap new file mode 100644 index 0000000..6854c4f --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKit30-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKit30 { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKit30-tool.build/OpenAPIKit30-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKit30.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKit30.build/module.modulemap new file mode 100644 index 0000000..43b52f2 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKit30.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKit30 { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKit30.build/OpenAPIKit30-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKitCompat-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKitCompat-tool.build/module.modulemap new file mode 100644 index 0000000..e04908b --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKitCompat-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKitCompat { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKitCompat-tool.build/OpenAPIKitCompat-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKitCompat.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKitCompat.build/module.modulemap new file mode 100644 index 0000000..e841360 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKitCompat.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKitCompat { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKitCompat.build/OpenAPIKitCompat-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKitCore-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKitCore-tool.build/module.modulemap new file mode 100644 index 0000000..ea9fa95 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKitCore-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKitCore { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKitCore-tool.build/OpenAPIKitCore-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIKitCore.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIKitCore.build/module.modulemap new file mode 100644 index 0000000..e9ba09f --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIKitCore.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIKitCore { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIKitCore.build/OpenAPIKitCore-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIRuntime.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIRuntime.build/module.modulemap new file mode 100644 index 0000000..85ad5de --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIRuntime.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIRuntime { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIRuntime.build/OpenAPIRuntime-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OpenAPIURLSession.build/module.modulemap b/.build/arm64-apple-macosx/debug/OpenAPIURLSession.build/module.modulemap new file mode 100644 index 0000000..daf3cca --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OpenAPIURLSession.build/module.modulemap @@ -0,0 +1,4 @@ +module OpenAPIURLSession { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OpenAPIURLSession.build/OpenAPIURLSession-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OrderedCollections-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/OrderedCollections-tool.build/module.modulemap new file mode 100644 index 0000000..95b4510 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OrderedCollections-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module OrderedCollections { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OrderedCollections-tool.build/OrderedCollections-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/OrderedCollections.build/module.modulemap b/.build/arm64-apple-macosx/debug/OrderedCollections.build/module.modulemap new file mode 100644 index 0000000..875c2a6 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/OrderedCollections.build/module.modulemap @@ -0,0 +1,4 @@ +module OrderedCollections { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/OrderedCollections.build/OrderedCollections-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/RealModule-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/RealModule-tool.build/module.modulemap new file mode 100644 index 0000000..6b08f18 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/RealModule-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module RealModule { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/RealModule-tool.build/RealModule-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/RealModule.build/module.modulemap b/.build/arm64-apple-macosx/debug/RealModule.build/module.modulemap new file mode 100644 index 0000000..3f8962e --- /dev/null +++ b/.build/arm64-apple-macosx/debug/RealModule.build/module.modulemap @@ -0,0 +1,4 @@ +module RealModule { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/RealModule.build/RealModule-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/Yams-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/Yams-tool.build/module.modulemap new file mode 100644 index 0000000..bb18071 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/Yams-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module Yams { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/Yams-tool.build/Yams-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/Yams.build/module.modulemap b/.build/arm64-apple-macosx/debug/Yams.build/module.modulemap new file mode 100644 index 0000000..b7d7ee0 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/Yams.build/module.modulemap @@ -0,0 +1,4 @@ +module Yams { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/Yams.build/Yams-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore-tool.build/module.modulemap b/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore-tool.build/module.modulemap new file mode 100644 index 0000000..f18bd5d --- /dev/null +++ b/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore-tool.build/module.modulemap @@ -0,0 +1,4 @@ +module _OpenAPIGeneratorCore { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore-tool.build/_OpenAPIGeneratorCore-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore.build/module.modulemap b/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore.build/module.modulemap new file mode 100644 index 0000000..ab5fc79 --- /dev/null +++ b/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore.build/module.modulemap @@ -0,0 +1,4 @@ +module _OpenAPIGeneratorCore { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/_OpenAPIGeneratorCore.build/_OpenAPIGeneratorCore-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/_RopeModule.build/module.modulemap b/.build/arm64-apple-macosx/debug/_RopeModule.build/module.modulemap new file mode 100644 index 0000000..e1b043d --- /dev/null +++ b/.build/arm64-apple-macosx/debug/_RopeModule.build/module.modulemap @@ -0,0 +1,4 @@ +module _RopeModule { + header "/Users/ilyashallak/Privat/Projects/readeck/.build/arm64-apple-macosx/debug/_RopeModule.build/_RopeModule-Swift.h" + requires objc +} diff --git a/.build/arm64-apple-macosx/debug/index/db/v13/p26295--9cf7a9/data.mdb b/.build/arm64-apple-macosx/debug/index/db/v13/p26295--9cf7a9/data.mdb new file mode 100644 index 0000000..aa89ad8 Binary files /dev/null and b/.build/arm64-apple-macosx/debug/index/db/v13/p26295--9cf7a9/data.mdb differ diff --git a/.build/arm64-apple-macosx/debug/index/db/v13/p26295--9cf7a9/lock.mdb b/.build/arm64-apple-macosx/debug/index/db/v13/p26295--9cf7a9/lock.mdb new file mode 100644 index 0000000..0e9fc67 Binary files /dev/null and b/.build/arm64-apple-macosx/debug/index/db/v13/p26295--9cf7a9/lock.mdb differ diff --git a/.build/checkouts/OpenAPIKit b/.build/checkouts/OpenAPIKit new file mode 160000 index 0000000..a75aa41 --- /dev/null +++ b/.build/checkouts/OpenAPIKit @@ -0,0 +1 @@ +Subproject commit a75aa4166d916f1cb4a192e928a18f7b6d3516bc diff --git a/.build/checkouts/Yams b/.build/checkouts/Yams new file mode 160000 index 0000000..9281f8c --- /dev/null +++ b/.build/checkouts/Yams @@ -0,0 +1 @@ +Subproject commit 9281f8c99aff4f4a55dce22ae29b1181c935caa5 diff --git a/.build/checkouts/swift-algorithms b/.build/checkouts/swift-algorithms new file mode 160000 index 0000000..87e50f4 --- /dev/null +++ b/.build/checkouts/swift-algorithms @@ -0,0 +1 @@ +Subproject commit 87e50f483c54e6efd60e885f7f5aa946cee68023 diff --git a/.build/checkouts/swift-argument-parser b/.build/checkouts/swift-argument-parser new file mode 160000 index 0000000..011f0c7 --- /dev/null +++ b/.build/checkouts/swift-argument-parser @@ -0,0 +1 @@ +Subproject commit 011f0c765fb46d9cac61bca19be0527e99c98c8b diff --git a/.build/checkouts/swift-collections b/.build/checkouts/swift-collections new file mode 160000 index 0000000..c180559 --- /dev/null +++ b/.build/checkouts/swift-collections @@ -0,0 +1 @@ +Subproject commit c1805596154bb3a265fd91b8ac0c4433b4348fb0 diff --git a/.build/checkouts/swift-http-types b/.build/checkouts/swift-http-types new file mode 160000 index 0000000..a0a57e9 --- /dev/null +++ b/.build/checkouts/swift-http-types @@ -0,0 +1 @@ +Subproject commit a0a57e949a8903563aba4615869310c0ebf14c03 diff --git a/.build/checkouts/swift-numerics b/.build/checkouts/swift-numerics new file mode 160000 index 0000000..e0ec0f5 --- /dev/null +++ b/.build/checkouts/swift-numerics @@ -0,0 +1 @@ +Subproject commit e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8 diff --git a/.build/checkouts/swift-openapi-generator b/.build/checkouts/swift-openapi-generator new file mode 160000 index 0000000..09ed6c4 --- /dev/null +++ b/.build/checkouts/swift-openapi-generator @@ -0,0 +1 @@ +Subproject commit 09ed6c489f88d06228a404a0313adeea743e6cad diff --git a/.build/checkouts/swift-openapi-runtime b/.build/checkouts/swift-openapi-runtime new file mode 160000 index 0000000..8f33cc5 --- /dev/null +++ b/.build/checkouts/swift-openapi-runtime @@ -0,0 +1 @@ +Subproject commit 8f33cc5dfe81169fb167da73584b9c72c3e8bc23 diff --git a/.build/checkouts/swift-openapi-urlsession b/.build/checkouts/swift-openapi-urlsession new file mode 160000 index 0000000..6fac6f7 --- /dev/null +++ b/.build/checkouts/swift-openapi-urlsession @@ -0,0 +1 @@ +Subproject commit 6fac6f7c428d5feea2639b5f5c8b06ddfb79434b diff --git a/.build/repositories/OpenAPIKit-5420c066/FETCH_HEAD b/.build/repositories/OpenAPIKit-5420c066/FETCH_HEAD new file mode 100644 index 0000000..9baa684 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/FETCH_HEAD @@ -0,0 +1,391 @@ +90703ce15d8b5b277f411fa7101e259b88857277 not-for-merge branch 'anycodable-correctness-exploration' of https://github.com/mattpolzin/OpenAPIKit +b258b57cae598945924a7f55e5ff0740ba73410b not-for-merge branch 'bugfix/377/allow-component-refs' of https://github.com/mattpolzin/OpenAPIKit +28d1952b9c748e868e0d414c86df804e9ceb323b not-for-merge branch 'bugfix/382/url_template_stack_overflow' of https://github.com/mattpolzin/OpenAPIKit +d18ed984df4292303263e707fab67d60dfab795d not-for-merge branch 'feature/195/31-to-30' of https://github.com/mattpolzin/OpenAPIKit +086606b39f73ed6c040c7c0a1ab30fe3edb7f28a not-for-merge branch 'feature/307/lenient-style-parsing' of https://github.com/mattpolzin/OpenAPIKit +c4f9c06ed7248ef46c9a4c64fb6306b6fd2e78b9 not-for-merge branch 'feature/359/dynamic-ref' of https://github.com/mattpolzin/OpenAPIKit +d0087d8a81eb7b5ed30747a51ee7692bd4827eea not-for-merge branch 'gh-pages' of https://github.com/mattpolzin/OpenAPIKit +28f3bbd626ffcf55e563e23ec2cb2f0ee4f772ed not-for-merge branch 'give-null-a-core-context' of https://github.com/mattpolzin/OpenAPIKit +c1941a7217a597d8f842f15188d4a00b1c165ddc not-for-merge branch 'load-external-references-v4' of https://github.com/mattpolzin/OpenAPIKit +a75aa4166d916f1cb4a192e928a18f7b6d3516bc not-for-merge branch 'main' of https://github.com/mattpolzin/OpenAPIKit +15483b93f50d5780e1997552952312e0d26327b2 not-for-merge branch 'pure-swift-json-test-coders' of https://github.com/mattpolzin/OpenAPIKit +3fac475978d154d70571c7161c257f75b240455c not-for-merge branch 'release/2_x' of https://github.com/mattpolzin/OpenAPIKit +5ff0245ad5ef8ec826c264ccf0a2e796c1c75ce7 not-for-merge branch 'release/4_0' of https://github.com/mattpolzin/OpenAPIKit +6162b98c67b8668b8cb746dd95c0b5d006340366 not-for-merge branch 'resolve-to-yams-5_2' of https://github.com/mattpolzin/OpenAPIKit +4323626ac6b4bee0a0732bfe831533d48bd3803e not-for-merge branch 'resolve-to-yams-5_3' of https://github.com/mattpolzin/OpenAPIKit +3cedc788601fb7498810478278b1ccd9e33cfe1e not-for-merge 'refs/pull/1/head' of https://github.com/mattpolzin/OpenAPIKit +a323a42622ff2d8cb58f914f44b95b99eb7b135b not-for-merge 'refs/pull/10/head' of https://github.com/mattpolzin/OpenAPIKit +5ddde9b9c6344710d647a1ed14ed99656b54a5b8 not-for-merge 'refs/pull/101/head' of https://github.com/mattpolzin/OpenAPIKit +c34a421abb2941b7a434739470219fc6d574605e not-for-merge 'refs/pull/106/head' of https://github.com/mattpolzin/OpenAPIKit +05d8a94f558da48652a83b2933067a7f1811380e not-for-merge 'refs/pull/108/head' of https://github.com/mattpolzin/OpenAPIKit +27be781fc852808ffc973ac236339a9ca0a04d9d not-for-merge 'refs/pull/109/head' of https://github.com/mattpolzin/OpenAPIKit +cb3a52a901c64ebf3e64ad2a0d7469ffbf97beee not-for-merge 'refs/pull/11/head' of https://github.com/mattpolzin/OpenAPIKit +b50750ca1c6c88f0e30f088d96d8563ff0da72cf not-for-merge 'refs/pull/110/head' of https://github.com/mattpolzin/OpenAPIKit +3168faf98c4ff575a9bfbc08db946f495a9d10d8 not-for-merge 'refs/pull/112/head' of https://github.com/mattpolzin/OpenAPIKit +d5a34561b9fc6aededfaa234d8f0db208884a853 not-for-merge 'refs/pull/114/head' of https://github.com/mattpolzin/OpenAPIKit +b6eace3afaa5731fc3909ef03511ccda2f2da56b not-for-merge 'refs/pull/116/head' of https://github.com/mattpolzin/OpenAPIKit +c99f97386f9b49ea95f77f6d51285635d6a27ba4 not-for-merge 'refs/pull/118/head' of https://github.com/mattpolzin/OpenAPIKit +523bcaa8f77f8dc7a741472d76a1ff8823aae912 not-for-merge 'refs/pull/12/head' of https://github.com/mattpolzin/OpenAPIKit +0cd0da7e7475560c566cae6165fcb7ecd2caf7cb not-for-merge 'refs/pull/120/head' of https://github.com/mattpolzin/OpenAPIKit +711ce38826d0d546197a10ddb23b6ed2d8f56660 not-for-merge 'refs/pull/121/head' of https://github.com/mattpolzin/OpenAPIKit +d04f73995785634df5cd7d3c1fa2a82d228a2af4 not-for-merge 'refs/pull/122/head' of https://github.com/mattpolzin/OpenAPIKit +347fecc10283961a7ced81fd962e090e9e21bfae not-for-merge 'refs/pull/125/head' of https://github.com/mattpolzin/OpenAPIKit +c5a9799d5b3e607a2da41fd3d49278589ca3e4dd not-for-merge 'refs/pull/126/head' of https://github.com/mattpolzin/OpenAPIKit +50a2ffd3f683b1537997821559d949ebe1d80188 not-for-merge 'refs/pull/127/head' of https://github.com/mattpolzin/OpenAPIKit +1d1c804084eebfc89158d58d1695ccbd00d98787 not-for-merge 'refs/pull/13/head' of https://github.com/mattpolzin/OpenAPIKit +6c32ecf6d7d6c6c9cddfa13163e9a5e06b3829d1 not-for-merge 'refs/pull/130/head' of https://github.com/mattpolzin/OpenAPIKit +26a5a2e5213d779b5ada38d8e70ce1b079b45514 not-for-merge 'refs/pull/133/head' of https://github.com/mattpolzin/OpenAPIKit +afcbf3c9fac03e016c8dbe68776d61d5a5848cf5 not-for-merge 'refs/pull/134/head' of https://github.com/mattpolzin/OpenAPIKit +eb505f4800676c90dd98e0c8e03805bafe355b87 not-for-merge 'refs/pull/135/head' of https://github.com/mattpolzin/OpenAPIKit +955e97e4c9ac5bf2be2f32eca8ccbe4ae397dc03 not-for-merge 'refs/pull/138/head' of https://github.com/mattpolzin/OpenAPIKit +714fdf61c797ebc10ad465b07c76a7e45ecc87a9 not-for-merge 'refs/pull/139/head' of https://github.com/mattpolzin/OpenAPIKit +887ea2c6191d79afb58f4e50846bb5ee749e33ac not-for-merge 'refs/pull/14/head' of https://github.com/mattpolzin/OpenAPIKit +45d599ef5f1466f09625ee80dd0539ee2a4aa879 not-for-merge 'refs/pull/140/head' of https://github.com/mattpolzin/OpenAPIKit +b763f7acf5e94e6eaa86545f863e8746ea0a36c0 not-for-merge 'refs/pull/144/head' of https://github.com/mattpolzin/OpenAPIKit +4096e0760440420b4343cbe93934e2c6ee70cbe4 not-for-merge 'refs/pull/145/head' of https://github.com/mattpolzin/OpenAPIKit +d694c9fe9a6c35b771820a33029f80eee52ee99a not-for-merge 'refs/pull/146/head' of https://github.com/mattpolzin/OpenAPIKit +bd06998274681623a7cba8be1f03dcdc4613142d not-for-merge 'refs/pull/148/head' of https://github.com/mattpolzin/OpenAPIKit +1a0e54db9c4bcc4541921b04c626359d900fb6ca not-for-merge 'refs/pull/149/head' of https://github.com/mattpolzin/OpenAPIKit +02989fa7300f722c8d8ba553cf1362c94092c849 not-for-merge 'refs/pull/15/head' of https://github.com/mattpolzin/OpenAPIKit +38cd096c0f6fab59763a7bb1e7f80874bdae7536 not-for-merge 'refs/pull/150/head' of https://github.com/mattpolzin/OpenAPIKit +c3e163bc7094656cee7cb0cfa4747112dbcfc084 not-for-merge 'refs/pull/151/head' of https://github.com/mattpolzin/OpenAPIKit +ccec305e3c1c01859556ac44199e20d9775494f3 not-for-merge 'refs/pull/152/head' of https://github.com/mattpolzin/OpenAPIKit +dfc5bec1b0d481192735fa826aa9e7d08db38e6d not-for-merge 'refs/pull/154/head' of https://github.com/mattpolzin/OpenAPIKit +b216764786fd7aa2900b0bc7439356cc156897c1 not-for-merge 'refs/pull/155/head' of https://github.com/mattpolzin/OpenAPIKit +7fc5a9986d4ec2488b60970bb2959ff489bc7417 not-for-merge 'refs/pull/157/head' of https://github.com/mattpolzin/OpenAPIKit +e95d922955f076214773c14978035fb110a26fd3 not-for-merge 'refs/pull/159/head' of https://github.com/mattpolzin/OpenAPIKit +5cbde670dc4db0610a3c56179cc263aa42a61990 not-for-merge 'refs/pull/16/head' of https://github.com/mattpolzin/OpenAPIKit +26f18ca66cba503c438b7bb08cd6757c42d8d366 not-for-merge 'refs/pull/160/head' of https://github.com/mattpolzin/OpenAPIKit +224ce0ecbe08772caea3fd7a85a370f953d501f6 not-for-merge 'refs/pull/161/head' of https://github.com/mattpolzin/OpenAPIKit +37c525257bea83a13703ec6ae51becaa86c871b4 not-for-merge 'refs/pull/162/head' of https://github.com/mattpolzin/OpenAPIKit +b3178a497c38258d0192534a077a96fbb9291bed not-for-merge 'refs/pull/163/head' of https://github.com/mattpolzin/OpenAPIKit +ece5d4931322552e6ab5f57c59a2f95c63971409 not-for-merge 'refs/pull/165/head' of https://github.com/mattpolzin/OpenAPIKit +5ec7568225f51529d2120f398b09d103f89eea5d not-for-merge 'refs/pull/166/head' of https://github.com/mattpolzin/OpenAPIKit +0eb0871abd0d525c523a95a58067b10064ff69bd not-for-merge 'refs/pull/167/head' of https://github.com/mattpolzin/OpenAPIKit +4cc2d21680d73e5a09344a909fb7facaf403eece not-for-merge 'refs/pull/168/head' of https://github.com/mattpolzin/OpenAPIKit +6699842789ca49a75e0f4fc55cd25d8cbb59004a not-for-merge 'refs/pull/169/head' of https://github.com/mattpolzin/OpenAPIKit +a4e36687edccb351c729b311bbcb120c9ac95f25 not-for-merge 'refs/pull/170/head' of https://github.com/mattpolzin/OpenAPIKit +bb0f6f350181518b506678c55efef892994a8a93 not-for-merge 'refs/pull/172/head' of https://github.com/mattpolzin/OpenAPIKit +d4ec049971fae7ff77d94064134f99a852fe2060 not-for-merge 'refs/pull/173/head' of https://github.com/mattpolzin/OpenAPIKit +a00a5e4fa467526cc29bbf5c6aaa34d72fdc8a5a not-for-merge 'refs/pull/174/head' of https://github.com/mattpolzin/OpenAPIKit +8c5831a0a9cd9ddb8afa110b0945b4a3d8013892 not-for-merge 'refs/pull/175/head' of https://github.com/mattpolzin/OpenAPIKit +63d45ce01bca8eff8a15bb558d27ff293e9ed1be not-for-merge 'refs/pull/176/head' of https://github.com/mattpolzin/OpenAPIKit +23b5cd0082294381b141384ccfb623594a90a9c3 not-for-merge 'refs/pull/177/head' of https://github.com/mattpolzin/OpenAPIKit +8a3eaefcc2aee194f2f336f3fb655c451db254d7 not-for-merge 'refs/pull/18/head' of https://github.com/mattpolzin/OpenAPIKit +3ab8709e6d2f35c1460606de889424602f3e33c5 not-for-merge 'refs/pull/19/head' of https://github.com/mattpolzin/OpenAPIKit +ec2a867ebc815bd30640769e4e6655c09c6d89a9 not-for-merge 'refs/pull/197/head' of https://github.com/mattpolzin/OpenAPIKit +92698e193625d8ab3730b0a8ca9236f07fd2fb00 not-for-merge 'refs/pull/198/head' of https://github.com/mattpolzin/OpenAPIKit +ba5d127f922ee7bae69cbaf517d08d2547747584 not-for-merge 'refs/pull/199/head' of https://github.com/mattpolzin/OpenAPIKit +83283090f314b395f79d5e5c0f9799aee68f02f9 not-for-merge 'refs/pull/2/head' of https://github.com/mattpolzin/OpenAPIKit +769a8d6d656851647cae7fd07462e6556e58c1b4 not-for-merge 'refs/pull/20/head' of https://github.com/mattpolzin/OpenAPIKit +fd9a4331bafdd42540e381f3f06385e2370ab458 not-for-merge 'refs/pull/203/head' of https://github.com/mattpolzin/OpenAPIKit +7ec81ab4bbde99723f03f5f3115fca3025ccb25a not-for-merge 'refs/pull/205/head' of https://github.com/mattpolzin/OpenAPIKit +75a60dfff9366c35521071ee2719092175ebf817 not-for-merge 'refs/pull/206/head' of https://github.com/mattpolzin/OpenAPIKit +8008fa84d30c53d4e72dc33975a6d7e0e5ba423d not-for-merge 'refs/pull/207/head' of https://github.com/mattpolzin/OpenAPIKit +49316539fd65274ed84bbe3484d6afe08021c6e6 not-for-merge 'refs/pull/208/head' of https://github.com/mattpolzin/OpenAPIKit +7e51143e52365335804578deed23e12d0f6f544d not-for-merge 'refs/pull/209/head' of https://github.com/mattpolzin/OpenAPIKit +ce1408df4570d510e76da788fe0127c9c3b78be6 not-for-merge 'refs/pull/21/head' of https://github.com/mattpolzin/OpenAPIKit +241ef3fc7f5b6fec1eb5e5b96e2d42e3b72ac96a not-for-merge 'refs/pull/210/head' of https://github.com/mattpolzin/OpenAPIKit +8741765d50a27ba94478452584765280a7fd8c08 not-for-merge 'refs/pull/214/head' of https://github.com/mattpolzin/OpenAPIKit +2e0a66e0c57bdf284e70fb91e27120bb32b63768 not-for-merge 'refs/pull/215/head' of https://github.com/mattpolzin/OpenAPIKit +1a442f98d6006219455447f6f66a2f8f0e4469b1 not-for-merge 'refs/pull/216/head' of https://github.com/mattpolzin/OpenAPIKit +ce58c118d4ae18b98bcf73805fbc54bfa3077956 not-for-merge 'refs/pull/217/head' of https://github.com/mattpolzin/OpenAPIKit +dc64a8d436910b8aabd24509f070672310db6984 not-for-merge 'refs/pull/218/head' of https://github.com/mattpolzin/OpenAPIKit +0ab1a80fbea5480788f2f97a4c633baa6819e1e2 not-for-merge 'refs/pull/219/head' of https://github.com/mattpolzin/OpenAPIKit +da87ddcce4f48a73af14a17bf4c33f217351a689 not-for-merge 'refs/pull/22/head' of https://github.com/mattpolzin/OpenAPIKit +f142b5b590f49faeec534ce43bb64c8e2d128f36 not-for-merge 'refs/pull/221/head' of https://github.com/mattpolzin/OpenAPIKit +4fc072b08008e5589827ef40956b133bad7a5a78 not-for-merge 'refs/pull/222/head' of https://github.com/mattpolzin/OpenAPIKit +bad693b5c187fd23abfdf6cc6214bf4d6c1000dd not-for-merge 'refs/pull/223/head' of https://github.com/mattpolzin/OpenAPIKit +8201906f9dc5597bb01ab26776324a4ccf74c0e6 not-for-merge 'refs/pull/226/head' of https://github.com/mattpolzin/OpenAPIKit +2bbf6a63d4d41fc9c395628a35aa0b405f5a3143 not-for-merge 'refs/pull/227/head' of https://github.com/mattpolzin/OpenAPIKit +55c10bf99cc237f1d29237be34f4106c23f6c1db not-for-merge 'refs/pull/229/head' of https://github.com/mattpolzin/OpenAPIKit +d8dc71e4a4edf42944746b3736d1b185d9260220 not-for-merge 'refs/pull/230/head' of https://github.com/mattpolzin/OpenAPIKit +f20513a35dfb502c6b11fe361f65ea7273e85bb3 not-for-merge 'refs/pull/231/head' of https://github.com/mattpolzin/OpenAPIKit +80179e8909cf189e16b6e23f4fd30466ab1d20b1 not-for-merge 'refs/pull/233/head' of https://github.com/mattpolzin/OpenAPIKit +f4c8ae0929feb9a647a3aa3e93106355878a8f65 not-for-merge 'refs/pull/234/head' of https://github.com/mattpolzin/OpenAPIKit +78c27f18d1dc817d1f9b46fbf97d7d9d172f855c not-for-merge 'refs/pull/235/head' of https://github.com/mattpolzin/OpenAPIKit +8f7ae399d9842155a29f36bfd5570bbd0f090024 not-for-merge 'refs/pull/240/head' of https://github.com/mattpolzin/OpenAPIKit +95bca23b80ee3822171e0b1b25841b034d89cf6e not-for-merge 'refs/pull/242/head' of https://github.com/mattpolzin/OpenAPIKit +333efaedcc64905b7943451bdfbc66ae7dfcc2d0 not-for-merge 'refs/pull/244/head' of https://github.com/mattpolzin/OpenAPIKit +23cdabd03033c6d0e39b10478c3ebb0a4bafb95f not-for-merge 'refs/pull/245/head' of https://github.com/mattpolzin/OpenAPIKit +f2f8af000f2866c35bebefc84dcc13b1327a0e74 not-for-merge 'refs/pull/246/head' of https://github.com/mattpolzin/OpenAPIKit +2852db7f46c321cec4d5c1b373020b756b0a6442 not-for-merge 'refs/pull/247/head' of https://github.com/mattpolzin/OpenAPIKit +f192501cb57b8c96761c6e62c17049804bbe01d9 not-for-merge 'refs/pull/248/head' of https://github.com/mattpolzin/OpenAPIKit +0521b1c88156188f5b7214546c96f9abd7c9556f not-for-merge 'refs/pull/249/head' of https://github.com/mattpolzin/OpenAPIKit +53bd2c9d62781aefb1369f60bd8697d20be29d0c not-for-merge 'refs/pull/250/head' of https://github.com/mattpolzin/OpenAPIKit +9c14e553865421eecd962d9f11fd257fd359e22e not-for-merge 'refs/pull/252/head' of https://github.com/mattpolzin/OpenAPIKit +c8ebe0cb360fd1fe20a861f8ca3a1f3b72e0a257 not-for-merge 'refs/pull/254/head' of https://github.com/mattpolzin/OpenAPIKit +f102b7aaa002b087fa41cc2c74a7797551c146e1 not-for-merge 'refs/pull/260/head' of https://github.com/mattpolzin/OpenAPIKit +0cbed165117399a562eb419050e09bc292869771 not-for-merge 'refs/pull/261/head' of https://github.com/mattpolzin/OpenAPIKit +8d0537510b79a1a6aaec1a84431e9aef23e3f187 not-for-merge 'refs/pull/262/head' of https://github.com/mattpolzin/OpenAPIKit +d96f819964a665438c15134465d334d4d3446034 not-for-merge 'refs/pull/263/head' of https://github.com/mattpolzin/OpenAPIKit +74a5c7783ce8740e43178804ec281e69aa69df36 not-for-merge 'refs/pull/264/head' of https://github.com/mattpolzin/OpenAPIKit +f68dbb806c86a07d74774535e22e318e4566ba1a not-for-merge 'refs/pull/265/head' of https://github.com/mattpolzin/OpenAPIKit +9dbaa803035293d9cee4fd6974e16af94512fb19 not-for-merge 'refs/pull/267/head' of https://github.com/mattpolzin/OpenAPIKit +56bdc40b0d3c82c548c873c3080c1713edf4f10a not-for-merge 'refs/pull/270/head' of https://github.com/mattpolzin/OpenAPIKit +324f89a343871710995e1b773219205b44b78936 not-for-merge 'refs/pull/271/head' of https://github.com/mattpolzin/OpenAPIKit +b5f5c3a774d2c8df979426b717974c96f4fa2c72 not-for-merge 'refs/pull/273/head' of https://github.com/mattpolzin/OpenAPIKit +c8e4d161a2011c9c7a399971b51dee6b0050d0da not-for-merge 'refs/pull/274/head' of https://github.com/mattpolzin/OpenAPIKit +f5879f0d5a87c73598bc65b224e863a79b16af40 not-for-merge 'refs/pull/275/head' of https://github.com/mattpolzin/OpenAPIKit +c13948447419145dbe0bf2d74ec7ac97f7d11489 not-for-merge 'refs/pull/278/head' of https://github.com/mattpolzin/OpenAPIKit +1a379dd7d95bf80bf7519701b6988ade603d7ffe not-for-merge 'refs/pull/281/head' of https://github.com/mattpolzin/OpenAPIKit +b7634ed88903d1539c60d9936ed3b5672e0a4542 not-for-merge 'refs/pull/282/head' of https://github.com/mattpolzin/OpenAPIKit +eaa0f4e9d632b025d6bd20ef3aaf15ab4fdc77b4 not-for-merge 'refs/pull/283/head' of https://github.com/mattpolzin/OpenAPIKit +8e902c6989ed37f4313e0b97878aa10f23ca2439 not-for-merge 'refs/pull/284/head' of https://github.com/mattpolzin/OpenAPIKit +7c82228c58988193ac098bc55f62af1b6e23d61f not-for-merge 'refs/pull/285/head' of https://github.com/mattpolzin/OpenAPIKit +fced755dd7d186a9dffb7dbdc0e41a8ee51f73db not-for-merge 'refs/pull/287/head' of https://github.com/mattpolzin/OpenAPIKit +7b1fdb42d39f39f22b3f631232b127e926c5c6a5 not-for-merge 'refs/pull/29/head' of https://github.com/mattpolzin/OpenAPIKit +b0ee6cbde2ddbb9be1b3bcac2e12c60b511e8fd4 not-for-merge 'refs/pull/290/head' of https://github.com/mattpolzin/OpenAPIKit +95c33801f5aee86be09313372b6dafd9abcedafb not-for-merge 'refs/pull/291/head' of https://github.com/mattpolzin/OpenAPIKit +cc58af0d6b79a1717120bb19f8a9dea9c696e6d3 not-for-merge 'refs/pull/295/head' of https://github.com/mattpolzin/OpenAPIKit +a30d4a1b84392984bc913636aead525c148ed7af not-for-merge 'refs/pull/296/head' of https://github.com/mattpolzin/OpenAPIKit +b834fe6c9936cfc0325dbc75bcf16d2fecdfa13b not-for-merge 'refs/pull/297/head' of https://github.com/mattpolzin/OpenAPIKit +f0967ab34350b32c8f7f9f6ec4f4216a7e67cc70 not-for-merge 'refs/pull/299/head' of https://github.com/mattpolzin/OpenAPIKit +63ee8a716c61697101c199cc9ceaa32cab6991c0 not-for-merge 'refs/pull/30/head' of https://github.com/mattpolzin/OpenAPIKit +adcc19984652221ab6dbc20c9b62cb82c1a53e26 not-for-merge 'refs/pull/301/head' of https://github.com/mattpolzin/OpenAPIKit +0b040636afe557766a98ffc5fbad3f433a5b0cbe not-for-merge 'refs/pull/302/head' of https://github.com/mattpolzin/OpenAPIKit +2f93902eda314137ff763a01ed6a8ad067b25e97 not-for-merge 'refs/pull/303/head' of https://github.com/mattpolzin/OpenAPIKit +ee075c2d6789922116dba127c656a4dc0d5328ad not-for-merge 'refs/pull/304/head' of https://github.com/mattpolzin/OpenAPIKit +53f257a4fcdc7bf0703de256f0007f73cae6872f not-for-merge 'refs/pull/305/head' of https://github.com/mattpolzin/OpenAPIKit +2b2132e0edeb1aa10849a61211f94ea481555a67 not-for-merge 'refs/pull/308/head' of https://github.com/mattpolzin/OpenAPIKit +922f2155c9ebfef322d53a736c1e42e47a114afb not-for-merge 'refs/pull/309/head' of https://github.com/mattpolzin/OpenAPIKit +0ceed113fbe249b86962b644fa01529d71cb6ebc not-for-merge 'refs/pull/31/head' of https://github.com/mattpolzin/OpenAPIKit +3774bd0542a428be04fdd62f14949ba564e4178f not-for-merge 'refs/pull/310/head' of https://github.com/mattpolzin/OpenAPIKit +a1d782c606148177df30f4544e78b345092248d0 not-for-merge 'refs/pull/311/head' of https://github.com/mattpolzin/OpenAPIKit +6f4b3d8f6c2bc49655fdc887823418133e4d6ba6 not-for-merge 'refs/pull/312/head' of https://github.com/mattpolzin/OpenAPIKit +f9a8e8dc7c5c6e05aece452fcac0c373f79ef60f not-for-merge 'refs/pull/314/head' of https://github.com/mattpolzin/OpenAPIKit +2d3d807693bc9c9af06cdff99b57aeb878046510 not-for-merge 'refs/pull/316/head' of https://github.com/mattpolzin/OpenAPIKit +5f1b45bd7899c7fe752aeadce08ee05566fcd09a not-for-merge 'refs/pull/319/head' of https://github.com/mattpolzin/OpenAPIKit +f2b28cd0a622e8ab426bf1124552c35cd20d2e54 not-for-merge 'refs/pull/32/head' of https://github.com/mattpolzin/OpenAPIKit +585c05cafb8d4cf276134539de45b29add66cb13 not-for-merge 'refs/pull/320/head' of https://github.com/mattpolzin/OpenAPIKit +2606f62ecfc575de26edfec1fbbb8744c5e81257 not-for-merge 'refs/pull/322/head' of https://github.com/mattpolzin/OpenAPIKit +84b003c5a1cf475c3e401be622800f5c6b491020 not-for-merge 'refs/pull/323/head' of https://github.com/mattpolzin/OpenAPIKit +109948f259309cf8c6f1e0fe5ce3a84f0f19f637 not-for-merge 'refs/pull/324/head' of https://github.com/mattpolzin/OpenAPIKit +6424e85cde826279fa97d96d020a57d0763f5952 not-for-merge 'refs/pull/326/head' of https://github.com/mattpolzin/OpenAPIKit +6940e060f941ad1328e8531dcfcaee45ec03e101 not-for-merge 'refs/pull/329/head' of https://github.com/mattpolzin/OpenAPIKit +3918251c93909f697c1b86604e6348e09a73f886 not-for-merge 'refs/pull/33/head' of https://github.com/mattpolzin/OpenAPIKit +a05fd35aa08876f7eff86fdc277396bc2b7d5b87 not-for-merge 'refs/pull/333/head' of https://github.com/mattpolzin/OpenAPIKit +8a19a489ad9929cd0c29ea3d0613da9717fc5c5b not-for-merge 'refs/pull/334/head' of https://github.com/mattpolzin/OpenAPIKit +afb72527abdc43c498c0d53226cccf32fa5a5998 not-for-merge 'refs/pull/335/head' of https://github.com/mattpolzin/OpenAPIKit +ea6712626515a06e6c5558e8d8c72d27f3a4261d not-for-merge 'refs/pull/337/head' of https://github.com/mattpolzin/OpenAPIKit +84584677639bfb8d0c815286e5ff8eaa8ac63ce1 not-for-merge 'refs/pull/339/head' of https://github.com/mattpolzin/OpenAPIKit +efd9be9aae38b9375318f8783b95cfc960f729b4 not-for-merge 'refs/pull/34/head' of https://github.com/mattpolzin/OpenAPIKit +5ff0245ad5ef8ec826c264ccf0a2e796c1c75ce7 not-for-merge 'refs/pull/340/head' of https://github.com/mattpolzin/OpenAPIKit +e4a9c9c039bcab8a291390687f7b244c6b40a58d not-for-merge 'refs/pull/340/merge' of https://github.com/mattpolzin/OpenAPIKit +7d10cf85de65d38d6d7cf59d1bc1bfbc784d2ecb not-for-merge 'refs/pull/342/head' of https://github.com/mattpolzin/OpenAPIKit +74ef7bb707b5859697fc3fdce14d9e9e54d51ae1 not-for-merge 'refs/pull/343/head' of https://github.com/mattpolzin/OpenAPIKit +cf0a971a3d1d8ace8d84bb6d268a15ad66a79f8a not-for-merge 'refs/pull/346/head' of https://github.com/mattpolzin/OpenAPIKit +d758f64b101b7351f879e77db5a07ebe159e9220 not-for-merge 'refs/pull/347/head' of https://github.com/mattpolzin/OpenAPIKit +a48a435b9c4179804d3021a4ae93a9cf3fe11d22 not-for-merge 'refs/pull/348/head' of https://github.com/mattpolzin/OpenAPIKit +704de33aea5001cbbce9cdb1e6c1ce9326de4634 not-for-merge 'refs/pull/349/head' of https://github.com/mattpolzin/OpenAPIKit +bb2f7e4db35f6c81d1678214ebf8fe61c532e75e not-for-merge 'refs/pull/35/head' of https://github.com/mattpolzin/OpenAPIKit +00144b28357e87d1e4528c3b0704a058349b4502 not-for-merge 'refs/pull/350/head' of https://github.com/mattpolzin/OpenAPIKit +00144b28357e87d1e4528c3b0704a058349b4502 not-for-merge 'refs/pull/351/head' of https://github.com/mattpolzin/OpenAPIKit +4756da4a5d10d592d6926b40e910cb996473f866 not-for-merge 'refs/pull/352/head' of https://github.com/mattpolzin/OpenAPIKit +5c9fd8663122768721367d14b8d4f9bc15d6bb45 not-for-merge 'refs/pull/353/head' of https://github.com/mattpolzin/OpenAPIKit +d35921c4a74622641bd7e7f125ebec59d8a51865 not-for-merge 'refs/pull/356/head' of https://github.com/mattpolzin/OpenAPIKit +5e72749541f0058079e6493725bcf8d9a28d3b12 not-for-merge 'refs/pull/357/head' of https://github.com/mattpolzin/OpenAPIKit +c1941a7217a597d8f842f15188d4a00b1c165ddc not-for-merge 'refs/pull/358/head' of https://github.com/mattpolzin/OpenAPIKit +5cb7cad2bf2db8d87d9a138ccfed3a0386f808b2 not-for-merge 'refs/pull/36/head' of https://github.com/mattpolzin/OpenAPIKit +2caa77141844687bb9c535bbb5712ceea0590c4e not-for-merge 'refs/pull/360/head' of https://github.com/mattpolzin/OpenAPIKit +c4f9c06ed7248ef46c9a4c64fb6306b6fd2e78b9 not-for-merge 'refs/pull/361/head' of https://github.com/mattpolzin/OpenAPIKit +c49a94e2a875695aa5a1b6851bfda3102a1dab0f not-for-merge 'refs/pull/361/merge' of https://github.com/mattpolzin/OpenAPIKit +665dd00dfeab574c1b3cc13d58c4bfcc00824376 not-for-merge 'refs/pull/362/head' of https://github.com/mattpolzin/OpenAPIKit +f8d2452282638f09d2b82082b6e704ddd89ce178 not-for-merge 'refs/pull/365/head' of https://github.com/mattpolzin/OpenAPIKit +ce2a53a465cf83e6b009bd3b067f22adc76d1c01 not-for-merge 'refs/pull/366/head' of https://github.com/mattpolzin/OpenAPIKit +f8d2452282638f09d2b82082b6e704ddd89ce178 not-for-merge 'refs/pull/367/head' of https://github.com/mattpolzin/OpenAPIKit +728218ea50f17615e20827fe0cfa662d7437825f not-for-merge 'refs/pull/369/head' of https://github.com/mattpolzin/OpenAPIKit +d6cb6d76d547c9a1e593e4bb0825dfeecd28cc0b not-for-merge 'refs/pull/370/head' of https://github.com/mattpolzin/OpenAPIKit +ad5ebb991703d2458ae2a3801f4189b0f5b036dc not-for-merge 'refs/pull/371/head' of https://github.com/mattpolzin/OpenAPIKit +a49d111ec250c4ee479fe4b4c61debc60aaf2df2 not-for-merge 'refs/pull/373/head' of https://github.com/mattpolzin/OpenAPIKit +f8e3248e207c23bb3df32c3757835694b3c4753e not-for-merge 'refs/pull/374/head' of https://github.com/mattpolzin/OpenAPIKit +4a905d6eea30ceb76b9d05f720253c190469396e not-for-merge 'refs/pull/375/head' of https://github.com/mattpolzin/OpenAPIKit +3070c0e0ad7e285eb6256210cba160f1737add5a not-for-merge 'refs/pull/376/head' of https://github.com/mattpolzin/OpenAPIKit +ce799a3d0c7f3ac9cc09553546576590c9d5998f not-for-merge 'refs/pull/379/head' of https://github.com/mattpolzin/OpenAPIKit +7ec84469c237f05a835cec67b2ae8623ca78c087 not-for-merge 'refs/pull/380/head' of https://github.com/mattpolzin/OpenAPIKit +80119a34e511cc84913e1cd5d616e8d27bb6ce4d not-for-merge 'refs/pull/381/head' of https://github.com/mattpolzin/OpenAPIKit +28d1952b9c748e868e0d414c86df804e9ceb323b not-for-merge 'refs/pull/383/head' of https://github.com/mattpolzin/OpenAPIKit +24d79502f8b361ab6554d0f5e31247061000935e not-for-merge 'refs/pull/384/head' of https://github.com/mattpolzin/OpenAPIKit +5d3ea0fb7b0d100be49656c31551518d45f03527 not-for-merge 'refs/pull/385/head' of https://github.com/mattpolzin/OpenAPIKit +b5d474da0be1329c692f1ef9ae1d63556fe7c476 not-for-merge 'refs/pull/386/head' of https://github.com/mattpolzin/OpenAPIKit +b73751ae9020f0f04aa052ccaca263d1fedec88c not-for-merge 'refs/pull/387/head' of https://github.com/mattpolzin/OpenAPIKit +6641ac3f9ff645d27d02acab01739537319b937c not-for-merge 'refs/pull/388/head' of https://github.com/mattpolzin/OpenAPIKit +bb4bf692feb748806e4db613b25254d1477b6b6c not-for-merge 'refs/pull/389/head' of https://github.com/mattpolzin/OpenAPIKit +f0e559d657a270f658a937a40b513c5d291c8157 not-for-merge 'refs/pull/390/head' of https://github.com/mattpolzin/OpenAPIKit +fa96090362edab9a1a80dc68c07f768eefc21b79 not-for-merge 'refs/pull/393/head' of https://github.com/mattpolzin/OpenAPIKit +4cf25fcb0ad0614baf909dce754f82624631d7ff not-for-merge 'refs/pull/394/head' of https://github.com/mattpolzin/OpenAPIKit +122cddf851d781559b162610445e9d69c5506927 not-for-merge 'refs/pull/396/head' of https://github.com/mattpolzin/OpenAPIKit +70fcb701628080752b6f7a13f83ff56ab101b2a8 not-for-merge 'refs/pull/397/head' of https://github.com/mattpolzin/OpenAPIKit +a4a34416e6b4586dbbe9e5d652f52485d7963005 not-for-merge 'refs/pull/398/head' of https://github.com/mattpolzin/OpenAPIKit +1e5db25c9f908f5738e3ac4d9630ea893af39470 not-for-merge 'refs/pull/399/head' of https://github.com/mattpolzin/OpenAPIKit +b32a9df5c5e5f2434ac77b3d06ae70a7e96a1c90 not-for-merge 'refs/pull/40/head' of https://github.com/mattpolzin/OpenAPIKit +a397fec6f82e34d4d251e48e95596886de3a7eee not-for-merge 'refs/pull/400/head' of https://github.com/mattpolzin/OpenAPIKit +ebf7b402b3335faf9cb281f18119cd62462487c7 not-for-merge 'refs/pull/401/head' of https://github.com/mattpolzin/OpenAPIKit +ac08a5e9020b978e67e48bc9e5c242687d35df37 not-for-merge 'refs/pull/401/merge' of https://github.com/mattpolzin/OpenAPIKit +052deec2adeaf4a7a6fb683d2037ed3003664020 not-for-merge 'refs/pull/403/head' of https://github.com/mattpolzin/OpenAPIKit +021f45119b37faeab812afe73397903bbdc26d0f not-for-merge 'refs/pull/404/head' of https://github.com/mattpolzin/OpenAPIKit +c0f4396c35f9e41f589f8efe04baeef3b5b57275 not-for-merge 'refs/pull/405/head' of https://github.com/mattpolzin/OpenAPIKit +d65e90dc3a7c06aafc53e0d70855bcd118605b74 not-for-merge 'refs/pull/406/head' of https://github.com/mattpolzin/OpenAPIKit +0a7b1532e1af590293b7f2060dfb64ef9658dbd1 not-for-merge 'refs/pull/407/head' of https://github.com/mattpolzin/OpenAPIKit +35f095a35fb8da4803af823371fe85f00c204986 not-for-merge 'refs/pull/408/head' of https://github.com/mattpolzin/OpenAPIKit +4f947badc9d8d3091c6e5d558830d843bc2773d2 not-for-merge 'refs/pull/409/head' of https://github.com/mattpolzin/OpenAPIKit +1273180d51ced918409b5e0f226a956e2adfded2 not-for-merge 'refs/pull/41/head' of https://github.com/mattpolzin/OpenAPIKit +092f7375510a0ce6782b1f39cc8ff321bcae9b39 not-for-merge 'refs/pull/410/head' of https://github.com/mattpolzin/OpenAPIKit +621c11f66935cbaffc207e55f9dde8c25ba8a18f not-for-merge 'refs/pull/411/head' of https://github.com/mattpolzin/OpenAPIKit +e3e68a7bfac97e46e88270845ef7a206da5bd6d5 not-for-merge 'refs/pull/412/head' of https://github.com/mattpolzin/OpenAPIKit +bd0b3c38fc9f584b46013c8720eb5a43ded90239 not-for-merge 'refs/pull/42/head' of https://github.com/mattpolzin/OpenAPIKit +7c9d99bce390192c22f4815a7994ea45c4969774 not-for-merge 'refs/pull/43/head' of https://github.com/mattpolzin/OpenAPIKit +8980a649542d5001c146d71d06347d6a75ba55cc not-for-merge 'refs/pull/47/head' of https://github.com/mattpolzin/OpenAPIKit +4b746988afbadd72c6801acc78cf81e838e8d649 not-for-merge 'refs/pull/48/head' of https://github.com/mattpolzin/OpenAPIKit +0f4c62cabdaa374da2dcac281eef55efff7cd4fb not-for-merge 'refs/pull/49/head' of https://github.com/mattpolzin/OpenAPIKit +8648c79db8f5c213342611fd8aa8e8662fee8a69 not-for-merge 'refs/pull/54/head' of https://github.com/mattpolzin/OpenAPIKit +71a0ef21a8ffffa8a91621f01db4812ac3888ecd not-for-merge 'refs/pull/55/head' of https://github.com/mattpolzin/OpenAPIKit +a32cfe6a213f6e2e963f2abc1486312e57a30053 not-for-merge 'refs/pull/57/head' of https://github.com/mattpolzin/OpenAPIKit +246dd5fc73b71b584c22656e46f4f681b1522f00 not-for-merge 'refs/pull/59/head' of https://github.com/mattpolzin/OpenAPIKit +3656c9ab29c816f1b8b2ec75b0ff0fcfc0c70a0c not-for-merge 'refs/pull/60/head' of https://github.com/mattpolzin/OpenAPIKit +b1280d426cfebed8120b41e2773fb958947586a1 not-for-merge 'refs/pull/62/head' of https://github.com/mattpolzin/OpenAPIKit +ed41448a025e13acbe5837a2597664a1073a6955 not-for-merge 'refs/pull/63/head' of https://github.com/mattpolzin/OpenAPIKit +dbec714674b49aab41709eb750d5aa4a3234bad5 not-for-merge 'refs/pull/65/head' of https://github.com/mattpolzin/OpenAPIKit +cc0d0a391434aba97cccf8b6d35f3643069842fc not-for-merge 'refs/pull/66/head' of https://github.com/mattpolzin/OpenAPIKit +cba9ad7bba642b1184c4488ea3124cd4a152e678 not-for-merge 'refs/pull/69/head' of https://github.com/mattpolzin/OpenAPIKit +f980ba203ba89c35cc5d07da2d385e2a26e839aa not-for-merge 'refs/pull/70/head' of https://github.com/mattpolzin/OpenAPIKit +2430997558fe54e86a0ca9b8517e77334a3d0a16 not-for-merge 'refs/pull/71/head' of https://github.com/mattpolzin/OpenAPIKit +8da91950b8f2a61c92bcde56f839a1da7fd157fa not-for-merge 'refs/pull/72/head' of https://github.com/mattpolzin/OpenAPIKit +1b6493bd2cf8b24f21a008998f7854ec7af0f9d0 not-for-merge 'refs/pull/73/head' of https://github.com/mattpolzin/OpenAPIKit +b17a12fb78e941563269ef6b0ffec788aaaded92 not-for-merge 'refs/pull/74/head' of https://github.com/mattpolzin/OpenAPIKit +2128188f32a297c308f9dba68b63a4529e40c9ca not-for-merge 'refs/pull/76/head' of https://github.com/mattpolzin/OpenAPIKit +5af407a50e24f30c66cefb5323ebe1f1c76e51d9 not-for-merge 'refs/pull/77/head' of https://github.com/mattpolzin/OpenAPIKit +9d61313e7d2902cf10964499589c32759f4be700 not-for-merge 'refs/pull/78/head' of https://github.com/mattpolzin/OpenAPIKit +a2793d1d1c3590b8c9289da75bbf7020646b2702 not-for-merge 'refs/pull/8/head' of https://github.com/mattpolzin/OpenAPIKit +2a2fc8b8b2c0683f9389b41577849675cdd3a797 not-for-merge 'refs/pull/80/head' of https://github.com/mattpolzin/OpenAPIKit +07b4ca6df350e593b590a9b5ca02cfbc8c8ac16d not-for-merge 'refs/pull/82/head' of https://github.com/mattpolzin/OpenAPIKit +5a2f1c97e7ed7f4ff10ea3cb4e94d8864bf49be5 not-for-merge 'refs/pull/85/head' of https://github.com/mattpolzin/OpenAPIKit +4b0e073a0d3a03538317997b23319febaa184254 not-for-merge 'refs/pull/86/head' of https://github.com/mattpolzin/OpenAPIKit +bc1d0d5874b740e63181cdd7ed035118a8da7eb5 not-for-merge 'refs/pull/87/head' of https://github.com/mattpolzin/OpenAPIKit +155d7c1dd319929e5e66252c84468640c6b1c313 not-for-merge 'refs/pull/88/head' of https://github.com/mattpolzin/OpenAPIKit +e5bd73ed54111c7f5b43125a65eb3f858be4bdd0 not-for-merge 'refs/pull/89/head' of https://github.com/mattpolzin/OpenAPIKit +1230d9c8bfcfa1defd0182c097c4c9dcdf62312b not-for-merge 'refs/pull/92/head' of https://github.com/mattpolzin/OpenAPIKit +35e2d47ff9ea5034e6f160434ce74ad1f25d47b9 not-for-merge 'refs/pull/94/head' of https://github.com/mattpolzin/OpenAPIKit +f24c63ec4eea1ecbf303b17e14baede261226e13 not-for-merge 'refs/pull/95/head' of https://github.com/mattpolzin/OpenAPIKit +15483b93f50d5780e1997552952312e0d26327b2 not-for-merge 'refs/pull/96/head' of https://github.com/mattpolzin/OpenAPIKit +27e0e6363d8853ba2958b59ec1d1328e81054efb not-for-merge 'refs/pull/97/head' of https://github.com/mattpolzin/OpenAPIKit +b38aa24478f85a21dd655aed0fa82fcc7f300a62 not-for-merge 'refs/pull/99/head' of https://github.com/mattpolzin/OpenAPIKit +b9a3898a1eced9049688b9fb1cee50390d8ec49c not-for-merge tag '0.1.0' of https://github.com/mattpolzin/OpenAPIKit +44ded671ba54700f6948e166b7bd5dd331dd6a1e not-for-merge tag '0.10.0' of https://github.com/mattpolzin/OpenAPIKit +7843345a17042260f987bbf372efc236d567f5a5 not-for-merge tag '0.11.0' of https://github.com/mattpolzin/OpenAPIKit +da3a2031d9148f5a8e49af5a9d5a0ee4e41ed3b1 not-for-merge tag '0.12.0' of https://github.com/mattpolzin/OpenAPIKit +4a42df06618b3b6201239427112c3aa3587a0fbb not-for-merge tag '0.13.0' of https://github.com/mattpolzin/OpenAPIKit +63e93c1bab058160ae3a9ad4acb547671b415d6b not-for-merge tag '0.14.0' of https://github.com/mattpolzin/OpenAPIKit +d083631445ec9e785fe14acd08adeecbce8a6610 not-for-merge tag '0.15.0' of https://github.com/mattpolzin/OpenAPIKit +f02867891aa86373ab61fa200b3050b58d98b836 not-for-merge tag '0.16.0' of https://github.com/mattpolzin/OpenAPIKit +d9f6085bf6f93f4b764b77cb541fbf464bdd86ba not-for-merge tag '0.17.0' of https://github.com/mattpolzin/OpenAPIKit +be6b59070e2f295de18631ae4c7478a6eac8367f not-for-merge tag '0.18.0' of https://github.com/mattpolzin/OpenAPIKit +96ba674c79bc6cbec92d8d48c0212c6101fa1f25 not-for-merge tag '0.19.0' of https://github.com/mattpolzin/OpenAPIKit +f6134b5ee105f13070add232304804a2fe012f02 not-for-merge tag '0.2.0' of https://github.com/mattpolzin/OpenAPIKit +02bf3f48c3678bb93869a10c7867d9a9373971dc not-for-merge tag '0.20.0' of https://github.com/mattpolzin/OpenAPIKit +842f8997c51150d4542b8ae8e3ec9df069b754cc not-for-merge tag '0.21.0' of https://github.com/mattpolzin/OpenAPIKit +bb70c9f90f44aaaea26acb048b96a41092b30b81 not-for-merge tag '0.22.0' of https://github.com/mattpolzin/OpenAPIKit +7386355f3c31a4094f528e0f650947ceb90b2cd7 not-for-merge tag '0.23.0' of https://github.com/mattpolzin/OpenAPIKit +3f770ab25e3fcb5a85568b2b25866422f2c1deda not-for-merge tag '0.24.0' of https://github.com/mattpolzin/OpenAPIKit +6526cebefcc19f692a2131feabf2768e2533a562 not-for-merge tag '0.25.0' of https://github.com/mattpolzin/OpenAPIKit +9a66f0f2e234b5bfd21fa4aaf03a44ef01beed05 not-for-merge tag '0.26.0' of https://github.com/mattpolzin/OpenAPIKit +fe38a01cf54b09d30f44e81c5f4a56df08537618 not-for-merge tag '0.27.0' of https://github.com/mattpolzin/OpenAPIKit +ff8b447549499b80aed8b73b1e1a0f54f090991c not-for-merge tag '0.28.0' of https://github.com/mattpolzin/OpenAPIKit +abbfc112ebef55e4eff1bba04340289aa1b6ba09 not-for-merge tag '0.29.0' of https://github.com/mattpolzin/OpenAPIKit +3c7e9f497229507f7ba775759c141407f0e8e1da not-for-merge tag '0.29.1' of https://github.com/mattpolzin/OpenAPIKit +eba879303d520227c1e940cd843c58016bcec25e not-for-merge tag '0.3.0' of https://github.com/mattpolzin/OpenAPIKit +84ac940182dcba8a7bc8c73eb4d4a3f108655f4e not-for-merge tag '0.30.0' of https://github.com/mattpolzin/OpenAPIKit +5c18f9c57617d8b0232a50fcfd1568e4f1d1da6c not-for-merge tag '0.30.1' of https://github.com/mattpolzin/OpenAPIKit +2a1fb044872bcc499c705d7f84cb3900ce09eac2 not-for-merge tag '0.4.0' of https://github.com/mattpolzin/OpenAPIKit +dacfb9a6a6752e501a6c47969c49d20f0bf004fd not-for-merge tag '0.4.1' of https://github.com/mattpolzin/OpenAPIKit +f8c252a8c0fe84c482dd615a8fa6d132f0424ffe not-for-merge tag '0.5.0' of https://github.com/mattpolzin/OpenAPIKit +215a7add114be0a2455fc271ea312e9d5747e838 not-for-merge tag '0.5.1' of https://github.com/mattpolzin/OpenAPIKit +f85d06405c8d957b3dd35b9b8064363731d81c13 not-for-merge tag '0.5.2' of https://github.com/mattpolzin/OpenAPIKit +ed4dd7981323d3628f35867b3b9ca1e15f317062 not-for-merge tag '0.5.3' of https://github.com/mattpolzin/OpenAPIKit +dc00f1173ddf0ec221a6caa7e610e113ddbb8c52 not-for-merge tag '0.5.4' of https://github.com/mattpolzin/OpenAPIKit +02d6a049a1499cf0cb92c32e32d9e17b85c1c867 not-for-merge tag '0.6.0' of https://github.com/mattpolzin/OpenAPIKit +91b18ee891467db608416510601bf505460fbc34 not-for-merge tag '0.7.0' of https://github.com/mattpolzin/OpenAPIKit +104e5e17cd317624ec76577f97fdaaaad0af19b9 not-for-merge tag '0.8.0' of https://github.com/mattpolzin/OpenAPIKit +7a0b0e171a02e67519d163b8a3ddf8ddbf36e786 not-for-merge tag '0.9.0' of https://github.com/mattpolzin/OpenAPIKit +382668c4fff04b3adaf921840190edcebf855d47 not-for-merge tag '1.0.0' of https://github.com/mattpolzin/OpenAPIKit +732251ae2eb1965c9323ae4f8024df908979b7cf not-for-merge tag '1.0.1' of https://github.com/mattpolzin/OpenAPIKit +b1b2ad648ca983bd012391ad61d3ab246a104836 not-for-merge tag '1.1.0' of https://github.com/mattpolzin/OpenAPIKit +b31e2bc85dc93951fa491b468c91bf6bc9afbab7 not-for-merge tag '1.2.0' of https://github.com/mattpolzin/OpenAPIKit +f975988ae697cc3e9456bc07ff2aa72350ecc83d not-for-merge tag '1.3.0' of https://github.com/mattpolzin/OpenAPIKit +201586db9dcce99d148eed12cc556a0c86c3355e not-for-merge tag '1.4.0' of https://github.com/mattpolzin/OpenAPIKit +bc8b663d20a5f1cdd8533d707ade3ccc4df60ee5 not-for-merge tag '1.4.1' of https://github.com/mattpolzin/OpenAPIKit +b0f5ab383987787bd28ccbc3c28871a9a581504b not-for-merge tag '1.4.2' of https://github.com/mattpolzin/OpenAPIKit +31daf628295db4038b314855d71e0a15ef23b5ab not-for-merge tag '1.4.3' of https://github.com/mattpolzin/OpenAPIKit +e347c68313803385c5967d7db57e714b392fabaa not-for-merge tag '1.4.4' of https://github.com/mattpolzin/OpenAPIKit +05258e4ffa459f3a8c7aefbd23a20d5ab51bbc8f not-for-merge tag '1.4.5' of https://github.com/mattpolzin/OpenAPIKit +e0b5e64d9c330f6590f7b1d0a17975456553e955 not-for-merge tag '1.4.6' of https://github.com/mattpolzin/OpenAPIKit +4b5f6460fa452b0db0c6e60650ee6348c9f2ee00 not-for-merge tag '1.5.0' of https://github.com/mattpolzin/OpenAPIKit +9c08102046ea58dd13bd3a705357af64e85ff51a not-for-merge tag '1.5.1' of https://github.com/mattpolzin/OpenAPIKit +dea99e8bb5d8241c5c9f815d0fb0ad487b9491b0 not-for-merge tag '2.0.0' of https://github.com/mattpolzin/OpenAPIKit +5fdfa370aa1a3b7455c96ebac4f187de6fac9413 not-for-merge tag '2.0.0-alpha.1' of https://github.com/mattpolzin/OpenAPIKit +6130f42ea0c37b60816bb5cf04c5563612ab4462 not-for-merge tag '2.0.0-alpha.2' of https://github.com/mattpolzin/OpenAPIKit +bbbbe5fbfacee3e66fb25d74fac96d0aad6a4a8c not-for-merge tag '2.0.0-alpha.3' of https://github.com/mattpolzin/OpenAPIKit +d7a08cb788e77e7a0d9ccb4dad93992a4eaeb4d1 not-for-merge tag '2.0.0-alpha.4' of https://github.com/mattpolzin/OpenAPIKit +5904df67596edaabd72ce44726b6494fc98841cf not-for-merge tag '2.0.0-beta.1' of https://github.com/mattpolzin/OpenAPIKit +17521f8d6c08724868e5701f490d9537314a47ec not-for-merge tag '2.0.0-beta.2' of https://github.com/mattpolzin/OpenAPIKit +7170489fd66b8ede7eb89b99a56e1c56ccf8ca8e not-for-merge tag '2.0.0-rc.1' of https://github.com/mattpolzin/OpenAPIKit +55e8672834d4bf6f65f9cdf8ca385956bd4924c9 not-for-merge tag '2.0.1' of https://github.com/mattpolzin/OpenAPIKit +f534aa93d69bdfdf1f2bc05a02b4fa39a03f00c9 not-for-merge tag '2.0.2' of https://github.com/mattpolzin/OpenAPIKit +02b8b78da3423ff31e35d6327fa7d37644710b30 not-for-merge tag '2.1.0' of https://github.com/mattpolzin/OpenAPIKit +96e85ad6d82e099e74622e6704e97b8b8cd8c2cd not-for-merge tag '2.2.0' of https://github.com/mattpolzin/OpenAPIKit +7861ff04ba86a4544f828768ad02fb1b84809ca8 not-for-merge tag '2.3.0' of https://github.com/mattpolzin/OpenAPIKit +4e7f67551e26b0430297d7720a744df22ed7a018 not-for-merge tag '2.3.1' of https://github.com/mattpolzin/OpenAPIKit +4986552e76c331a99770428bd2be77ad76068c08 not-for-merge tag '2.4.0' of https://github.com/mattpolzin/OpenAPIKit +328d11996ccc43205bd861535021d8c22168a08a not-for-merge tag '2.5.0' of https://github.com/mattpolzin/OpenAPIKit +c98ceb9884941d9fb5297cff826992a6c6b2a068 not-for-merge tag '2.5.1' of https://github.com/mattpolzin/OpenAPIKit +70b9c4389af1806f367d26d89a1c7e72af956650 not-for-merge tag '2.5.2' of https://github.com/mattpolzin/OpenAPIKit +7e3969ea427374013fa930199ebf8f8f17d9baea not-for-merge tag '2.5.3' of https://github.com/mattpolzin/OpenAPIKit +e9c50c91fe94c78c20661611792437e44ba42da5 not-for-merge tag '2.6.0' of https://github.com/mattpolzin/OpenAPIKit +0f712cc345b9ca57c5ba4333b484de6c64c131d0 not-for-merge tag '2.6.1' of https://github.com/mattpolzin/OpenAPIKit +ae98338a8e660ae547b058ebb69c010e70b64e31 not-for-merge tag '3.0.0' of https://github.com/mattpolzin/OpenAPIKit +76edc1d5f0950b00cc69b5f5d1a80e3360090944 not-for-merge tag '3.0.0-alpha.1' of https://github.com/mattpolzin/OpenAPIKit +0ed4858b1843da3ee9b3a381c0b4534b4bcbe09a not-for-merge tag '3.0.0-alpha.2' of https://github.com/mattpolzin/OpenAPIKit +96b8c4335ddf595e841b2a0c6b0ab83706cc2a2c not-for-merge tag '3.0.0-alpha.3' of https://github.com/mattpolzin/OpenAPIKit +0c668112f9803c1858ed070f9e8ce84922a0b41f not-for-merge tag '3.0.0-alpha.4' of https://github.com/mattpolzin/OpenAPIKit +15e39d1594b5da2b11d63f141203296d48cc5213 not-for-merge tag '3.0.0-alpha.5' of https://github.com/mattpolzin/OpenAPIKit +d40e6c3d57b1b27ac2114861d5a83cf8ee9d206d not-for-merge tag '3.0.0-alpha.6' of https://github.com/mattpolzin/OpenAPIKit +84f6702500fb00476d74420c1a0df64cddd3993e not-for-merge tag '3.0.0-alpha.7' of https://github.com/mattpolzin/OpenAPIKit +1495fc079eb60c750522b17905f916e9f9f317fe not-for-merge tag '3.0.0-alpha.8' of https://github.com/mattpolzin/OpenAPIKit +e805233e54afd394937cecb0a28e575b3388f60f not-for-merge tag '3.0.0-alpha.9' of https://github.com/mattpolzin/OpenAPIKit +faced1149cdfb03ee70d80360ba20c4b11af5e3a not-for-merge tag '3.0.0-beta.1' of https://github.com/mattpolzin/OpenAPIKit +c598406749b49d8b12413194069b3cf94e0eef63 not-for-merge tag '3.0.0-beta.2' of https://github.com/mattpolzin/OpenAPIKit +ccdcb64667de86f5ea1138000bc9d4f2155a7086 not-for-merge tag '3.0.0-beta.3' of https://github.com/mattpolzin/OpenAPIKit +0cdd48c6b737b3f77b66a33b350b0a5132e230a4 not-for-merge tag '3.0.0-beta.4' of https://github.com/mattpolzin/OpenAPIKit +beca680cef9ea622d39b42187baa9ce77b89865a not-for-merge tag '3.0.0-beta.5' of https://github.com/mattpolzin/OpenAPIKit +0ee7ed4d5c2bb1997d2d3a9a44d362db2aa2773c not-for-merge tag '3.0.0-rc.1' of https://github.com/mattpolzin/OpenAPIKit +b069168ebd9bac3704beab3aadff07b589aadeb2 not-for-merge tag '3.0.0-rc.2' of https://github.com/mattpolzin/OpenAPIKit +437c26a58a171a5fd6b2ddffc81709fa2ac9f190 not-for-merge tag '3.0.0-rc.3' of https://github.com/mattpolzin/OpenAPIKit +da5b3803f3c2ddaf48b2c08ae82b998693487b13 not-for-merge tag '3.0.0-rc.4' of https://github.com/mattpolzin/OpenAPIKit +f93e9bd8ec7b9d58f6a86e303fd5f71c7088f9ae not-for-merge tag '3.0.1' of https://github.com/mattpolzin/OpenAPIKit +b1d7ed34df1c5f6d28c0721f0625a7bda96f7c94 not-for-merge tag '3.1.0' of https://github.com/mattpolzin/OpenAPIKit +b00b08d05e6fba0e156c06be3332b9774e172afd not-for-merge tag '3.1.1' of https://github.com/mattpolzin/OpenAPIKit +283454875cc6e5b2801d184d65835b92252d1784 not-for-merge tag '3.1.2' of https://github.com/mattpolzin/OpenAPIKit +33a9984b4af03f00e68b8ee85f1273cb826af04f not-for-merge tag '3.1.3' of https://github.com/mattpolzin/OpenAPIKit +4991b7e39a19cd1d0d11fe24fc64a601b4820144 not-for-merge tag '3.2.0' of https://github.com/mattpolzin/OpenAPIKit +03840ad621eda50cb6ed95ebab3f0dd7f82e9e88 not-for-merge tag '3.2.1' of https://github.com/mattpolzin/OpenAPIKit +35dd374038497a8118d89300851861fb40c36209 not-for-merge tag '3.2.2' of https://github.com/mattpolzin/OpenAPIKit +5b5ee49624dda5b3e3b85aff184f44a007862fb7 not-for-merge tag '3.3.0' of https://github.com/mattpolzin/OpenAPIKit +749ceba9a6e91d40081f27996fd91fd3de9a8dfe not-for-merge tag '3.4.0' of https://github.com/mattpolzin/OpenAPIKit +90c137c3dfde4e31204ffccc51a0a17a959efde7 not-for-merge tag '3.4.1' of https://github.com/mattpolzin/OpenAPIKit +fd27b297993923c9a1725dc62553d06579c7a33e not-for-merge tag '3.4.2' of https://github.com/mattpolzin/OpenAPIKit +da7d3a5ddff0dd8e5e9fdb5585d186d645bcc21b not-for-merge tag '3.5.0' of https://github.com/mattpolzin/OpenAPIKit +4f31a7bd0c518ef69e5346640c3a13df140cc41e not-for-merge tag '3.5.1' of https://github.com/mattpolzin/OpenAPIKit +a75aa4166d916f1cb4a192e928a18f7b6d3516bc not-for-merge tag '3.5.2' of https://github.com/mattpolzin/OpenAPIKit +0629b7e41181e20c00283c49ef734ac11fece5e3 not-for-merge tag '4.0.0-alpha.1' of https://github.com/mattpolzin/OpenAPIKit +7b597735a6cf21d7b12811d20357175497e595db not-for-merge tag '4.0.0-alpha.2' of https://github.com/mattpolzin/OpenAPIKit +6bd7c073569efbd44a4a9800123976ee0959afef not-for-merge tag '4.0.0-alpha.3' of https://github.com/mattpolzin/OpenAPIKit +75394142a47915a7a36e481fe8b52e4fcbc56a3a not-for-merge tag '4.0.0-alpha.4' of https://github.com/mattpolzin/OpenAPIKit +3fde60e4636f6d7f8f20ab56d981aed3d09ec164 not-for-merge tag '4.0.0-alpha.5' of https://github.com/mattpolzin/OpenAPIKit +ded104d7a7ba1ca719473f2c14285020c2536104 not-for-merge tag '4.0.0-alpha.6' of https://github.com/mattpolzin/OpenAPIKit +bc1d339bc2e94103411f05d35fe729543f27fe11 not-for-merge tag '4.0.0-beta.1' of https://github.com/mattpolzin/OpenAPIKit +c5aa61b9253b4911b7068379ce20bf75d5ebfddf not-for-merge tag '4.0.0-beta.2' of https://github.com/mattpolzin/OpenAPIKit +1d1f322242b5e90a84e03c55b665ece0c9023ff9 not-for-merge tag '4.0.0-beta.3' of https://github.com/mattpolzin/OpenAPIKit +3c34a3f57baae939e46730af95916be415662139 not-for-merge tag '4.0.0-rc.1' of https://github.com/mattpolzin/OpenAPIKit +e7048daf424caa2f254425365f603424c65380be not-for-merge tag '4.0.0-rc.2' of https://github.com/mattpolzin/OpenAPIKit +0fe241e94caa96f0e685fcf648765ef1274d833f not-for-merge tag '4.0.0-rc.3' of https://github.com/mattpolzin/OpenAPIKit +10d75e021dc9f3acb1b4ec9bb6ea5e680c2f5508 not-for-merge tag '4.0.0-rc.4' of https://github.com/mattpolzin/OpenAPIKit diff --git a/.build/repositories/OpenAPIKit-5420c066/HEAD b/.build/repositories/OpenAPIKit-5420c066/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/OpenAPIKit-5420c066/config b/.build/repositories/OpenAPIKit-5420c066/config new file mode 100644 index 0000000..a5f6760 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/mattpolzin/OpenAPIKit + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/OpenAPIKit-5420c066/description b/.build/repositories/OpenAPIKit-5420c066/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/applypatch-msg.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/commit-msg.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/fsmonitor-watchman.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/post-update.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/pre-applypatch.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/pre-commit.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/pre-merge-commit.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/pre-push.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/pre-rebase.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/pre-receive.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/prepare-commit-msg.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/OpenAPIKit-5420c066/hooks/push-to-checkout.sample b/.build/repositories/OpenAPIKit-5420c066/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/OpenAPIKit-5420c066/info/exclude b/.build/repositories/OpenAPIKit-5420c066/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/OpenAPIKit-5420c066/objects/pack/pack-171cbf3cdf95874db166815f456bd90eea10ad14.idx b/.build/repositories/OpenAPIKit-5420c066/objects/pack/pack-171cbf3cdf95874db166815f456bd90eea10ad14.idx new file mode 100644 index 0000000..f459e4d Binary files /dev/null and b/.build/repositories/OpenAPIKit-5420c066/objects/pack/pack-171cbf3cdf95874db166815f456bd90eea10ad14.idx differ diff --git a/.build/repositories/OpenAPIKit-5420c066/objects/pack/pack-171cbf3cdf95874db166815f456bd90eea10ad14.pack b/.build/repositories/OpenAPIKit-5420c066/objects/pack/pack-171cbf3cdf95874db166815f456bd90eea10ad14.pack new file mode 100644 index 0000000..a7fe1b6 Binary files /dev/null and b/.build/repositories/OpenAPIKit-5420c066/objects/pack/pack-171cbf3cdf95874db166815f456bd90eea10ad14.pack differ diff --git a/.build/repositories/OpenAPIKit-5420c066/packed-refs b/.build/repositories/OpenAPIKit-5420c066/packed-refs new file mode 100644 index 0000000..6b35f18 --- /dev/null +++ b/.build/repositories/OpenAPIKit-5420c066/packed-refs @@ -0,0 +1,392 @@ +# pack-refs with: peeled fully-peeled sorted +90703ce15d8b5b277f411fa7101e259b88857277 refs/heads/anycodable-correctness-exploration +b258b57cae598945924a7f55e5ff0740ba73410b refs/heads/bugfix/377/allow-component-refs +28d1952b9c748e868e0d414c86df804e9ceb323b refs/heads/bugfix/382/url_template_stack_overflow +d18ed984df4292303263e707fab67d60dfab795d refs/heads/feature/195/31-to-30 +086606b39f73ed6c040c7c0a1ab30fe3edb7f28a refs/heads/feature/307/lenient-style-parsing +c4f9c06ed7248ef46c9a4c64fb6306b6fd2e78b9 refs/heads/feature/359/dynamic-ref +d0087d8a81eb7b5ed30747a51ee7692bd4827eea refs/heads/gh-pages +28f3bbd626ffcf55e563e23ec2cb2f0ee4f772ed refs/heads/give-null-a-core-context +c1941a7217a597d8f842f15188d4a00b1c165ddc refs/heads/load-external-references-v4 +a75aa4166d916f1cb4a192e928a18f7b6d3516bc refs/heads/main +15483b93f50d5780e1997552952312e0d26327b2 refs/heads/pure-swift-json-test-coders +3fac475978d154d70571c7161c257f75b240455c refs/heads/release/2_x +5ff0245ad5ef8ec826c264ccf0a2e796c1c75ce7 refs/heads/release/4_0 +6162b98c67b8668b8cb746dd95c0b5d006340366 refs/heads/resolve-to-yams-5_2 +4323626ac6b4bee0a0732bfe831533d48bd3803e refs/heads/resolve-to-yams-5_3 +3cedc788601fb7498810478278b1ccd9e33cfe1e refs/pull/1/head +a323a42622ff2d8cb58f914f44b95b99eb7b135b refs/pull/10/head +5ddde9b9c6344710d647a1ed14ed99656b54a5b8 refs/pull/101/head +c34a421abb2941b7a434739470219fc6d574605e refs/pull/106/head +05d8a94f558da48652a83b2933067a7f1811380e refs/pull/108/head +27be781fc852808ffc973ac236339a9ca0a04d9d refs/pull/109/head +cb3a52a901c64ebf3e64ad2a0d7469ffbf97beee refs/pull/11/head +b50750ca1c6c88f0e30f088d96d8563ff0da72cf refs/pull/110/head +3168faf98c4ff575a9bfbc08db946f495a9d10d8 refs/pull/112/head +d5a34561b9fc6aededfaa234d8f0db208884a853 refs/pull/114/head +b6eace3afaa5731fc3909ef03511ccda2f2da56b refs/pull/116/head +c99f97386f9b49ea95f77f6d51285635d6a27ba4 refs/pull/118/head +523bcaa8f77f8dc7a741472d76a1ff8823aae912 refs/pull/12/head +0cd0da7e7475560c566cae6165fcb7ecd2caf7cb refs/pull/120/head +711ce38826d0d546197a10ddb23b6ed2d8f56660 refs/pull/121/head +d04f73995785634df5cd7d3c1fa2a82d228a2af4 refs/pull/122/head +347fecc10283961a7ced81fd962e090e9e21bfae refs/pull/125/head +c5a9799d5b3e607a2da41fd3d49278589ca3e4dd refs/pull/126/head +50a2ffd3f683b1537997821559d949ebe1d80188 refs/pull/127/head +1d1c804084eebfc89158d58d1695ccbd00d98787 refs/pull/13/head +6c32ecf6d7d6c6c9cddfa13163e9a5e06b3829d1 refs/pull/130/head +26a5a2e5213d779b5ada38d8e70ce1b079b45514 refs/pull/133/head +afcbf3c9fac03e016c8dbe68776d61d5a5848cf5 refs/pull/134/head +eb505f4800676c90dd98e0c8e03805bafe355b87 refs/pull/135/head +955e97e4c9ac5bf2be2f32eca8ccbe4ae397dc03 refs/pull/138/head +714fdf61c797ebc10ad465b07c76a7e45ecc87a9 refs/pull/139/head +887ea2c6191d79afb58f4e50846bb5ee749e33ac refs/pull/14/head +45d599ef5f1466f09625ee80dd0539ee2a4aa879 refs/pull/140/head +b763f7acf5e94e6eaa86545f863e8746ea0a36c0 refs/pull/144/head +4096e0760440420b4343cbe93934e2c6ee70cbe4 refs/pull/145/head +d694c9fe9a6c35b771820a33029f80eee52ee99a refs/pull/146/head +bd06998274681623a7cba8be1f03dcdc4613142d refs/pull/148/head +1a0e54db9c4bcc4541921b04c626359d900fb6ca refs/pull/149/head +02989fa7300f722c8d8ba553cf1362c94092c849 refs/pull/15/head +38cd096c0f6fab59763a7bb1e7f80874bdae7536 refs/pull/150/head +c3e163bc7094656cee7cb0cfa4747112dbcfc084 refs/pull/151/head +ccec305e3c1c01859556ac44199e20d9775494f3 refs/pull/152/head +dfc5bec1b0d481192735fa826aa9e7d08db38e6d refs/pull/154/head +b216764786fd7aa2900b0bc7439356cc156897c1 refs/pull/155/head +7fc5a9986d4ec2488b60970bb2959ff489bc7417 refs/pull/157/head +e95d922955f076214773c14978035fb110a26fd3 refs/pull/159/head +5cbde670dc4db0610a3c56179cc263aa42a61990 refs/pull/16/head +26f18ca66cba503c438b7bb08cd6757c42d8d366 refs/pull/160/head +224ce0ecbe08772caea3fd7a85a370f953d501f6 refs/pull/161/head +37c525257bea83a13703ec6ae51becaa86c871b4 refs/pull/162/head +b3178a497c38258d0192534a077a96fbb9291bed refs/pull/163/head +ece5d4931322552e6ab5f57c59a2f95c63971409 refs/pull/165/head +5ec7568225f51529d2120f398b09d103f89eea5d refs/pull/166/head +0eb0871abd0d525c523a95a58067b10064ff69bd refs/pull/167/head +4cc2d21680d73e5a09344a909fb7facaf403eece refs/pull/168/head +6699842789ca49a75e0f4fc55cd25d8cbb59004a refs/pull/169/head +a4e36687edccb351c729b311bbcb120c9ac95f25 refs/pull/170/head +bb0f6f350181518b506678c55efef892994a8a93 refs/pull/172/head +d4ec049971fae7ff77d94064134f99a852fe2060 refs/pull/173/head +a00a5e4fa467526cc29bbf5c6aaa34d72fdc8a5a refs/pull/174/head +8c5831a0a9cd9ddb8afa110b0945b4a3d8013892 refs/pull/175/head +63d45ce01bca8eff8a15bb558d27ff293e9ed1be refs/pull/176/head +23b5cd0082294381b141384ccfb623594a90a9c3 refs/pull/177/head +8a3eaefcc2aee194f2f336f3fb655c451db254d7 refs/pull/18/head +3ab8709e6d2f35c1460606de889424602f3e33c5 refs/pull/19/head +ec2a867ebc815bd30640769e4e6655c09c6d89a9 refs/pull/197/head +92698e193625d8ab3730b0a8ca9236f07fd2fb00 refs/pull/198/head +ba5d127f922ee7bae69cbaf517d08d2547747584 refs/pull/199/head +83283090f314b395f79d5e5c0f9799aee68f02f9 refs/pull/2/head +769a8d6d656851647cae7fd07462e6556e58c1b4 refs/pull/20/head +fd9a4331bafdd42540e381f3f06385e2370ab458 refs/pull/203/head +7ec81ab4bbde99723f03f5f3115fca3025ccb25a refs/pull/205/head +75a60dfff9366c35521071ee2719092175ebf817 refs/pull/206/head +8008fa84d30c53d4e72dc33975a6d7e0e5ba423d refs/pull/207/head +49316539fd65274ed84bbe3484d6afe08021c6e6 refs/pull/208/head +7e51143e52365335804578deed23e12d0f6f544d refs/pull/209/head +ce1408df4570d510e76da788fe0127c9c3b78be6 refs/pull/21/head +241ef3fc7f5b6fec1eb5e5b96e2d42e3b72ac96a refs/pull/210/head +8741765d50a27ba94478452584765280a7fd8c08 refs/pull/214/head +2e0a66e0c57bdf284e70fb91e27120bb32b63768 refs/pull/215/head +1a442f98d6006219455447f6f66a2f8f0e4469b1 refs/pull/216/head +ce58c118d4ae18b98bcf73805fbc54bfa3077956 refs/pull/217/head +dc64a8d436910b8aabd24509f070672310db6984 refs/pull/218/head +0ab1a80fbea5480788f2f97a4c633baa6819e1e2 refs/pull/219/head +da87ddcce4f48a73af14a17bf4c33f217351a689 refs/pull/22/head +f142b5b590f49faeec534ce43bb64c8e2d128f36 refs/pull/221/head +4fc072b08008e5589827ef40956b133bad7a5a78 refs/pull/222/head +bad693b5c187fd23abfdf6cc6214bf4d6c1000dd refs/pull/223/head +8201906f9dc5597bb01ab26776324a4ccf74c0e6 refs/pull/226/head +2bbf6a63d4d41fc9c395628a35aa0b405f5a3143 refs/pull/227/head +55c10bf99cc237f1d29237be34f4106c23f6c1db refs/pull/229/head +d8dc71e4a4edf42944746b3736d1b185d9260220 refs/pull/230/head +f20513a35dfb502c6b11fe361f65ea7273e85bb3 refs/pull/231/head +80179e8909cf189e16b6e23f4fd30466ab1d20b1 refs/pull/233/head +f4c8ae0929feb9a647a3aa3e93106355878a8f65 refs/pull/234/head +78c27f18d1dc817d1f9b46fbf97d7d9d172f855c refs/pull/235/head +8f7ae399d9842155a29f36bfd5570bbd0f090024 refs/pull/240/head +95bca23b80ee3822171e0b1b25841b034d89cf6e refs/pull/242/head +333efaedcc64905b7943451bdfbc66ae7dfcc2d0 refs/pull/244/head +23cdabd03033c6d0e39b10478c3ebb0a4bafb95f refs/pull/245/head +f2f8af000f2866c35bebefc84dcc13b1327a0e74 refs/pull/246/head +2852db7f46c321cec4d5c1b373020b756b0a6442 refs/pull/247/head +f192501cb57b8c96761c6e62c17049804bbe01d9 refs/pull/248/head +0521b1c88156188f5b7214546c96f9abd7c9556f refs/pull/249/head +53bd2c9d62781aefb1369f60bd8697d20be29d0c refs/pull/250/head +9c14e553865421eecd962d9f11fd257fd359e22e refs/pull/252/head +c8ebe0cb360fd1fe20a861f8ca3a1f3b72e0a257 refs/pull/254/head +f102b7aaa002b087fa41cc2c74a7797551c146e1 refs/pull/260/head +0cbed165117399a562eb419050e09bc292869771 refs/pull/261/head +8d0537510b79a1a6aaec1a84431e9aef23e3f187 refs/pull/262/head +d96f819964a665438c15134465d334d4d3446034 refs/pull/263/head +74a5c7783ce8740e43178804ec281e69aa69df36 refs/pull/264/head +f68dbb806c86a07d74774535e22e318e4566ba1a refs/pull/265/head +9dbaa803035293d9cee4fd6974e16af94512fb19 refs/pull/267/head +56bdc40b0d3c82c548c873c3080c1713edf4f10a refs/pull/270/head +324f89a343871710995e1b773219205b44b78936 refs/pull/271/head +b5f5c3a774d2c8df979426b717974c96f4fa2c72 refs/pull/273/head +c8e4d161a2011c9c7a399971b51dee6b0050d0da refs/pull/274/head +f5879f0d5a87c73598bc65b224e863a79b16af40 refs/pull/275/head +c13948447419145dbe0bf2d74ec7ac97f7d11489 refs/pull/278/head +1a379dd7d95bf80bf7519701b6988ade603d7ffe refs/pull/281/head +b7634ed88903d1539c60d9936ed3b5672e0a4542 refs/pull/282/head +eaa0f4e9d632b025d6bd20ef3aaf15ab4fdc77b4 refs/pull/283/head +8e902c6989ed37f4313e0b97878aa10f23ca2439 refs/pull/284/head +7c82228c58988193ac098bc55f62af1b6e23d61f refs/pull/285/head +fced755dd7d186a9dffb7dbdc0e41a8ee51f73db refs/pull/287/head +7b1fdb42d39f39f22b3f631232b127e926c5c6a5 refs/pull/29/head +b0ee6cbde2ddbb9be1b3bcac2e12c60b511e8fd4 refs/pull/290/head +95c33801f5aee86be09313372b6dafd9abcedafb refs/pull/291/head +cc58af0d6b79a1717120bb19f8a9dea9c696e6d3 refs/pull/295/head +a30d4a1b84392984bc913636aead525c148ed7af refs/pull/296/head +b834fe6c9936cfc0325dbc75bcf16d2fecdfa13b refs/pull/297/head +f0967ab34350b32c8f7f9f6ec4f4216a7e67cc70 refs/pull/299/head +63ee8a716c61697101c199cc9ceaa32cab6991c0 refs/pull/30/head +adcc19984652221ab6dbc20c9b62cb82c1a53e26 refs/pull/301/head +0b040636afe557766a98ffc5fbad3f433a5b0cbe refs/pull/302/head +2f93902eda314137ff763a01ed6a8ad067b25e97 refs/pull/303/head +ee075c2d6789922116dba127c656a4dc0d5328ad refs/pull/304/head +53f257a4fcdc7bf0703de256f0007f73cae6872f refs/pull/305/head +2b2132e0edeb1aa10849a61211f94ea481555a67 refs/pull/308/head +922f2155c9ebfef322d53a736c1e42e47a114afb refs/pull/309/head +0ceed113fbe249b86962b644fa01529d71cb6ebc refs/pull/31/head +3774bd0542a428be04fdd62f14949ba564e4178f refs/pull/310/head +a1d782c606148177df30f4544e78b345092248d0 refs/pull/311/head +6f4b3d8f6c2bc49655fdc887823418133e4d6ba6 refs/pull/312/head +f9a8e8dc7c5c6e05aece452fcac0c373f79ef60f refs/pull/314/head +2d3d807693bc9c9af06cdff99b57aeb878046510 refs/pull/316/head +5f1b45bd7899c7fe752aeadce08ee05566fcd09a refs/pull/319/head +f2b28cd0a622e8ab426bf1124552c35cd20d2e54 refs/pull/32/head +585c05cafb8d4cf276134539de45b29add66cb13 refs/pull/320/head +2606f62ecfc575de26edfec1fbbb8744c5e81257 refs/pull/322/head +84b003c5a1cf475c3e401be622800f5c6b491020 refs/pull/323/head +109948f259309cf8c6f1e0fe5ce3a84f0f19f637 refs/pull/324/head +6424e85cde826279fa97d96d020a57d0763f5952 refs/pull/326/head +6940e060f941ad1328e8531dcfcaee45ec03e101 refs/pull/329/head +3918251c93909f697c1b86604e6348e09a73f886 refs/pull/33/head +a05fd35aa08876f7eff86fdc277396bc2b7d5b87 refs/pull/333/head +8a19a489ad9929cd0c29ea3d0613da9717fc5c5b refs/pull/334/head +afb72527abdc43c498c0d53226cccf32fa5a5998 refs/pull/335/head +ea6712626515a06e6c5558e8d8c72d27f3a4261d refs/pull/337/head +84584677639bfb8d0c815286e5ff8eaa8ac63ce1 refs/pull/339/head +efd9be9aae38b9375318f8783b95cfc960f729b4 refs/pull/34/head +5ff0245ad5ef8ec826c264ccf0a2e796c1c75ce7 refs/pull/340/head +e4a9c9c039bcab8a291390687f7b244c6b40a58d refs/pull/340/merge +7d10cf85de65d38d6d7cf59d1bc1bfbc784d2ecb refs/pull/342/head +74ef7bb707b5859697fc3fdce14d9e9e54d51ae1 refs/pull/343/head +cf0a971a3d1d8ace8d84bb6d268a15ad66a79f8a refs/pull/346/head +d758f64b101b7351f879e77db5a07ebe159e9220 refs/pull/347/head +a48a435b9c4179804d3021a4ae93a9cf3fe11d22 refs/pull/348/head +704de33aea5001cbbce9cdb1e6c1ce9326de4634 refs/pull/349/head +bb2f7e4db35f6c81d1678214ebf8fe61c532e75e refs/pull/35/head +00144b28357e87d1e4528c3b0704a058349b4502 refs/pull/350/head +00144b28357e87d1e4528c3b0704a058349b4502 refs/pull/351/head +4756da4a5d10d592d6926b40e910cb996473f866 refs/pull/352/head +5c9fd8663122768721367d14b8d4f9bc15d6bb45 refs/pull/353/head +d35921c4a74622641bd7e7f125ebec59d8a51865 refs/pull/356/head +5e72749541f0058079e6493725bcf8d9a28d3b12 refs/pull/357/head +c1941a7217a597d8f842f15188d4a00b1c165ddc refs/pull/358/head +5cb7cad2bf2db8d87d9a138ccfed3a0386f808b2 refs/pull/36/head +2caa77141844687bb9c535bbb5712ceea0590c4e refs/pull/360/head +c4f9c06ed7248ef46c9a4c64fb6306b6fd2e78b9 refs/pull/361/head +c49a94e2a875695aa5a1b6851bfda3102a1dab0f refs/pull/361/merge +665dd00dfeab574c1b3cc13d58c4bfcc00824376 refs/pull/362/head +f8d2452282638f09d2b82082b6e704ddd89ce178 refs/pull/365/head +ce2a53a465cf83e6b009bd3b067f22adc76d1c01 refs/pull/366/head +f8d2452282638f09d2b82082b6e704ddd89ce178 refs/pull/367/head +728218ea50f17615e20827fe0cfa662d7437825f refs/pull/369/head +d6cb6d76d547c9a1e593e4bb0825dfeecd28cc0b refs/pull/370/head +ad5ebb991703d2458ae2a3801f4189b0f5b036dc refs/pull/371/head +a49d111ec250c4ee479fe4b4c61debc60aaf2df2 refs/pull/373/head +f8e3248e207c23bb3df32c3757835694b3c4753e refs/pull/374/head +4a905d6eea30ceb76b9d05f720253c190469396e refs/pull/375/head +3070c0e0ad7e285eb6256210cba160f1737add5a refs/pull/376/head +ce799a3d0c7f3ac9cc09553546576590c9d5998f refs/pull/379/head +7ec84469c237f05a835cec67b2ae8623ca78c087 refs/pull/380/head +80119a34e511cc84913e1cd5d616e8d27bb6ce4d refs/pull/381/head +28d1952b9c748e868e0d414c86df804e9ceb323b refs/pull/383/head +24d79502f8b361ab6554d0f5e31247061000935e refs/pull/384/head +5d3ea0fb7b0d100be49656c31551518d45f03527 refs/pull/385/head +b5d474da0be1329c692f1ef9ae1d63556fe7c476 refs/pull/386/head +b73751ae9020f0f04aa052ccaca263d1fedec88c refs/pull/387/head +6641ac3f9ff645d27d02acab01739537319b937c refs/pull/388/head +bb4bf692feb748806e4db613b25254d1477b6b6c refs/pull/389/head +f0e559d657a270f658a937a40b513c5d291c8157 refs/pull/390/head +fa96090362edab9a1a80dc68c07f768eefc21b79 refs/pull/393/head +4cf25fcb0ad0614baf909dce754f82624631d7ff refs/pull/394/head +122cddf851d781559b162610445e9d69c5506927 refs/pull/396/head +70fcb701628080752b6f7a13f83ff56ab101b2a8 refs/pull/397/head +a4a34416e6b4586dbbe9e5d652f52485d7963005 refs/pull/398/head +1e5db25c9f908f5738e3ac4d9630ea893af39470 refs/pull/399/head +b32a9df5c5e5f2434ac77b3d06ae70a7e96a1c90 refs/pull/40/head +a397fec6f82e34d4d251e48e95596886de3a7eee refs/pull/400/head +ebf7b402b3335faf9cb281f18119cd62462487c7 refs/pull/401/head +ac08a5e9020b978e67e48bc9e5c242687d35df37 refs/pull/401/merge +052deec2adeaf4a7a6fb683d2037ed3003664020 refs/pull/403/head +021f45119b37faeab812afe73397903bbdc26d0f refs/pull/404/head +c0f4396c35f9e41f589f8efe04baeef3b5b57275 refs/pull/405/head +d65e90dc3a7c06aafc53e0d70855bcd118605b74 refs/pull/406/head +0a7b1532e1af590293b7f2060dfb64ef9658dbd1 refs/pull/407/head +35f095a35fb8da4803af823371fe85f00c204986 refs/pull/408/head +4f947badc9d8d3091c6e5d558830d843bc2773d2 refs/pull/409/head +1273180d51ced918409b5e0f226a956e2adfded2 refs/pull/41/head +092f7375510a0ce6782b1f39cc8ff321bcae9b39 refs/pull/410/head +621c11f66935cbaffc207e55f9dde8c25ba8a18f refs/pull/411/head +e3e68a7bfac97e46e88270845ef7a206da5bd6d5 refs/pull/412/head +bd0b3c38fc9f584b46013c8720eb5a43ded90239 refs/pull/42/head +7c9d99bce390192c22f4815a7994ea45c4969774 refs/pull/43/head +8980a649542d5001c146d71d06347d6a75ba55cc refs/pull/47/head +4b746988afbadd72c6801acc78cf81e838e8d649 refs/pull/48/head +0f4c62cabdaa374da2dcac281eef55efff7cd4fb refs/pull/49/head +8648c79db8f5c213342611fd8aa8e8662fee8a69 refs/pull/54/head +71a0ef21a8ffffa8a91621f01db4812ac3888ecd refs/pull/55/head +a32cfe6a213f6e2e963f2abc1486312e57a30053 refs/pull/57/head +246dd5fc73b71b584c22656e46f4f681b1522f00 refs/pull/59/head +3656c9ab29c816f1b8b2ec75b0ff0fcfc0c70a0c refs/pull/60/head +b1280d426cfebed8120b41e2773fb958947586a1 refs/pull/62/head +ed41448a025e13acbe5837a2597664a1073a6955 refs/pull/63/head +dbec714674b49aab41709eb750d5aa4a3234bad5 refs/pull/65/head +cc0d0a391434aba97cccf8b6d35f3643069842fc refs/pull/66/head +cba9ad7bba642b1184c4488ea3124cd4a152e678 refs/pull/69/head +f980ba203ba89c35cc5d07da2d385e2a26e839aa refs/pull/70/head +2430997558fe54e86a0ca9b8517e77334a3d0a16 refs/pull/71/head +8da91950b8f2a61c92bcde56f839a1da7fd157fa refs/pull/72/head +1b6493bd2cf8b24f21a008998f7854ec7af0f9d0 refs/pull/73/head +b17a12fb78e941563269ef6b0ffec788aaaded92 refs/pull/74/head +2128188f32a297c308f9dba68b63a4529e40c9ca refs/pull/76/head +5af407a50e24f30c66cefb5323ebe1f1c76e51d9 refs/pull/77/head +9d61313e7d2902cf10964499589c32759f4be700 refs/pull/78/head +a2793d1d1c3590b8c9289da75bbf7020646b2702 refs/pull/8/head +2a2fc8b8b2c0683f9389b41577849675cdd3a797 refs/pull/80/head +07b4ca6df350e593b590a9b5ca02cfbc8c8ac16d refs/pull/82/head +5a2f1c97e7ed7f4ff10ea3cb4e94d8864bf49be5 refs/pull/85/head +4b0e073a0d3a03538317997b23319febaa184254 refs/pull/86/head +bc1d0d5874b740e63181cdd7ed035118a8da7eb5 refs/pull/87/head +155d7c1dd319929e5e66252c84468640c6b1c313 refs/pull/88/head +e5bd73ed54111c7f5b43125a65eb3f858be4bdd0 refs/pull/89/head +1230d9c8bfcfa1defd0182c097c4c9dcdf62312b refs/pull/92/head +35e2d47ff9ea5034e6f160434ce74ad1f25d47b9 refs/pull/94/head +f24c63ec4eea1ecbf303b17e14baede261226e13 refs/pull/95/head +15483b93f50d5780e1997552952312e0d26327b2 refs/pull/96/head +27e0e6363d8853ba2958b59ec1d1328e81054efb refs/pull/97/head +b38aa24478f85a21dd655aed0fa82fcc7f300a62 refs/pull/99/head +b9a3898a1eced9049688b9fb1cee50390d8ec49c refs/tags/0.1.0 +44ded671ba54700f6948e166b7bd5dd331dd6a1e refs/tags/0.10.0 +7843345a17042260f987bbf372efc236d567f5a5 refs/tags/0.11.0 +da3a2031d9148f5a8e49af5a9d5a0ee4e41ed3b1 refs/tags/0.12.0 +4a42df06618b3b6201239427112c3aa3587a0fbb refs/tags/0.13.0 +63e93c1bab058160ae3a9ad4acb547671b415d6b refs/tags/0.14.0 +d083631445ec9e785fe14acd08adeecbce8a6610 refs/tags/0.15.0 +f02867891aa86373ab61fa200b3050b58d98b836 refs/tags/0.16.0 +d9f6085bf6f93f4b764b77cb541fbf464bdd86ba refs/tags/0.17.0 +be6b59070e2f295de18631ae4c7478a6eac8367f refs/tags/0.18.0 +96ba674c79bc6cbec92d8d48c0212c6101fa1f25 refs/tags/0.19.0 +f6134b5ee105f13070add232304804a2fe012f02 refs/tags/0.2.0 +02bf3f48c3678bb93869a10c7867d9a9373971dc refs/tags/0.20.0 +842f8997c51150d4542b8ae8e3ec9df069b754cc refs/tags/0.21.0 +bb70c9f90f44aaaea26acb048b96a41092b30b81 refs/tags/0.22.0 +7386355f3c31a4094f528e0f650947ceb90b2cd7 refs/tags/0.23.0 +3f770ab25e3fcb5a85568b2b25866422f2c1deda refs/tags/0.24.0 +6526cebefcc19f692a2131feabf2768e2533a562 refs/tags/0.25.0 +9a66f0f2e234b5bfd21fa4aaf03a44ef01beed05 refs/tags/0.26.0 +fe38a01cf54b09d30f44e81c5f4a56df08537618 refs/tags/0.27.0 +ff8b447549499b80aed8b73b1e1a0f54f090991c refs/tags/0.28.0 +abbfc112ebef55e4eff1bba04340289aa1b6ba09 refs/tags/0.29.0 +3c7e9f497229507f7ba775759c141407f0e8e1da refs/tags/0.29.1 +eba879303d520227c1e940cd843c58016bcec25e refs/tags/0.3.0 +84ac940182dcba8a7bc8c73eb4d4a3f108655f4e refs/tags/0.30.0 +5c18f9c57617d8b0232a50fcfd1568e4f1d1da6c refs/tags/0.30.1 +2a1fb044872bcc499c705d7f84cb3900ce09eac2 refs/tags/0.4.0 +dacfb9a6a6752e501a6c47969c49d20f0bf004fd refs/tags/0.4.1 +f8c252a8c0fe84c482dd615a8fa6d132f0424ffe refs/tags/0.5.0 +215a7add114be0a2455fc271ea312e9d5747e838 refs/tags/0.5.1 +f85d06405c8d957b3dd35b9b8064363731d81c13 refs/tags/0.5.2 +ed4dd7981323d3628f35867b3b9ca1e15f317062 refs/tags/0.5.3 +dc00f1173ddf0ec221a6caa7e610e113ddbb8c52 refs/tags/0.5.4 +02d6a049a1499cf0cb92c32e32d9e17b85c1c867 refs/tags/0.6.0 +91b18ee891467db608416510601bf505460fbc34 refs/tags/0.7.0 +104e5e17cd317624ec76577f97fdaaaad0af19b9 refs/tags/0.8.0 +7a0b0e171a02e67519d163b8a3ddf8ddbf36e786 refs/tags/0.9.0 +382668c4fff04b3adaf921840190edcebf855d47 refs/tags/1.0.0 +732251ae2eb1965c9323ae4f8024df908979b7cf refs/tags/1.0.1 +b1b2ad648ca983bd012391ad61d3ab246a104836 refs/tags/1.1.0 +b31e2bc85dc93951fa491b468c91bf6bc9afbab7 refs/tags/1.2.0 +f975988ae697cc3e9456bc07ff2aa72350ecc83d refs/tags/1.3.0 +201586db9dcce99d148eed12cc556a0c86c3355e refs/tags/1.4.0 +bc8b663d20a5f1cdd8533d707ade3ccc4df60ee5 refs/tags/1.4.1 +b0f5ab383987787bd28ccbc3c28871a9a581504b refs/tags/1.4.2 +31daf628295db4038b314855d71e0a15ef23b5ab refs/tags/1.4.3 +e347c68313803385c5967d7db57e714b392fabaa refs/tags/1.4.4 +05258e4ffa459f3a8c7aefbd23a20d5ab51bbc8f refs/tags/1.4.5 +e0b5e64d9c330f6590f7b1d0a17975456553e955 refs/tags/1.4.6 +4b5f6460fa452b0db0c6e60650ee6348c9f2ee00 refs/tags/1.5.0 +9c08102046ea58dd13bd3a705357af64e85ff51a refs/tags/1.5.1 +dea99e8bb5d8241c5c9f815d0fb0ad487b9491b0 refs/tags/2.0.0 +5fdfa370aa1a3b7455c96ebac4f187de6fac9413 refs/tags/2.0.0-alpha.1 +6130f42ea0c37b60816bb5cf04c5563612ab4462 refs/tags/2.0.0-alpha.2 +bbbbe5fbfacee3e66fb25d74fac96d0aad6a4a8c refs/tags/2.0.0-alpha.3 +d7a08cb788e77e7a0d9ccb4dad93992a4eaeb4d1 refs/tags/2.0.0-alpha.4 +5904df67596edaabd72ce44726b6494fc98841cf refs/tags/2.0.0-beta.1 +17521f8d6c08724868e5701f490d9537314a47ec refs/tags/2.0.0-beta.2 +7170489fd66b8ede7eb89b99a56e1c56ccf8ca8e refs/tags/2.0.0-rc.1 +55e8672834d4bf6f65f9cdf8ca385956bd4924c9 refs/tags/2.0.1 +f534aa93d69bdfdf1f2bc05a02b4fa39a03f00c9 refs/tags/2.0.2 +02b8b78da3423ff31e35d6327fa7d37644710b30 refs/tags/2.1.0 +96e85ad6d82e099e74622e6704e97b8b8cd8c2cd refs/tags/2.2.0 +7861ff04ba86a4544f828768ad02fb1b84809ca8 refs/tags/2.3.0 +4e7f67551e26b0430297d7720a744df22ed7a018 refs/tags/2.3.1 +4986552e76c331a99770428bd2be77ad76068c08 refs/tags/2.4.0 +328d11996ccc43205bd861535021d8c22168a08a refs/tags/2.5.0 +c98ceb9884941d9fb5297cff826992a6c6b2a068 refs/tags/2.5.1 +70b9c4389af1806f367d26d89a1c7e72af956650 refs/tags/2.5.2 +7e3969ea427374013fa930199ebf8f8f17d9baea refs/tags/2.5.3 +e9c50c91fe94c78c20661611792437e44ba42da5 refs/tags/2.6.0 +0f712cc345b9ca57c5ba4333b484de6c64c131d0 refs/tags/2.6.1 +ae98338a8e660ae547b058ebb69c010e70b64e31 refs/tags/3.0.0 +76edc1d5f0950b00cc69b5f5d1a80e3360090944 refs/tags/3.0.0-alpha.1 +0ed4858b1843da3ee9b3a381c0b4534b4bcbe09a refs/tags/3.0.0-alpha.2 +96b8c4335ddf595e841b2a0c6b0ab83706cc2a2c refs/tags/3.0.0-alpha.3 +0c668112f9803c1858ed070f9e8ce84922a0b41f refs/tags/3.0.0-alpha.4 +15e39d1594b5da2b11d63f141203296d48cc5213 refs/tags/3.0.0-alpha.5 +d40e6c3d57b1b27ac2114861d5a83cf8ee9d206d refs/tags/3.0.0-alpha.6 +84f6702500fb00476d74420c1a0df64cddd3993e refs/tags/3.0.0-alpha.7 +1495fc079eb60c750522b17905f916e9f9f317fe refs/tags/3.0.0-alpha.8 +e805233e54afd394937cecb0a28e575b3388f60f refs/tags/3.0.0-alpha.9 +faced1149cdfb03ee70d80360ba20c4b11af5e3a refs/tags/3.0.0-beta.1 +c598406749b49d8b12413194069b3cf94e0eef63 refs/tags/3.0.0-beta.2 +ccdcb64667de86f5ea1138000bc9d4f2155a7086 refs/tags/3.0.0-beta.3 +0cdd48c6b737b3f77b66a33b350b0a5132e230a4 refs/tags/3.0.0-beta.4 +beca680cef9ea622d39b42187baa9ce77b89865a refs/tags/3.0.0-beta.5 +0ee7ed4d5c2bb1997d2d3a9a44d362db2aa2773c refs/tags/3.0.0-rc.1 +b069168ebd9bac3704beab3aadff07b589aadeb2 refs/tags/3.0.0-rc.2 +437c26a58a171a5fd6b2ddffc81709fa2ac9f190 refs/tags/3.0.0-rc.3 +da5b3803f3c2ddaf48b2c08ae82b998693487b13 refs/tags/3.0.0-rc.4 +f93e9bd8ec7b9d58f6a86e303fd5f71c7088f9ae refs/tags/3.0.1 +b1d7ed34df1c5f6d28c0721f0625a7bda96f7c94 refs/tags/3.1.0 +b00b08d05e6fba0e156c06be3332b9774e172afd refs/tags/3.1.1 +283454875cc6e5b2801d184d65835b92252d1784 refs/tags/3.1.2 +33a9984b4af03f00e68b8ee85f1273cb826af04f refs/tags/3.1.3 +4991b7e39a19cd1d0d11fe24fc64a601b4820144 refs/tags/3.2.0 +03840ad621eda50cb6ed95ebab3f0dd7f82e9e88 refs/tags/3.2.1 +35dd374038497a8118d89300851861fb40c36209 refs/tags/3.2.2 +5b5ee49624dda5b3e3b85aff184f44a007862fb7 refs/tags/3.3.0 +749ceba9a6e91d40081f27996fd91fd3de9a8dfe refs/tags/3.4.0 +90c137c3dfde4e31204ffccc51a0a17a959efde7 refs/tags/3.4.1 +fd27b297993923c9a1725dc62553d06579c7a33e refs/tags/3.4.2 +da7d3a5ddff0dd8e5e9fdb5585d186d645bcc21b refs/tags/3.5.0 +4f31a7bd0c518ef69e5346640c3a13df140cc41e refs/tags/3.5.1 +a75aa4166d916f1cb4a192e928a18f7b6d3516bc refs/tags/3.5.2 +0629b7e41181e20c00283c49ef734ac11fece5e3 refs/tags/4.0.0-alpha.1 +7b597735a6cf21d7b12811d20357175497e595db refs/tags/4.0.0-alpha.2 +6bd7c073569efbd44a4a9800123976ee0959afef refs/tags/4.0.0-alpha.3 +75394142a47915a7a36e481fe8b52e4fcbc56a3a refs/tags/4.0.0-alpha.4 +3fde60e4636f6d7f8f20ab56d981aed3d09ec164 refs/tags/4.0.0-alpha.5 +ded104d7a7ba1ca719473f2c14285020c2536104 refs/tags/4.0.0-alpha.6 +bc1d339bc2e94103411f05d35fe729543f27fe11 refs/tags/4.0.0-beta.1 +c5aa61b9253b4911b7068379ce20bf75d5ebfddf refs/tags/4.0.0-beta.2 +1d1f322242b5e90a84e03c55b665ece0c9023ff9 refs/tags/4.0.0-beta.3 +3c34a3f57baae939e46730af95916be415662139 refs/tags/4.0.0-rc.1 +e7048daf424caa2f254425365f603424c65380be refs/tags/4.0.0-rc.2 +0fe241e94caa96f0e685fcf648765ef1274d833f refs/tags/4.0.0-rc.3 +10d75e021dc9f3acb1b4ec9bb6ea5e680c2f5508 refs/tags/4.0.0-rc.4 diff --git a/.build/repositories/Yams-fd9f2519/FETCH_HEAD b/.build/repositories/Yams-fd9f2519/FETCH_HEAD new file mode 100644 index 0000000..7f035ff --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/FETCH_HEAD @@ -0,0 +1,423 @@ +5f525b9286de8e29c8ab3f6089cbb629ad9cc649 not-for-merge branch 'depend_on_foundation_essentials' of https://github.com/jpsim/Yams +d783204fbff0650bf8c052c233616bd5c1cac645 not-for-merge branch 'gh-pages' of https://github.com/jpsim/Yams +1f5cc7ac33a8f134b007e1d91b9502a68a4693fc not-for-merge branch 'jp-no-foundation' of https://github.com/jpsim/Yams +a99c294290caffd7d5acf52fdc9bd5746b613b69 not-for-merge branch 'jp-swiftlint-deadcode' of https://github.com/jpsim/Yams +0f26ab3879c81c9d8689b4f4cc19235796a667f2 not-for-merge branch 'lynchsft-windows-failure-test-1' of https://github.com/jpsim/Yams +ac032ca19f085fb2d62f76ed50e685d1f15d013e not-for-merge branch 'lynchsft-windows-failure-test-1-1' of https://github.com/jpsim/Yams +9281f8c99aff4f4a55dce22ae29b1181c935caa5 not-for-merge branch 'main' of https://github.com/jpsim/Yams +b6ef8cc0d6a0a11f76b2120189f80ace182acf13 not-for-merge branch 'nn-key-coding-strategy-2' of https://github.com/jpsim/Yams +e6795b346147a64f492eddd771fc185dbcf79480 not-for-merge branch 'rules_xcodeproj' of https://github.com/jpsim/Yams +79b7985649309f3643df0fb78e697e73fe83cc87 not-for-merge branch 'use-swift-dtoa' of https://github.com/jpsim/Yams +81a65c4069c28011ee432f2858ba0de49b086677 not-for-merge branch 'yams-3-branch' of https://github.com/jpsim/Yams +90168b0ab415fbfee6b896a94aa3f95dfbcd061a not-for-merge 'refs/pull/1/head' of https://github.com/jpsim/Yams +8122e411ed614c3e3acc24bba1f570bb2f3d8774 not-for-merge 'refs/pull/10/head' of https://github.com/jpsim/Yams +a79363008dee0a01c5da22a60427b17d7a0e6127 not-for-merge 'refs/pull/101/head' of https://github.com/jpsim/Yams +80c54fd5caf0de70e86fb0fd9dff96ada7755020 not-for-merge 'refs/pull/103/head' of https://github.com/jpsim/Yams +c241a3e75733883b595cb792a405ed2361530e83 not-for-merge 'refs/pull/104/head' of https://github.com/jpsim/Yams +111664fbc168544b20fdbbfa881f300435fb5858 not-for-merge 'refs/pull/105/head' of https://github.com/jpsim/Yams +be02fa61a7b67e4e0a072df999c191083f52a94f not-for-merge 'refs/pull/107/head' of https://github.com/jpsim/Yams +51d400026f8a50dbf050a25af3ea589dc75e653b not-for-merge 'refs/pull/108/head' of https://github.com/jpsim/Yams +e86b4fa03b2855ef601062a03bb262a34915696c not-for-merge 'refs/pull/108/merge' of https://github.com/jpsim/Yams +df6658ed8e65c8cdae7f6a224c673a69be432588 not-for-merge 'refs/pull/109/head' of https://github.com/jpsim/Yams +388ef180c23a372a16f4f19067b40d0c004bf3f9 not-for-merge 'refs/pull/11/head' of https://github.com/jpsim/Yams +4ad289a5245862ef714f8e56412ccb9b5abd91c5 not-for-merge 'refs/pull/11/merge' of https://github.com/jpsim/Yams +778e09c3c0ad14342e4ddff08c411e477d46e773 not-for-merge 'refs/pull/110/head' of https://github.com/jpsim/Yams +e34e15dbd62f46d9d7c580e63eb63f84c5a429b6 not-for-merge 'refs/pull/111/head' of https://github.com/jpsim/Yams +e544b1614edf3aa839d56eef9ad8396a414da0ac not-for-merge 'refs/pull/112/head' of https://github.com/jpsim/Yams +ce04cd33a1b96ae30340978ef5bf1b57f979ccfa not-for-merge 'refs/pull/113/head' of https://github.com/jpsim/Yams +87dc4c4bb8803628e464703c36f905dbf4b592ec not-for-merge 'refs/pull/114/head' of https://github.com/jpsim/Yams +5fd4f2e99a860ea184659a845d29298b6458c44d not-for-merge 'refs/pull/115/head' of https://github.com/jpsim/Yams +9711d6b62a3c6d1c3a028aaf8586d92495addb40 not-for-merge 'refs/pull/117/head' of https://github.com/jpsim/Yams +33b5dafd2c15e497ca757316076cfe2917fe6247 not-for-merge 'refs/pull/118/head' of https://github.com/jpsim/Yams +3dfecd8f63d544bf6c0232c1487162992dd4c01a not-for-merge 'refs/pull/119/head' of https://github.com/jpsim/Yams +f5c2b3330c9fa8c6f89f7aa013e4c752a7529372 not-for-merge 'refs/pull/12/head' of https://github.com/jpsim/Yams +0c58de53ba0c5ef29db485c0b4cf8cfa2a0bb786 not-for-merge 'refs/pull/120/head' of https://github.com/jpsim/Yams +313b68d8dd2da633361c8dbaff30732f9febbcb4 not-for-merge 'refs/pull/122/head' of https://github.com/jpsim/Yams +9eaf812eca28669bffd2941fea64a85320f5801e not-for-merge 'refs/pull/123/head' of https://github.com/jpsim/Yams +681c0559878b5d77702057e0680858c4c853d3fd not-for-merge 'refs/pull/126/head' of https://github.com/jpsim/Yams +4c888839d8c0f01430e73383c5afb57c0783a62c not-for-merge 'refs/pull/127/head' of https://github.com/jpsim/Yams +30104f5aa4e6652786ff630373dc6e03b994843a not-for-merge 'refs/pull/128/head' of https://github.com/jpsim/Yams +7f9eff99a266e147a418aea5f390ee6bfb0b9c80 not-for-merge 'refs/pull/129/head' of https://github.com/jpsim/Yams +46d43d2d46398a6f272b062650c1b7189beefbf7 not-for-merge 'refs/pull/13/head' of https://github.com/jpsim/Yams +dc1ff8a6e12d44e3db4b42bb8c048de1b47d8397 not-for-merge 'refs/pull/132/head' of https://github.com/jpsim/Yams +9e8ab817aff530f8597f3863e6501990002733a1 not-for-merge 'refs/pull/134/head' of https://github.com/jpsim/Yams +8c58c332d5c1c7d9562a767b0b1caf2c61c230bf not-for-merge 'refs/pull/135/head' of https://github.com/jpsim/Yams +985ed113dec90ec0d079f3e3a6d479a0c7e5dd43 not-for-merge 'refs/pull/136/head' of https://github.com/jpsim/Yams +3f134c41b6ef846e6cfea16a536bafdd9f141773 not-for-merge 'refs/pull/137/head' of https://github.com/jpsim/Yams +0f3bf694b9a937bd1603576bd9cacb748db09b7e not-for-merge 'refs/pull/138/head' of https://github.com/jpsim/Yams +0ab562d39fef88c8ff0041992238888582ed547f not-for-merge 'refs/pull/139/head' of https://github.com/jpsim/Yams +7d914f5e42ec47361cf65aa44e8a512e3305445e not-for-merge 'refs/pull/14/head' of https://github.com/jpsim/Yams +06b9c9e416f356bee4a1ebbfea5c294ee7793706 not-for-merge 'refs/pull/140/head' of https://github.com/jpsim/Yams +668446c52029b5ae4cdc4cb05de962cdec72694e not-for-merge 'refs/pull/141/head' of https://github.com/jpsim/Yams +b43c429ff005c6841f9824fb076521e5c04520ed not-for-merge 'refs/pull/142/head' of https://github.com/jpsim/Yams +681cf3a8846a06b1df0f0540965f4a2aaac4ff98 not-for-merge 'refs/pull/144/head' of https://github.com/jpsim/Yams +30e20fb9a0209236d23683933ce918661865ed23 not-for-merge 'refs/pull/145/head' of https://github.com/jpsim/Yams +0174a8517aa76fae4d9522e859b76d5f70ee9b18 not-for-merge 'refs/pull/146/head' of https://github.com/jpsim/Yams +55cc7277ad3f9a81be58b12cab6d81ba0b457dce not-for-merge 'refs/pull/147/head' of https://github.com/jpsim/Yams +e57e137c8402ed8e676358f7c2e9092e10369322 not-for-merge 'refs/pull/148/head' of https://github.com/jpsim/Yams +d1aa40536dd716e324cc1ce29e0855b043637c75 not-for-merge 'refs/pull/149/head' of https://github.com/jpsim/Yams +7a57411c9e4e11f08abf055ca1a808ce5c5465ae not-for-merge 'refs/pull/15/head' of https://github.com/jpsim/Yams +df5ed050e4a94c3d8b2e86056d4462d1f2dff703 not-for-merge 'refs/pull/150/head' of https://github.com/jpsim/Yams +3ea80016e45ed43b4234524421da58290fa42304 not-for-merge 'refs/pull/151/head' of https://github.com/jpsim/Yams +d4feb1514087f68b2b857ede9ab8ff26f45cef7b not-for-merge 'refs/pull/152/head' of https://github.com/jpsim/Yams +3044bb8dbb725415045f9597d9b73b9d4faa194b not-for-merge 'refs/pull/153/head' of https://github.com/jpsim/Yams +058b2bd2c840d6ec1fcc50058699eb3441be7cf4 not-for-merge 'refs/pull/154/head' of https://github.com/jpsim/Yams +98b0174684eb81235c837fd0c4a8d6d114dfa0ee not-for-merge 'refs/pull/155/head' of https://github.com/jpsim/Yams +34160742402ec71897348b4aed4e3f08c7156914 not-for-merge 'refs/pull/158/head' of https://github.com/jpsim/Yams +304604546718eba398dde11223b9f58af9b668c6 not-for-merge 'refs/pull/159/head' of https://github.com/jpsim/Yams +a19cccf82a4f5f1de282faad23c393c104ee68e1 not-for-merge 'refs/pull/16/head' of https://github.com/jpsim/Yams +1c01c5fb39a3a7c3254645675e0b317b195cb65f not-for-merge 'refs/pull/161/head' of https://github.com/jpsim/Yams +bfc4f06dc2141304b9510ab66bab17827a22ce8a not-for-merge 'refs/pull/162/head' of https://github.com/jpsim/Yams +14f183e1b47cf30cd346e82420cb4ad3f5b491fe not-for-merge 'refs/pull/163/head' of https://github.com/jpsim/Yams +f537e7d1406322ecce925331bf067cb908e8a1ac not-for-merge 'refs/pull/164/head' of https://github.com/jpsim/Yams +b73b7265c51536991c13cf26c9a4d1f838bd4fe5 not-for-merge 'refs/pull/165/head' of https://github.com/jpsim/Yams +2becf0f6e09684e5d8a4f0f57218b5f3db721b07 not-for-merge 'refs/pull/166/head' of https://github.com/jpsim/Yams +fb05fa48034faf07bad1bf9e229f1e072c773226 not-for-merge 'refs/pull/167/head' of https://github.com/jpsim/Yams +83f2ae99a4d798a9104732585e20fcade2473739 not-for-merge 'refs/pull/168/head' of https://github.com/jpsim/Yams +7c9b974a9e9b41cc46605ad14089c6ef4ef969a6 not-for-merge 'refs/pull/169/head' of https://github.com/jpsim/Yams +848d5e381995969415bbf1121aa1f721900fff36 not-for-merge 'refs/pull/17/head' of https://github.com/jpsim/Yams +03c1652568eeffea3f39676939b1d6d4584533d0 not-for-merge 'refs/pull/170/head' of https://github.com/jpsim/Yams +edf07b91a448f7fed85b2a50a329b86d2219c397 not-for-merge 'refs/pull/171/head' of https://github.com/jpsim/Yams +c2727acd1027430851813c32465f35fe9d38acb3 not-for-merge 'refs/pull/172/head' of https://github.com/jpsim/Yams +e3a81325984e94ad898a7325f79f49c89ba02d69 not-for-merge 'refs/pull/173/head' of https://github.com/jpsim/Yams +5a8bf50a6de3b4529fb1cabc4a6030cd79a603f8 not-for-merge 'refs/pull/175/head' of https://github.com/jpsim/Yams +fab2ec9a69bf2b6f64f9ae16d5468f56da9f1eab not-for-merge 'refs/pull/176/head' of https://github.com/jpsim/Yams +4b4275d9edb7662f83cb878475b581ae701e93ef not-for-merge 'refs/pull/177/head' of https://github.com/jpsim/Yams +d4f3a45d953ccd08c65f561340a945f7d433bbed not-for-merge 'refs/pull/179/head' of https://github.com/jpsim/Yams +44569e7e9272d34ff62543cbfff8bbc385f3991e not-for-merge 'refs/pull/18/head' of https://github.com/jpsim/Yams +a769410ceb7ea1fe6a198c1c6fa1df5917fcbcb4 not-for-merge 'refs/pull/181/head' of https://github.com/jpsim/Yams +665306f3ac292f9ba491d2ca632fd5fdf894b2a7 not-for-merge 'refs/pull/182/head' of https://github.com/jpsim/Yams +9b9e32cf7942b416c01aa1d46b4a867b40b279a3 not-for-merge 'refs/pull/183/head' of https://github.com/jpsim/Yams +9bd581032d0602d322e417cef310f86ffcc469ad not-for-merge 'refs/pull/184/head' of https://github.com/jpsim/Yams +5bc8e7ec41dc7c14831b56ff462671ce1dcb3aae not-for-merge 'refs/pull/185/head' of https://github.com/jpsim/Yams +dfa811a47140b00fa775b0b86dae71f05b795900 not-for-merge 'refs/pull/186/head' of https://github.com/jpsim/Yams +dcff93243d0476048a76a735f310eab9087a2ace not-for-merge 'refs/pull/187/head' of https://github.com/jpsim/Yams +308a4b30f84936a089310d420c1afb250a15c33f not-for-merge 'refs/pull/188/head' of https://github.com/jpsim/Yams +0a490cb60c82d08fd3ac756c55a1275c92d10052 not-for-merge 'refs/pull/189/head' of https://github.com/jpsim/Yams +b499fd463ff33d12bd5fe99bbfc4ea866f9623f0 not-for-merge 'refs/pull/19/head' of https://github.com/jpsim/Yams +50ced17af310b900d8412500e229b6718cbb6194 not-for-merge 'refs/pull/190/head' of https://github.com/jpsim/Yams +3c132854920223f52e5997a917577379ed164c81 not-for-merge 'refs/pull/191/head' of https://github.com/jpsim/Yams +f5632222dbd70ea46146f580b4b0042f7bac23f5 not-for-merge 'refs/pull/193/head' of https://github.com/jpsim/Yams +fbbc7058b7d8a5fc7ef361fb440ef2a51ad4174b not-for-merge 'refs/pull/194/head' of https://github.com/jpsim/Yams +0074e4a19be95441b2e7a13c12691475efb28d7f not-for-merge 'refs/pull/195/head' of https://github.com/jpsim/Yams +c3b7f1910af483275e85fe90fdcac93803250b77 not-for-merge 'refs/pull/196/head' of https://github.com/jpsim/Yams +e3b1c21d8cd818a361818e72799cad504e588c01 not-for-merge 'refs/pull/198/head' of https://github.com/jpsim/Yams +693d54b7fb071171cad2c09ff1ed8e170dda7794 not-for-merge 'refs/pull/199/head' of https://github.com/jpsim/Yams +3125c9a1ff25de4b281cf52b965b7dd3075adbf2 not-for-merge 'refs/pull/2/head' of https://github.com/jpsim/Yams +b6ef8cc0d6a0a11f76b2120189f80ace182acf13 not-for-merge 'refs/pull/200/head' of https://github.com/jpsim/Yams +5084147a8d4b6b427824a28b5cca1ef91bb660ff not-for-merge 'refs/pull/201/head' of https://github.com/jpsim/Yams +5a7eba1abf24d1c205cec4de74fa917526d4d14a not-for-merge 'refs/pull/202/head' of https://github.com/jpsim/Yams +cfe282ba0414f18ee8a5a558794c79bf66e09b16 not-for-merge 'refs/pull/204/head' of https://github.com/jpsim/Yams +82690aa1ad3ea9a51811a429068b1fe92aa89c25 not-for-merge 'refs/pull/205/head' of https://github.com/jpsim/Yams +9aba82a924200cedcbb5db89e8fea8137ba1f017 not-for-merge 'refs/pull/206/head' of https://github.com/jpsim/Yams +e574da0c8e5f8a3f1c4698877416ea7e4153f9b1 not-for-merge 'refs/pull/208/head' of https://github.com/jpsim/Yams +2d47cc12af3b3b259bcf7bd61e52799186406cec not-for-merge 'refs/pull/209/head' of https://github.com/jpsim/Yams +65a2ea2ca47a204c4a6a336ffba10daf7b8e0e3a not-for-merge 'refs/pull/21/head' of https://github.com/jpsim/Yams +d40456077a23bc95441e7f9c4ca8a19ba8a47534 not-for-merge 'refs/pull/210/head' of https://github.com/jpsim/Yams +1d3cc0d50b36059ca492dab22cc1e80d0c1763a9 not-for-merge 'refs/pull/211/head' of https://github.com/jpsim/Yams +093c28c054351d74bee3acda9b6fc12d1893e1e6 not-for-merge 'refs/pull/212/head' of https://github.com/jpsim/Yams +c80fa0f28c57b6bafdea8da8ff21089ebcd756f2 not-for-merge 'refs/pull/213/head' of https://github.com/jpsim/Yams +bb6c772ba48c6fa079887a00b0a7f1ff5070aebd not-for-merge 'refs/pull/214/head' of https://github.com/jpsim/Yams +bc412b631492f0cd9a82a4badf868e77b1563030 not-for-merge 'refs/pull/215/head' of https://github.com/jpsim/Yams +aa4ff8c42ac1d9ae546290db790a66ee016b5e8d not-for-merge 'refs/pull/217/head' of https://github.com/jpsim/Yams +acfd23c4e654e7a807f96086a38038674b16dc9d not-for-merge 'refs/pull/218/head' of https://github.com/jpsim/Yams +778652166ebe2cb21115692064bc0430a65dff16 not-for-merge 'refs/pull/219/head' of https://github.com/jpsim/Yams +06b38f0f0991d8db0ae7c6f446f8f3123f4979cc not-for-merge 'refs/pull/22/head' of https://github.com/jpsim/Yams +527ec6a751b0bab3edbbf9982f2d9c30e1e8dd2d not-for-merge 'refs/pull/220/head' of https://github.com/jpsim/Yams +d31639f467116205d2999dc5ffed0d42bb0c684d not-for-merge 'refs/pull/221/head' of https://github.com/jpsim/Yams +b34b0f9c36c5ff5f8fbb7ec9874124953a7f9b44 not-for-merge 'refs/pull/222/head' of https://github.com/jpsim/Yams +fee852623f8809894506342e36fa47bb390a8a01 not-for-merge 'refs/pull/223/head' of https://github.com/jpsim/Yams +ec7c4d61a5321c89b4219bca273f1b2f48e4773b not-for-merge 'refs/pull/224/head' of https://github.com/jpsim/Yams +2cfded2ebaeebe1886024219e0b015906d0ae794 not-for-merge 'refs/pull/225/head' of https://github.com/jpsim/Yams +b86e1fbb85a87dec22308fa4cbf73067313cb7e0 not-for-merge 'refs/pull/226/head' of https://github.com/jpsim/Yams +81a7e53b38ff1e612b92edbabe3c468c80f00142 not-for-merge 'refs/pull/227/head' of https://github.com/jpsim/Yams +f3f3962929ae1675e0acc374f4eee2da0f0ae9ce not-for-merge 'refs/pull/228/head' of https://github.com/jpsim/Yams +6120f6688c146304e811808a88c334101e47b52f not-for-merge 'refs/pull/229/head' of https://github.com/jpsim/Yams +6d64c51aa85ade5ec2275762c643f2fb11b3ffc0 not-for-merge 'refs/pull/23/head' of https://github.com/jpsim/Yams +3ea3e0ed637f187fcb9f6030a02f65e6cc7aa03e not-for-merge 'refs/pull/230/head' of https://github.com/jpsim/Yams +efe4ddb8c8c61eb81e0dd765c21ed29f03f21842 not-for-merge 'refs/pull/231/head' of https://github.com/jpsim/Yams +bbaa9ec919391c88e265c27e72ade94028efdc90 not-for-merge 'refs/pull/234/head' of https://github.com/jpsim/Yams +5e2aca98f401833a342ab0825d45429d896f8c8a not-for-merge 'refs/pull/235/head' of https://github.com/jpsim/Yams +bcbc8fe75647c5b6c81742e7edb2c8b8b795af11 not-for-merge 'refs/pull/238/head' of https://github.com/jpsim/Yams +6b6632263c1162553bedc0bbab3c9554d94ac8c9 not-for-merge 'refs/pull/24/head' of https://github.com/jpsim/Yams +415b1c57869319defb132ad62f6d09064bca9f08 not-for-merge 'refs/pull/245/head' of https://github.com/jpsim/Yams +e8f46ddf47153090e26bdd2ffc4ae758b0d92843 not-for-merge 'refs/pull/246/head' of https://github.com/jpsim/Yams +2cab65b8332ab46d2e42ad5abeb7d0fe267c0267 not-for-merge 'refs/pull/247/head' of https://github.com/jpsim/Yams +4c31bb5701fb6eccb1e0cb93296343f8009d5c5c not-for-merge 'refs/pull/248/head' of https://github.com/jpsim/Yams +e64d8bf869898b15f763119871ff58588d234b50 not-for-merge 'refs/pull/249/head' of https://github.com/jpsim/Yams +6b6632263c1162553bedc0bbab3c9554d94ac8c9 not-for-merge 'refs/pull/25/head' of https://github.com/jpsim/Yams +83430ac1e0e81bff1af9971609e61d2279c1a9a5 not-for-merge 'refs/pull/251/head' of https://github.com/jpsim/Yams +f27f9fec65c86987082d40dbbbdeae03c3405bc0 not-for-merge 'refs/pull/252/head' of https://github.com/jpsim/Yams +09e2116c7cca422644593b1082586f1d776c0be9 not-for-merge 'refs/pull/254/head' of https://github.com/jpsim/Yams +410ab4c61c83c89ea0454b3facfa724fa56c461e not-for-merge 'refs/pull/255/head' of https://github.com/jpsim/Yams +e57444f0336385d80013f07ed23979b4cbba5696 not-for-merge 'refs/pull/256/head' of https://github.com/jpsim/Yams +bf500d1556fd7551de74f22dda7d367e43437e81 not-for-merge 'refs/pull/257/head' of https://github.com/jpsim/Yams +332f32939497a39f4f331eb37219a9620f8028f4 not-for-merge 'refs/pull/259/head' of https://github.com/jpsim/Yams +4bd7fdbb06999c11b5eef42345bb7e9a887c49c1 not-for-merge 'refs/pull/26/head' of https://github.com/jpsim/Yams +dbfffbe94fb237b43bec1255c01fecdba2b45558 not-for-merge 'refs/pull/260/head' of https://github.com/jpsim/Yams +9b6071ece9cb94117a7311c9663a07035077ff27 not-for-merge 'refs/pull/262/head' of https://github.com/jpsim/Yams +9f9ca7fd511769bebca19d56d91f6fe0efdfeed0 not-for-merge 'refs/pull/264/head' of https://github.com/jpsim/Yams +cdafa7712fad7a029db79bc3152f4d54278752ad not-for-merge 'refs/pull/268/head' of https://github.com/jpsim/Yams +26c5157763338503bdcf75a93191156a821e6867 not-for-merge 'refs/pull/269/head' of https://github.com/jpsim/Yams +26455e8a3f1ee68ab83dc204815a2fd054785af2 not-for-merge 'refs/pull/270/head' of https://github.com/jpsim/Yams +70140a180ae63292c5189815d35480269087c306 not-for-merge 'refs/pull/271/head' of https://github.com/jpsim/Yams +69636568142f9b2809cd5626d3b649c3d181dc40 not-for-merge 'refs/pull/272/head' of https://github.com/jpsim/Yams +870b9696a226759dae93b6833c571bcff513583a not-for-merge 'refs/pull/273/head' of https://github.com/jpsim/Yams +623258e1d0fa90a988241f916b0f3379219d6def not-for-merge 'refs/pull/278/head' of https://github.com/jpsim/Yams +0205c5832621397fc2c19e90699c5c14fa078ba8 not-for-merge 'refs/pull/28/head' of https://github.com/jpsim/Yams +695616894f75bd84c1d4fd790a4c9651a1e03add not-for-merge 'refs/pull/280/head' of https://github.com/jpsim/Yams +c5d179a0115bbd9aec7e4a024c9eeb67dbd61049 not-for-merge 'refs/pull/281/head' of https://github.com/jpsim/Yams +89d75c839aecd50867b0b285c5565a1ddfcc6f7e not-for-merge 'refs/pull/282/head' of https://github.com/jpsim/Yams +3385e06ee5f068b3bb0beedbae2ee6cd875bbeb3 not-for-merge 'refs/pull/283/head' of https://github.com/jpsim/Yams +8bb0ae295c80f178da2db0e47cefd67943e4dd70 not-for-merge 'refs/pull/284/head' of https://github.com/jpsim/Yams +167e63245b3bc2fd19f06843fbb0483026e829a6 not-for-merge 'refs/pull/285/head' of https://github.com/jpsim/Yams +c8d6bbba113c1a9e3a40eac4e67fab6c15f017fb not-for-merge 'refs/pull/286/head' of https://github.com/jpsim/Yams +5a1735201d9e16c8ef85e5eb14ff55b42c51499e not-for-merge 'refs/pull/288/head' of https://github.com/jpsim/Yams +0442b32ae1b5c260dc4a4c69cd3adfb0d720c9f6 not-for-merge 'refs/pull/289/head' of https://github.com/jpsim/Yams +bc1a60cb6d77e6595b879b6a7d7aa396a205450d not-for-merge 'refs/pull/29/head' of https://github.com/jpsim/Yams +6c7242f2d778745269f39d8a90ed5399352f4601 not-for-merge 'refs/pull/290/head' of https://github.com/jpsim/Yams +4a3b991b0b443e8f3fa1d45b04ae1d27459102e3 not-for-merge 'refs/pull/291/head' of https://github.com/jpsim/Yams +382cbabdc152bf6e2d3ab484e1fc5f7ca0219435 not-for-merge 'refs/pull/293/head' of https://github.com/jpsim/Yams +6e6c00b85c5f69f3d700a7864224863bbb6445a3 not-for-merge 'refs/pull/294/head' of https://github.com/jpsim/Yams +000390d3d84249140a379fc4901a42f204c85fb7 not-for-merge 'refs/pull/296/head' of https://github.com/jpsim/Yams +8caa14d615184d6e4b369208684d01a5c6f7c47c not-for-merge 'refs/pull/297/head' of https://github.com/jpsim/Yams +4505131b49d8abcbb7dd95379f9eeb041fdb91f1 not-for-merge 'refs/pull/298/head' of https://github.com/jpsim/Yams +6f8c767b55b413261c1a69a0a521e03ba7568f4a not-for-merge 'refs/pull/30/head' of https://github.com/jpsim/Yams +a226953c3263e3a4c1655ac1e956c6c23dc5c7ee not-for-merge 'refs/pull/300/head' of https://github.com/jpsim/Yams +a1b06ff1fab0640da6a5f21b340a807f9828a9e5 not-for-merge 'refs/pull/302/head' of https://github.com/jpsim/Yams +dc0c50c86a0158c5d1d3ebb9e19db6cc4b42b64b not-for-merge 'refs/pull/303/head' of https://github.com/jpsim/Yams +e6f6e122ab8547358c2fb2cf59d3e7846a225e2b not-for-merge 'refs/pull/304/head' of https://github.com/jpsim/Yams +2d6cc25b603551fb42ec45c6a37e0fd1aa0ed9c9 not-for-merge 'refs/pull/305/head' of https://github.com/jpsim/Yams +444939bcf4a686c8713921072d56cf86930a5fff not-for-merge 'refs/pull/306/head' of https://github.com/jpsim/Yams +4927cc7612c61dd61a3471e3a85ac0c0b10cf0c0 not-for-merge 'refs/pull/307/head' of https://github.com/jpsim/Yams +957a1f26056f711aeafd484042901a042d35dfa9 not-for-merge 'refs/pull/308/head' of https://github.com/jpsim/Yams +35f3311b00d4dd711cb33079b97a4613056e45a3 not-for-merge 'refs/pull/309/head' of https://github.com/jpsim/Yams +054494580b1c140a539210ff44cfbd8d749c07ed not-for-merge 'refs/pull/31/head' of https://github.com/jpsim/Yams +f8bc5ed636d26e6cd2c69f5c9853250f377e2020 not-for-merge 'refs/pull/310/head' of https://github.com/jpsim/Yams +92c433fac153c3cf9474d6cb7ea68d0fd6ccbeba not-for-merge 'refs/pull/311/head' of https://github.com/jpsim/Yams +7026781452ecb4b7a3f72afe5eee34dc6f549c65 not-for-merge 'refs/pull/312/head' of https://github.com/jpsim/Yams +46aa9cafafde6cd5791a1e4312d38857f02277a8 not-for-merge 'refs/pull/313/head' of https://github.com/jpsim/Yams +722cd9eeec44fda359550a368d00a2d89abf778f not-for-merge 'refs/pull/314/head' of https://github.com/jpsim/Yams +8c972042bc908657b118f59341c72b84ae8b82ee not-for-merge 'refs/pull/315/head' of https://github.com/jpsim/Yams +504afd06adae8911d989f7e2d38f06955f43b92c not-for-merge 'refs/pull/315/merge' of https://github.com/jpsim/Yams +162ce859e9954ac592c787eb54d555e29b4f2c56 not-for-merge 'refs/pull/316/head' of https://github.com/jpsim/Yams +2f83b7f953be78c30da9bd125c332ad57691c6f6 not-for-merge 'refs/pull/318/head' of https://github.com/jpsim/Yams +7875f1943a6a16c25c386ef708f1994f75c70b53 not-for-merge 'refs/pull/319/head' of https://github.com/jpsim/Yams +fe6abb255927f8ecef9043c0954b90dd1b7917e4 not-for-merge 'refs/pull/320/head' of https://github.com/jpsim/Yams +35d92f14026ab51c476e2d149f5b473dc522bf5e not-for-merge 'refs/pull/320/merge' of https://github.com/jpsim/Yams +b26a28497184680e5df53122cc76299aa00317f0 not-for-merge 'refs/pull/322/head' of https://github.com/jpsim/Yams +aad759b9193e3f2c98c7a4257080fc91ecfe537f not-for-merge 'refs/pull/323/head' of https://github.com/jpsim/Yams +0c25d676a75c48fcaa5cb23d04a3c71f6b696f78 not-for-merge 'refs/pull/324/head' of https://github.com/jpsim/Yams +b2122b62004a92bd49c88827c866c7ceac57a9df not-for-merge 'refs/pull/326/head' of https://github.com/jpsim/Yams +1a5894d4cb845d7957e93f9a05ac76e50b0e007e not-for-merge 'refs/pull/329/head' of https://github.com/jpsim/Yams +79b7985649309f3643df0fb78e697e73fe83cc87 not-for-merge 'refs/pull/330/head' of https://github.com/jpsim/Yams +81a65c4069c28011ee432f2858ba0de49b086677 not-for-merge 'refs/pull/331/head' of https://github.com/jpsim/Yams +6972682a9b8da4c018a02feaaf0312df7bcb6c42 not-for-merge 'refs/pull/332/head' of https://github.com/jpsim/Yams +145a241c1912e8b7f056848f51e7c106cfec87c4 not-for-merge 'refs/pull/333/head' of https://github.com/jpsim/Yams +5b55ed9b18b659be7f54696697347852ec533ef4 not-for-merge 'refs/pull/334/head' of https://github.com/jpsim/Yams +b2c5a36f9d42d6cfdd14d566d740ec76a9ed7c52 not-for-merge 'refs/pull/335/head' of https://github.com/jpsim/Yams +88f0e5493f078ca26d5b62016e0bdf76e9e31738 not-for-merge 'refs/pull/336/head' of https://github.com/jpsim/Yams +0c3b6f94c31a94c1529a98a9641145cea89c4611 not-for-merge 'refs/pull/34/head' of https://github.com/jpsim/Yams +5afa61255a4ace913e9ad885a40864ee6662eb09 not-for-merge 'refs/pull/340/head' of https://github.com/jpsim/Yams +c2646d2ec9fb4079516f609a0cc55ef7190c5b74 not-for-merge 'refs/pull/342/head' of https://github.com/jpsim/Yams +9e522b0ed3c69817e86ae4a50f7b910ad53773e2 not-for-merge 'refs/pull/343/head' of https://github.com/jpsim/Yams +daf2fd1728568bf908f6d090188532cf76294a47 not-for-merge 'refs/pull/347/head' of https://github.com/jpsim/Yams +b01387ea2ff76a0b1d3d074622d217eadffced8e not-for-merge 'refs/pull/348/head' of https://github.com/jpsim/Yams +5f4be084266e0a22abdc1f72519af58166fba65c not-for-merge 'refs/pull/349/head' of https://github.com/jpsim/Yams +fb17cd5161d259ff3b67b762a7124f8805a83bcd not-for-merge 'refs/pull/35/head' of https://github.com/jpsim/Yams +368177f6cc66ad9c0ad624ef70ef70e456aed0ca not-for-merge 'refs/pull/350/head' of https://github.com/jpsim/Yams +108a304bbabc60d6c57acf6b94498684afc0a120 not-for-merge 'refs/pull/351/head' of https://github.com/jpsim/Yams +82ae94a4ec864a29be4096ae6fd23e88769d988f not-for-merge 'refs/pull/352/head' of https://github.com/jpsim/Yams +6a3b20ece8984978d88e0876f8f72c4bb2ce15a9 not-for-merge 'refs/pull/353/head' of https://github.com/jpsim/Yams +8be3eb89bec02eed608df421da8faa941f38d2fa not-for-merge 'refs/pull/354/head' of https://github.com/jpsim/Yams +371ef8b8e142268a84c0728ea29d8796b5315998 not-for-merge 'refs/pull/355/head' of https://github.com/jpsim/Yams +1bf7bc177721ab829b6e47a4a2c336fc9e1f7b1b not-for-merge 'refs/pull/359/head' of https://github.com/jpsim/Yams +2fc8121644498e5956a6d9eee57540cacd570473 not-for-merge 'refs/pull/36/head' of https://github.com/jpsim/Yams +d345aa59e92a93a6a29543452926042bb343174a not-for-merge 'refs/pull/360/head' of https://github.com/jpsim/Yams +32c4bdd770340dd432952ecb9f5b9f71ac024e6a not-for-merge 'refs/pull/361/head' of https://github.com/jpsim/Yams +07a53fb5f81eb8f0a145e4205105ef1323c06ac9 not-for-merge 'refs/pull/362/head' of https://github.com/jpsim/Yams +21a50a8adbabc7809f02150eb0afb10dfb7c7301 not-for-merge 'refs/pull/363/head' of https://github.com/jpsim/Yams +98b4d61d95e5b16ead50cd95409d8322daef1419 not-for-merge 'refs/pull/364/head' of https://github.com/jpsim/Yams +d6e912065ef2d10ce4a5af565a9d924df9b12e2c not-for-merge 'refs/pull/365/head' of https://github.com/jpsim/Yams +e3539cf942a966e1fb3f2f6dfba5bd49684cc174 not-for-merge 'refs/pull/366/head' of https://github.com/jpsim/Yams +6ecf13d300c8064ffbfef7639af7356f760d51da not-for-merge 'refs/pull/367/head' of https://github.com/jpsim/Yams +db239814513ff579ac2f41b79fb418aecd139938 not-for-merge 'refs/pull/37/head' of https://github.com/jpsim/Yams +ad033dc086627dd45718ae4c861bb1a19b3d59c6 not-for-merge 'refs/pull/370/head' of https://github.com/jpsim/Yams +539056a4b0bf6bd3e091d16d9c1f9aaa68205abe not-for-merge 'refs/pull/371/head' of https://github.com/jpsim/Yams +b47a1d81072c8f9f77e194b766f660fc4cb9aaf9 not-for-merge 'refs/pull/372/head' of https://github.com/jpsim/Yams +40d4cd992f3ff8955c7868cb67bc84dc34348ffd not-for-merge 'refs/pull/373/head' of https://github.com/jpsim/Yams +12a673d6e47dbd627de403fb032ad8b00aab47b5 not-for-merge 'refs/pull/374/head' of https://github.com/jpsim/Yams +59ef20abdb7ad52ef3d5455a0d945ad43e294732 not-for-merge 'refs/pull/374/merge' of https://github.com/jpsim/Yams +f17918605f007b8dd90b4ef846814dfeb834e5a4 not-for-merge 'refs/pull/375/head' of https://github.com/jpsim/Yams +adf042a540b4260cd00dacaabf11ab965e6266d2 not-for-merge 'refs/pull/376/head' of https://github.com/jpsim/Yams +76e462e1505e8caa4cf5971d1e558d05c68946cc not-for-merge 'refs/pull/377/head' of https://github.com/jpsim/Yams +94525cddb774b2133f6444b4bc0cffd522d9a316 not-for-merge 'refs/pull/378/head' of https://github.com/jpsim/Yams +7dc39f98f540e683a24db894a2c363c084271a77 not-for-merge 'refs/pull/379/head' of https://github.com/jpsim/Yams +0966ba77e2a39011273d6a7c9bd7308bc0020a75 not-for-merge 'refs/pull/380/head' of https://github.com/jpsim/Yams +065510b2a50c510ffc826820bc9a903001da275d not-for-merge 'refs/pull/381/head' of https://github.com/jpsim/Yams +7e8c2d2629329be0ae65a1b38ab53375a63d88fd not-for-merge 'refs/pull/382/head' of https://github.com/jpsim/Yams +07f3805a79c2e039254ba50d0f65b04655d9e1fe not-for-merge 'refs/pull/383/head' of https://github.com/jpsim/Yams +0acb5292123a0c8e1bb94e50c03c57d3baacd6b9 not-for-merge 'refs/pull/385/head' of https://github.com/jpsim/Yams +3a299069c6b961969a5b7a77f541078f27baee90 not-for-merge 'refs/pull/386/head' of https://github.com/jpsim/Yams +4ef5d831ec45223abbe438ab43dc4da8552548f6 not-for-merge 'refs/pull/388/head' of https://github.com/jpsim/Yams +1feeaa39cda7023316f7f8155248adabb7e5de7a not-for-merge 'refs/pull/389/head' of https://github.com/jpsim/Yams +8d7ed4aab88f78ea25045a543dc4a4e077d55058 not-for-merge 'refs/pull/390/head' of https://github.com/jpsim/Yams +db35ba07d1b4f43968d74353e0f52b1f84490316 not-for-merge 'refs/pull/391/head' of https://github.com/jpsim/Yams +6f776df4db0f8da01aeed13059b6381f1e3fbb62 not-for-merge 'refs/pull/392/head' of https://github.com/jpsim/Yams +1bf3f98e7adf98da54f3bb2f2ae5532ca82d53ca not-for-merge 'refs/pull/394/head' of https://github.com/jpsim/Yams +efb1010ff382c31365c2b1c55ef3967c6da52c8a not-for-merge 'refs/pull/395/head' of https://github.com/jpsim/Yams +21b4d871e011c0de1f5037f852d7df33948bf666 not-for-merge 'refs/pull/396/head' of https://github.com/jpsim/Yams +ae37643a76687cc955d7b8c290208db6ee9e1785 not-for-merge 'refs/pull/397/head' of https://github.com/jpsim/Yams +90b9a9eac772183372b63c2b3c0b26de024e254f not-for-merge 'refs/pull/398/head' of https://github.com/jpsim/Yams +161299fd0f23cb9c0f866071e05fb9f4058d2787 not-for-merge 'refs/pull/4/head' of https://github.com/jpsim/Yams +0394f746a9386ed13533164a816fa9df44178676 not-for-merge 'refs/pull/40/head' of https://github.com/jpsim/Yams +e4d9028f878b21135b3b41cac58a293f6641e535 not-for-merge 'refs/pull/401/head' of https://github.com/jpsim/Yams +c1143bba4ef2cf2f16d59dddfc0a3327a32cf64d not-for-merge 'refs/pull/402/head' of https://github.com/jpsim/Yams +fe23eb983795301b57e38ffc8721c9b7011f2d83 not-for-merge 'refs/pull/403/head' of https://github.com/jpsim/Yams +dcc5b8f32cf44e81e1ac33d967114e3897d76f5a not-for-merge 'refs/pull/406/head' of https://github.com/jpsim/Yams +a6433c50e4f4d50bd042fa6cc94ee544bc046c9e not-for-merge 'refs/pull/407/head' of https://github.com/jpsim/Yams +ffe705fe1652e3f64fd69d1d99ac64e927793ebb not-for-merge 'refs/pull/409/head' of https://github.com/jpsim/Yams +eeffceaae9ea81c0afea25ed844609088326ba8e not-for-merge 'refs/pull/41/head' of https://github.com/jpsim/Yams +65bd8b4d5442f898e4478bd503bc4404c448d3bf not-for-merge 'refs/pull/410/head' of https://github.com/jpsim/Yams +eae27a4fdccce943759468fe8033e41eb95a4ec0 not-for-merge 'refs/pull/411/head' of https://github.com/jpsim/Yams +7c5a506497238ac73be3b90c563bcc9a87dda182 not-for-merge 'refs/pull/412/head' of https://github.com/jpsim/Yams +980278e758b4584ffcc7cfdb7cebb2268bbada51 not-for-merge 'refs/pull/413/head' of https://github.com/jpsim/Yams +a1631911910a469388e1f775f0a456fa7371ebbb not-for-merge 'refs/pull/414/head' of https://github.com/jpsim/Yams +8016dc6ededa33cbc7d3bd9771dd40cea1dac98f not-for-merge 'refs/pull/416/head' of https://github.com/jpsim/Yams +4146f235b429d369d91d68fba0c4ae502555f5fc not-for-merge 'refs/pull/417/head' of https://github.com/jpsim/Yams +ba843cb84065bd9c7ab8a67351418b2406fcdc66 not-for-merge 'refs/pull/418/head' of https://github.com/jpsim/Yams +a530ea8c1c6309fd2abebdaa5e2e861da5731d0a not-for-merge 'refs/pull/419/head' of https://github.com/jpsim/Yams +1c60dfe7e1395347f58f5913e6846514dd9d475d not-for-merge 'refs/pull/42/head' of https://github.com/jpsim/Yams +76b2529a4877b83d091703767a99526af6234773 not-for-merge 'refs/pull/420/head' of https://github.com/jpsim/Yams +5422d4c69bb198340bc73f10482121357036d405 not-for-merge 'refs/pull/421/head' of https://github.com/jpsim/Yams +0107d720ec779e7180d27cde8a73022ce7d53fa5 not-for-merge 'refs/pull/422/head' of https://github.com/jpsim/Yams +fef5111c7332f9755345583bf5edfedf5deecf9d not-for-merge 'refs/pull/423/head' of https://github.com/jpsim/Yams +c0b5f1ac010a4db0b9c57d48084b9254aaa88127 not-for-merge 'refs/pull/424/head' of https://github.com/jpsim/Yams +d9342ff1f379b85987f44a8021acc4e694a55299 not-for-merge 'refs/pull/426/head' of https://github.com/jpsim/Yams +26bc0a45d8f5752095378b97903e597ca894279d not-for-merge 'refs/pull/426/merge' of https://github.com/jpsim/Yams +372195aa813660ebac3c14de04e7271c1faddbc3 not-for-merge 'refs/pull/427/head' of https://github.com/jpsim/Yams +630e59e3f50cdc7ef42b398acfd0d6b78bbcd70e not-for-merge 'refs/pull/428/head' of https://github.com/jpsim/Yams +697b6d7a39b02e20a7ba9b1370e08e792131b1e5 not-for-merge 'refs/pull/43/head' of https://github.com/jpsim/Yams +56ca4dc077e1737d3247c335bf5937d82e46bb05 not-for-merge 'refs/pull/430/head' of https://github.com/jpsim/Yams +af1695910a9bd97a90f1371ffd82c73ef7aa1fea not-for-merge 'refs/pull/431/head' of https://github.com/jpsim/Yams +e5b27bf62cb6b13e413076a55a4c5c7b609130bf not-for-merge 'refs/pull/432/head' of https://github.com/jpsim/Yams +19092535b4fa35b64fad556a7537a1a5633971a1 not-for-merge 'refs/pull/433/head' of https://github.com/jpsim/Yams +aa95fb6806b6d0be2fd6fe4b4c2bda0a3ebe407d not-for-merge 'refs/pull/434/head' of https://github.com/jpsim/Yams +65a8c8fcea291e83ab8ff1a17f2855fbd3c5ef6f not-for-merge 'refs/pull/434/merge' of https://github.com/jpsim/Yams +269be3c94b32a15613a9b643f97bef5c517d0d85 not-for-merge 'refs/pull/435/head' of https://github.com/jpsim/Yams +4ab833c9b1e3fdaabf9b71b84e801dcf38436f79 not-for-merge 'refs/pull/436/head' of https://github.com/jpsim/Yams +c8b1aabcfb18486345bbd3803103acff321f6013 not-for-merge 'refs/pull/437/head' of https://github.com/jpsim/Yams +3fe2b5c823bba43811ab7f5665c6e6560cf7069c not-for-merge 'refs/pull/438/head' of https://github.com/jpsim/Yams +39a90ed485e3bd77c0e0af555a70c23ca6efacd1 not-for-merge 'refs/pull/439/head' of https://github.com/jpsim/Yams +bc6c9d566b95a2c6c9b88d8e83742889dd7d9282 not-for-merge 'refs/pull/44/head' of https://github.com/jpsim/Yams +6c95f36079f40aae11696269a860fd8212db05ed not-for-merge 'refs/pull/440/head' of https://github.com/jpsim/Yams +837a1786e3de77975f5e62f7faef81f986ff843c not-for-merge 'refs/pull/441/head' of https://github.com/jpsim/Yams +2aece883bc6fbf1be016b6dc40624542d1128309 not-for-merge 'refs/pull/443/head' of https://github.com/jpsim/Yams +ac032ca19f085fb2d62f76ed50e685d1f15d013e not-for-merge 'refs/pull/445/head' of https://github.com/jpsim/Yams +98278a40383094964fd1476db2fddafffe0a51aa not-for-merge 'refs/pull/446/head' of https://github.com/jpsim/Yams +465a4e06af176aa8f8c1ff331d8febbed36ce495 not-for-merge 'refs/pull/447/head' of https://github.com/jpsim/Yams +ba60d03c4442cc6cfb4fafd57df10197e92fb8fc not-for-merge 'refs/pull/448/head' of https://github.com/jpsim/Yams +c5af347c0cf2fa33e56dc0fe9b274a4239401d4d not-for-merge 'refs/pull/449/head' of https://github.com/jpsim/Yams +936eb2f899897c04e6689c88ded3d9f49afbeddb not-for-merge 'refs/pull/45/head' of https://github.com/jpsim/Yams +8da2672fdc7886dadc943b778a0c65672d8d9f84 not-for-merge 'refs/pull/450/head' of https://github.com/jpsim/Yams +fb676da5b91f677ab8e8d06b7fcde45b25181531 not-for-merge 'refs/pull/452/head' of https://github.com/jpsim/Yams +d3cda17e7ddddade3edb3a6df5b512f054782388 not-for-merge 'refs/pull/452/merge' of https://github.com/jpsim/Yams +5f525b9286de8e29c8ab3f6089cbb629ad9cc649 not-for-merge 'refs/pull/453/head' of https://github.com/jpsim/Yams +70b4a065f9982de6eac2063fdb7b0b43e8773411 not-for-merge 'refs/pull/453/merge' of https://github.com/jpsim/Yams +eb4c543d76b38d5faa893798cead3429e28409f5 not-for-merge 'refs/pull/454/head' of https://github.com/jpsim/Yams +ea41c9d6282305368cb375cfa12505f702acce9e not-for-merge 'refs/pull/455/head' of https://github.com/jpsim/Yams +8253ab8661e5b577b40d9a56a7770e9f4afd0458 not-for-merge 'refs/pull/456/head' of https://github.com/jpsim/Yams +5716ba372d0fc818e7f7b8759e02285c22c179e1 not-for-merge 'refs/pull/46/head' of https://github.com/jpsim/Yams +6714123433fda582c5920ba4aa5e2f99876edd8b not-for-merge 'refs/pull/47/head' of https://github.com/jpsim/Yams +b6d12c47d5d33100c08e042fd9883f740ee5de26 not-for-merge 'refs/pull/48/head' of https://github.com/jpsim/Yams +ceec9f44ee14e2adbdb332a3d00eb9774aa35316 not-for-merge 'refs/pull/49/head' of https://github.com/jpsim/Yams +ba1ebe23f664e5dda124298f5f7d1178ddea6625 not-for-merge 'refs/pull/5/head' of https://github.com/jpsim/Yams +30460c1d77cd97901ffa46e3fbbf00d4c43bbb42 not-for-merge 'refs/pull/50/head' of https://github.com/jpsim/Yams +87fc915516a42d00f75a48476feacd3741da5802 not-for-merge 'refs/pull/51/head' of https://github.com/jpsim/Yams +8eca662b1964023b788054da94514b76b059029c not-for-merge 'refs/pull/52/head' of https://github.com/jpsim/Yams +db42c6ae7c1e3bf0afbc868b797483fdfabddd13 not-for-merge 'refs/pull/56/head' of https://github.com/jpsim/Yams +e19764db26912abf876f111538cb9193f75f9bf9 not-for-merge 'refs/pull/57/head' of https://github.com/jpsim/Yams +ff1309dc4cf623f1e9030e5ada67c0910df73399 not-for-merge 'refs/pull/58/head' of https://github.com/jpsim/Yams +44a4559d418f5b3eb24676f4f8ca30f477ff0665 not-for-merge 'refs/pull/59/head' of https://github.com/jpsim/Yams +2f8317cefd4b7029b8f841b1fb7d8103fc72e743 not-for-merge 'refs/pull/61/head' of https://github.com/jpsim/Yams +dad95c8fdc1fe10d3026141ce6bbb035a86c9be4 not-for-merge 'refs/pull/63/head' of https://github.com/jpsim/Yams +d9a494df4133d4d0ae7da31f8dede538c064bffa not-for-merge 'refs/pull/65/head' of https://github.com/jpsim/Yams +57bea50b1fa38ad468ae9523bd9fee22e0aff23a not-for-merge 'refs/pull/66/head' of https://github.com/jpsim/Yams +fca1884689276425aa3c6b342e69cccb5f2386c4 not-for-merge 'refs/pull/67/head' of https://github.com/jpsim/Yams +08a54775a1809f47656da03b2ea985e73d35d080 not-for-merge 'refs/pull/68/head' of https://github.com/jpsim/Yams +d042cd59d3b99948c1f8e6822e163a8302aa8dbb not-for-merge 'refs/pull/69/head' of https://github.com/jpsim/Yams +efe8f946e733c6728166998f0f8de05ceab25163 not-for-merge 'refs/pull/74/head' of https://github.com/jpsim/Yams +bace16520894302143029db98594406a0eed54c3 not-for-merge 'refs/pull/75/head' of https://github.com/jpsim/Yams +32a69a53870ab52c525713ed28b4dece0976fd2e not-for-merge 'refs/pull/76/head' of https://github.com/jpsim/Yams +a1be601a8017d7da7d2c337096b12ce320f8e14f not-for-merge 'refs/pull/77/head' of https://github.com/jpsim/Yams +a684d72b935910c41ec92c6653e09cde754fb627 not-for-merge 'refs/pull/78/head' of https://github.com/jpsim/Yams +1c50e922d6b1826d61f1dafdd0955d2cce50f346 not-for-merge 'refs/pull/79/head' of https://github.com/jpsim/Yams +2c615cbf038dce6ea94e4111b52f06a826953ad6 not-for-merge 'refs/pull/80/head' of https://github.com/jpsim/Yams +af17b278dd7b7aa991ae764cf80979bd73ce48c9 not-for-merge 'refs/pull/81/head' of https://github.com/jpsim/Yams +5dc5062fc4d765252898a69efabc630e4b5c6187 not-for-merge 'refs/pull/82/head' of https://github.com/jpsim/Yams +f67334658951d7808c4e02bd5c24232dfd4a0c48 not-for-merge 'refs/pull/83/head' of https://github.com/jpsim/Yams +ab2fa7c264a8d1dd83da1468cd32d40cfa281487 not-for-merge 'refs/pull/85/head' of https://github.com/jpsim/Yams +65d389707a1a58cff481ed345f5206d323624f6e not-for-merge 'refs/pull/86/head' of https://github.com/jpsim/Yams +5438bdf20cef4f7a23482beeea0f69faec9432db not-for-merge 'refs/pull/87/head' of https://github.com/jpsim/Yams +c34c48490d61f9ee94483aa5e813458d4fd5c31b not-for-merge 'refs/pull/88/head' of https://github.com/jpsim/Yams +0ec317f1eb421a2e7ae0446fe53c1afe9ba665a0 not-for-merge 'refs/pull/89/head' of https://github.com/jpsim/Yams +8a29646619a6ec68067e01e3cbc05122944068ca not-for-merge 'refs/pull/9/head' of https://github.com/jpsim/Yams +d86691b2224901271e783755c1c4bccd8a1adf09 not-for-merge 'refs/pull/90/head' of https://github.com/jpsim/Yams +b1ecf4ffb529724a074ca07d4c282aadd8620fd3 not-for-merge 'refs/pull/91/head' of https://github.com/jpsim/Yams +9bd581032d0602d322e417cef310f86ffcc469ad not-for-merge 'refs/pull/92/head' of https://github.com/jpsim/Yams +d391c866c587fe429ade2e703bccc8d724cf9ffe not-for-merge 'refs/pull/93/head' of https://github.com/jpsim/Yams +bc25555f731495219e8b4208b20fe660f48c7839 not-for-merge 'refs/pull/94/head' of https://github.com/jpsim/Yams +fa1c7ba2a84e23ff881085dca8880eb532e4f3d4 not-for-merge 'refs/pull/95/head' of https://github.com/jpsim/Yams +3b1bc6b43584536b48d8e0406e8496b3bfa191fa not-for-merge 'refs/pull/95/merge' of https://github.com/jpsim/Yams +97aef3466cfe7195b1d06800b7aa2af725c5a7b2 not-for-merge 'refs/pull/96/head' of https://github.com/jpsim/Yams +cd0894673cb6031efe4dec702d74d229d2fc8794 not-for-merge 'refs/pull/97/head' of https://github.com/jpsim/Yams +d18166f53a74d06e4cf4e6f99a28de3d189c307f not-for-merge 'refs/pull/98/head' of https://github.com/jpsim/Yams +f7165ec80eadd515ea821c2be7b9d36f45c93a7f not-for-merge tag '0.1.0' of https://github.com/jpsim/Yams +a14ba01309cd63231c997305740edbbed6ad2298 not-for-merge tag '0.1.1' of https://github.com/jpsim/Yams +9a3f911889e6214ef6c28335d09644be4d8f588d not-for-merge tag '0.1.2' of https://github.com/jpsim/Yams +84c11af20487be97e3a238a9a2293a62b634cd82 not-for-merge tag '0.1.3' of https://github.com/jpsim/Yams +b64e0a230dc3c4f82cac1c8c46ae3def602131f6 not-for-merge tag '0.1.4' of https://github.com/jpsim/Yams +4f6c06d0a056927b9853927b3dc40322b242f7ff not-for-merge tag '0.1.5' of https://github.com/jpsim/Yams +aa10b5159640b8aa006ed7f7d51db4b35d9c37d3 not-for-merge tag '0.2.0' of https://github.com/jpsim/Yams +1be45e57a3d7c11199b2b123e4a57dff5150a412 not-for-merge tag '0.3.0' of https://github.com/jpsim/Yams +00e56ef3ef0f80c4f32b6846484ba5a9ab856d5a not-for-merge tag '0.3.1' of https://github.com/jpsim/Yams +acf403cb0d950a2d58ea8c63ce001deac2fde222 not-for-merge tag '0.3.2' of https://github.com/jpsim/Yams +0728fc42e9db36f457183fba6bad1508cfd43423 not-for-merge tag '0.3.3' of https://github.com/jpsim/Yams +7956ce071444883980e3eb813120a2d0e966178a not-for-merge tag '0.3.4' of https://github.com/jpsim/Yams +c7518628d011fbd096ebe75d76d3574dc62d17dc not-for-merge tag '0.3.5' of https://github.com/jpsim/Yams +00b9da45d6c40b5b434fcfbfaaa654a3c2d9f499 not-for-merge tag '0.3.6' of https://github.com/jpsim/Yams +55e2d023b9ee397b8ddd5f20d88c300aec7fe267 not-for-merge tag '0.3.7' of https://github.com/jpsim/Yams +5a4a6863d78c032ccafa1d90c86a3961b17a6982 not-for-merge tag '0.4.0' of https://github.com/jpsim/Yams +90a76f3cdb552b8e6aea5dabdd6c3578b8a7ad45 not-for-merge tag '0.4.1' of https://github.com/jpsim/Yams +95f45caf07472ec78223ebada45255086a85b01a not-for-merge tag '0.5.0' of https://github.com/jpsim/Yams +de06b2c819bb12e95bcdf75075b3336a8890e67c not-for-merge tag '0.6.0' of https://github.com/jpsim/Yams +6652aa7b793d3c8a075db0614acb575fcaecf457 not-for-merge tag '0.7.0' of https://github.com/jpsim/Yams +618582e09699b577fa183bab7d88e3ee7d9a1d19 not-for-merge tag '1.0.0' of https://github.com/jpsim/Yams +26ab35f50ea891e8edefcc9d975db2f6b67e1d68 not-for-merge tag '1.0.1' of https://github.com/jpsim/Yams +809616f5af8d9a1ecd6273dc3eec506f5caac216 not-for-merge tag '1.0.2' of https://github.com/jpsim/Yams +c947a306d2e80ecb2c0859047b35c73b8e1ca27f not-for-merge tag '2.0.0' of https://github.com/jpsim/Yams +6659fd1e93d657be9268f1af0b46d9b1ed471786 not-for-merge tag '3.0.0' of https://github.com/jpsim/Yams +80df28a5defd8b2df0fcadb0c8893cc76f5a92b0 not-for-merge tag '3.0.1' of https://github.com/jpsim/Yams +0913be6b88dc9d344475def1e978ac3a1a397537 not-for-merge tag '4.0.0' of https://github.com/jpsim/Yams +c70a8c283e177f3d4024b9c0c1717e60d7488bcf not-for-merge tag '4.0.1' of https://github.com/jpsim/Yams +3f3893973d3db086513efa2d6d7f3a5d0c93b1fa not-for-merge tag '4.0.2' of https://github.com/jpsim/Yams +b27221a60f0f81467618fec69b4ad36d3b34ef88 not-for-merge tag '4.0.3' of https://github.com/jpsim/Yams +a2f7b1c953e8a4d87e3bd952e7165ef9c24df7d8 not-for-merge tag '4.0.4' of https://github.com/jpsim/Yams +7cacda1bdcc71091cbac644e26241dd4a4b854e1 not-for-merge tag '4.0.5' of https://github.com/jpsim/Yams +07ac68ad9af8d48a422f014071106b4199452aee not-for-merge tag '4.0.6' of https://github.com/jpsim/Yams +07e991f160a4b221faa27ca6052c85f9720f2d5c not-for-merge tag '5.0.0' of https://github.com/jpsim/Yams +5ac79670f555eecfc221beeb56d3819d33bbaeae not-for-merge tag '5.0.1' of https://github.com/jpsim/Yams +10c06ebf8e902c47b0cddcbf6f816669a799664f not-for-merge tag '5.0.2' of https://github.com/jpsim/Yams +215200df6091282318ad58ce3064196965d515e8 not-for-merge tag '5.0.3' of https://github.com/jpsim/Yams +1135dccd3a950c478e9a5a097e6c2e992f6b9910 not-for-merge tag '5.0.4' of https://github.com/jpsim/Yams +f1a474007e370d138c1bc46579da55880b71112f not-for-merge tag '5.0.5' of https://github.com/jpsim/Yams +d6ec9fcf4c293bf5ef63f7c1c107e51e7c781a69 not-for-merge tag '5.0.6' of https://github.com/jpsim/Yams +d2bbfcbacf20dd7165fad55739e89a5d1f1694a8 not-for-merge tag '5.1.0' of https://github.com/jpsim/Yams +6cec4e57e777e513c025ab0e2bb5f82cdfcfd729 not-for-merge tag '5.1.1' of https://github.com/jpsim/Yams +9efcc935d1861061cbca3a908a99842989632d97 not-for-merge tag '5.1.2' of https://github.com/jpsim/Yams +e1a7c47aba0ccc9d3562abf4ccd94a3760f6b0b4 not-for-merge tag '5.1.3' of https://github.com/jpsim/Yams +db9ff235cf800bc657c3ed0961078fc231d0f28b not-for-merge tag '5.2.0' of https://github.com/jpsim/Yams +2688707e563b44d7d87c29ba6c5ca04ce86ae58b not-for-merge tag '5.3.0' of https://github.com/jpsim/Yams +b4b8042411dc7bbb696300a34a4bf3ba1b7ad19b not-for-merge tag '5.3.1' of https://github.com/jpsim/Yams +3d6871d5b4a5cd519adf233fbb576e0a2af71c17 not-for-merge tag '5.4.0' of https://github.com/jpsim/Yams +9281f8c99aff4f4a55dce22ae29b1181c935caa5 not-for-merge tag '6.0.0' of https://github.com/jpsim/Yams diff --git a/.build/repositories/Yams-fd9f2519/HEAD b/.build/repositories/Yams-fd9f2519/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/Yams-fd9f2519/config b/.build/repositories/Yams-fd9f2519/config new file mode 100644 index 0000000..7095baa --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/jpsim/Yams + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/Yams-fd9f2519/description b/.build/repositories/Yams-fd9f2519/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/Yams-fd9f2519/hooks/applypatch-msg.sample b/.build/repositories/Yams-fd9f2519/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/Yams-fd9f2519/hooks/commit-msg.sample b/.build/repositories/Yams-fd9f2519/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/Yams-fd9f2519/hooks/fsmonitor-watchman.sample b/.build/repositories/Yams-fd9f2519/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/Yams-fd9f2519/hooks/post-update.sample b/.build/repositories/Yams-fd9f2519/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/Yams-fd9f2519/hooks/pre-applypatch.sample b/.build/repositories/Yams-fd9f2519/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/Yams-fd9f2519/hooks/pre-commit.sample b/.build/repositories/Yams-fd9f2519/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/Yams-fd9f2519/hooks/pre-merge-commit.sample b/.build/repositories/Yams-fd9f2519/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/Yams-fd9f2519/hooks/pre-push.sample b/.build/repositories/Yams-fd9f2519/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/Yams-fd9f2519/hooks/pre-rebase.sample b/.build/repositories/Yams-fd9f2519/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/Yams-fd9f2519/hooks/pre-receive.sample b/.build/repositories/Yams-fd9f2519/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/Yams-fd9f2519/hooks/prepare-commit-msg.sample b/.build/repositories/Yams-fd9f2519/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/Yams-fd9f2519/hooks/push-to-checkout.sample b/.build/repositories/Yams-fd9f2519/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/Yams-fd9f2519/info/exclude b/.build/repositories/Yams-fd9f2519/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/Yams-fd9f2519/objects/pack/pack-4f2c7e9360bde9883caed4a3d687772523359384.idx b/.build/repositories/Yams-fd9f2519/objects/pack/pack-4f2c7e9360bde9883caed4a3d687772523359384.idx new file mode 100644 index 0000000..f8f4d2a Binary files /dev/null and b/.build/repositories/Yams-fd9f2519/objects/pack/pack-4f2c7e9360bde9883caed4a3d687772523359384.idx differ diff --git a/.build/repositories/Yams-fd9f2519/objects/pack/pack-4f2c7e9360bde9883caed4a3d687772523359384.pack b/.build/repositories/Yams-fd9f2519/objects/pack/pack-4f2c7e9360bde9883caed4a3d687772523359384.pack new file mode 100644 index 0000000..936936d Binary files /dev/null and b/.build/repositories/Yams-fd9f2519/objects/pack/pack-4f2c7e9360bde9883caed4a3d687772523359384.pack differ diff --git a/.build/repositories/Yams-fd9f2519/packed-refs b/.build/repositories/Yams-fd9f2519/packed-refs new file mode 100644 index 0000000..817196c --- /dev/null +++ b/.build/repositories/Yams-fd9f2519/packed-refs @@ -0,0 +1,451 @@ +# pack-refs with: peeled fully-peeled sorted +5f525b9286de8e29c8ab3f6089cbb629ad9cc649 refs/heads/depend_on_foundation_essentials +d783204fbff0650bf8c052c233616bd5c1cac645 refs/heads/gh-pages +1f5cc7ac33a8f134b007e1d91b9502a68a4693fc refs/heads/jp-no-foundation +a99c294290caffd7d5acf52fdc9bd5746b613b69 refs/heads/jp-swiftlint-deadcode +0f26ab3879c81c9d8689b4f4cc19235796a667f2 refs/heads/lynchsft-windows-failure-test-1 +ac032ca19f085fb2d62f76ed50e685d1f15d013e refs/heads/lynchsft-windows-failure-test-1-1 +9281f8c99aff4f4a55dce22ae29b1181c935caa5 refs/heads/main +b6ef8cc0d6a0a11f76b2120189f80ace182acf13 refs/heads/nn-key-coding-strategy-2 +e6795b346147a64f492eddd771fc185dbcf79480 refs/heads/rules_xcodeproj +79b7985649309f3643df0fb78e697e73fe83cc87 refs/heads/use-swift-dtoa +81a65c4069c28011ee432f2858ba0de49b086677 refs/heads/yams-3-branch +90168b0ab415fbfee6b896a94aa3f95dfbcd061a refs/pull/1/head +8122e411ed614c3e3acc24bba1f570bb2f3d8774 refs/pull/10/head +a79363008dee0a01c5da22a60427b17d7a0e6127 refs/pull/101/head +80c54fd5caf0de70e86fb0fd9dff96ada7755020 refs/pull/103/head +c241a3e75733883b595cb792a405ed2361530e83 refs/pull/104/head +111664fbc168544b20fdbbfa881f300435fb5858 refs/pull/105/head +be02fa61a7b67e4e0a072df999c191083f52a94f refs/pull/107/head +51d400026f8a50dbf050a25af3ea589dc75e653b refs/pull/108/head +e86b4fa03b2855ef601062a03bb262a34915696c refs/pull/108/merge +df6658ed8e65c8cdae7f6a224c673a69be432588 refs/pull/109/head +388ef180c23a372a16f4f19067b40d0c004bf3f9 refs/pull/11/head +4ad289a5245862ef714f8e56412ccb9b5abd91c5 refs/pull/11/merge +778e09c3c0ad14342e4ddff08c411e477d46e773 refs/pull/110/head +e34e15dbd62f46d9d7c580e63eb63f84c5a429b6 refs/pull/111/head +e544b1614edf3aa839d56eef9ad8396a414da0ac refs/pull/112/head +ce04cd33a1b96ae30340978ef5bf1b57f979ccfa refs/pull/113/head +87dc4c4bb8803628e464703c36f905dbf4b592ec refs/pull/114/head +5fd4f2e99a860ea184659a845d29298b6458c44d refs/pull/115/head +9711d6b62a3c6d1c3a028aaf8586d92495addb40 refs/pull/117/head +33b5dafd2c15e497ca757316076cfe2917fe6247 refs/pull/118/head +3dfecd8f63d544bf6c0232c1487162992dd4c01a refs/pull/119/head +f5c2b3330c9fa8c6f89f7aa013e4c752a7529372 refs/pull/12/head +0c58de53ba0c5ef29db485c0b4cf8cfa2a0bb786 refs/pull/120/head +313b68d8dd2da633361c8dbaff30732f9febbcb4 refs/pull/122/head +9eaf812eca28669bffd2941fea64a85320f5801e refs/pull/123/head +681c0559878b5d77702057e0680858c4c853d3fd refs/pull/126/head +4c888839d8c0f01430e73383c5afb57c0783a62c refs/pull/127/head +30104f5aa4e6652786ff630373dc6e03b994843a refs/pull/128/head +7f9eff99a266e147a418aea5f390ee6bfb0b9c80 refs/pull/129/head +46d43d2d46398a6f272b062650c1b7189beefbf7 refs/pull/13/head +dc1ff8a6e12d44e3db4b42bb8c048de1b47d8397 refs/pull/132/head +9e8ab817aff530f8597f3863e6501990002733a1 refs/pull/134/head +8c58c332d5c1c7d9562a767b0b1caf2c61c230bf refs/pull/135/head +985ed113dec90ec0d079f3e3a6d479a0c7e5dd43 refs/pull/136/head +3f134c41b6ef846e6cfea16a536bafdd9f141773 refs/pull/137/head +0f3bf694b9a937bd1603576bd9cacb748db09b7e refs/pull/138/head +0ab562d39fef88c8ff0041992238888582ed547f refs/pull/139/head +7d914f5e42ec47361cf65aa44e8a512e3305445e refs/pull/14/head +06b9c9e416f356bee4a1ebbfea5c294ee7793706 refs/pull/140/head +668446c52029b5ae4cdc4cb05de962cdec72694e refs/pull/141/head +b43c429ff005c6841f9824fb076521e5c04520ed refs/pull/142/head +681cf3a8846a06b1df0f0540965f4a2aaac4ff98 refs/pull/144/head +30e20fb9a0209236d23683933ce918661865ed23 refs/pull/145/head +0174a8517aa76fae4d9522e859b76d5f70ee9b18 refs/pull/146/head +55cc7277ad3f9a81be58b12cab6d81ba0b457dce refs/pull/147/head +e57e137c8402ed8e676358f7c2e9092e10369322 refs/pull/148/head +d1aa40536dd716e324cc1ce29e0855b043637c75 refs/pull/149/head +7a57411c9e4e11f08abf055ca1a808ce5c5465ae refs/pull/15/head +df5ed050e4a94c3d8b2e86056d4462d1f2dff703 refs/pull/150/head +3ea80016e45ed43b4234524421da58290fa42304 refs/pull/151/head +d4feb1514087f68b2b857ede9ab8ff26f45cef7b refs/pull/152/head +3044bb8dbb725415045f9597d9b73b9d4faa194b refs/pull/153/head +058b2bd2c840d6ec1fcc50058699eb3441be7cf4 refs/pull/154/head +98b0174684eb81235c837fd0c4a8d6d114dfa0ee refs/pull/155/head +34160742402ec71897348b4aed4e3f08c7156914 refs/pull/158/head +304604546718eba398dde11223b9f58af9b668c6 refs/pull/159/head +a19cccf82a4f5f1de282faad23c393c104ee68e1 refs/pull/16/head +1c01c5fb39a3a7c3254645675e0b317b195cb65f refs/pull/161/head +bfc4f06dc2141304b9510ab66bab17827a22ce8a refs/pull/162/head +14f183e1b47cf30cd346e82420cb4ad3f5b491fe refs/pull/163/head +f537e7d1406322ecce925331bf067cb908e8a1ac refs/pull/164/head +b73b7265c51536991c13cf26c9a4d1f838bd4fe5 refs/pull/165/head +2becf0f6e09684e5d8a4f0f57218b5f3db721b07 refs/pull/166/head +fb05fa48034faf07bad1bf9e229f1e072c773226 refs/pull/167/head +83f2ae99a4d798a9104732585e20fcade2473739 refs/pull/168/head +7c9b974a9e9b41cc46605ad14089c6ef4ef969a6 refs/pull/169/head +848d5e381995969415bbf1121aa1f721900fff36 refs/pull/17/head +03c1652568eeffea3f39676939b1d6d4584533d0 refs/pull/170/head +edf07b91a448f7fed85b2a50a329b86d2219c397 refs/pull/171/head +c2727acd1027430851813c32465f35fe9d38acb3 refs/pull/172/head +e3a81325984e94ad898a7325f79f49c89ba02d69 refs/pull/173/head +5a8bf50a6de3b4529fb1cabc4a6030cd79a603f8 refs/pull/175/head +fab2ec9a69bf2b6f64f9ae16d5468f56da9f1eab refs/pull/176/head +4b4275d9edb7662f83cb878475b581ae701e93ef refs/pull/177/head +d4f3a45d953ccd08c65f561340a945f7d433bbed refs/pull/179/head +44569e7e9272d34ff62543cbfff8bbc385f3991e refs/pull/18/head +a769410ceb7ea1fe6a198c1c6fa1df5917fcbcb4 refs/pull/181/head +665306f3ac292f9ba491d2ca632fd5fdf894b2a7 refs/pull/182/head +9b9e32cf7942b416c01aa1d46b4a867b40b279a3 refs/pull/183/head +9bd581032d0602d322e417cef310f86ffcc469ad refs/pull/184/head +5bc8e7ec41dc7c14831b56ff462671ce1dcb3aae refs/pull/185/head +dfa811a47140b00fa775b0b86dae71f05b795900 refs/pull/186/head +dcff93243d0476048a76a735f310eab9087a2ace refs/pull/187/head +308a4b30f84936a089310d420c1afb250a15c33f refs/pull/188/head +0a490cb60c82d08fd3ac756c55a1275c92d10052 refs/pull/189/head +b499fd463ff33d12bd5fe99bbfc4ea866f9623f0 refs/pull/19/head +50ced17af310b900d8412500e229b6718cbb6194 refs/pull/190/head +3c132854920223f52e5997a917577379ed164c81 refs/pull/191/head +f5632222dbd70ea46146f580b4b0042f7bac23f5 refs/pull/193/head +fbbc7058b7d8a5fc7ef361fb440ef2a51ad4174b refs/pull/194/head +0074e4a19be95441b2e7a13c12691475efb28d7f refs/pull/195/head +c3b7f1910af483275e85fe90fdcac93803250b77 refs/pull/196/head +e3b1c21d8cd818a361818e72799cad504e588c01 refs/pull/198/head +693d54b7fb071171cad2c09ff1ed8e170dda7794 refs/pull/199/head +3125c9a1ff25de4b281cf52b965b7dd3075adbf2 refs/pull/2/head +b6ef8cc0d6a0a11f76b2120189f80ace182acf13 refs/pull/200/head +5084147a8d4b6b427824a28b5cca1ef91bb660ff refs/pull/201/head +5a7eba1abf24d1c205cec4de74fa917526d4d14a refs/pull/202/head +cfe282ba0414f18ee8a5a558794c79bf66e09b16 refs/pull/204/head +82690aa1ad3ea9a51811a429068b1fe92aa89c25 refs/pull/205/head +9aba82a924200cedcbb5db89e8fea8137ba1f017 refs/pull/206/head +e574da0c8e5f8a3f1c4698877416ea7e4153f9b1 refs/pull/208/head +2d47cc12af3b3b259bcf7bd61e52799186406cec refs/pull/209/head +65a2ea2ca47a204c4a6a336ffba10daf7b8e0e3a refs/pull/21/head +d40456077a23bc95441e7f9c4ca8a19ba8a47534 refs/pull/210/head +1d3cc0d50b36059ca492dab22cc1e80d0c1763a9 refs/pull/211/head +093c28c054351d74bee3acda9b6fc12d1893e1e6 refs/pull/212/head +c80fa0f28c57b6bafdea8da8ff21089ebcd756f2 refs/pull/213/head +bb6c772ba48c6fa079887a00b0a7f1ff5070aebd refs/pull/214/head +bc412b631492f0cd9a82a4badf868e77b1563030 refs/pull/215/head +aa4ff8c42ac1d9ae546290db790a66ee016b5e8d refs/pull/217/head +acfd23c4e654e7a807f96086a38038674b16dc9d refs/pull/218/head +778652166ebe2cb21115692064bc0430a65dff16 refs/pull/219/head +06b38f0f0991d8db0ae7c6f446f8f3123f4979cc refs/pull/22/head +527ec6a751b0bab3edbbf9982f2d9c30e1e8dd2d refs/pull/220/head +d31639f467116205d2999dc5ffed0d42bb0c684d refs/pull/221/head +b34b0f9c36c5ff5f8fbb7ec9874124953a7f9b44 refs/pull/222/head +fee852623f8809894506342e36fa47bb390a8a01 refs/pull/223/head +ec7c4d61a5321c89b4219bca273f1b2f48e4773b refs/pull/224/head +2cfded2ebaeebe1886024219e0b015906d0ae794 refs/pull/225/head +b86e1fbb85a87dec22308fa4cbf73067313cb7e0 refs/pull/226/head +81a7e53b38ff1e612b92edbabe3c468c80f00142 refs/pull/227/head +f3f3962929ae1675e0acc374f4eee2da0f0ae9ce refs/pull/228/head +6120f6688c146304e811808a88c334101e47b52f refs/pull/229/head +6d64c51aa85ade5ec2275762c643f2fb11b3ffc0 refs/pull/23/head +3ea3e0ed637f187fcb9f6030a02f65e6cc7aa03e refs/pull/230/head +efe4ddb8c8c61eb81e0dd765c21ed29f03f21842 refs/pull/231/head +bbaa9ec919391c88e265c27e72ade94028efdc90 refs/pull/234/head +5e2aca98f401833a342ab0825d45429d896f8c8a refs/pull/235/head +bcbc8fe75647c5b6c81742e7edb2c8b8b795af11 refs/pull/238/head +6b6632263c1162553bedc0bbab3c9554d94ac8c9 refs/pull/24/head +415b1c57869319defb132ad62f6d09064bca9f08 refs/pull/245/head +e8f46ddf47153090e26bdd2ffc4ae758b0d92843 refs/pull/246/head +2cab65b8332ab46d2e42ad5abeb7d0fe267c0267 refs/pull/247/head +4c31bb5701fb6eccb1e0cb93296343f8009d5c5c refs/pull/248/head +e64d8bf869898b15f763119871ff58588d234b50 refs/pull/249/head +6b6632263c1162553bedc0bbab3c9554d94ac8c9 refs/pull/25/head +83430ac1e0e81bff1af9971609e61d2279c1a9a5 refs/pull/251/head +f27f9fec65c86987082d40dbbbdeae03c3405bc0 refs/pull/252/head +09e2116c7cca422644593b1082586f1d776c0be9 refs/pull/254/head +410ab4c61c83c89ea0454b3facfa724fa56c461e refs/pull/255/head +e57444f0336385d80013f07ed23979b4cbba5696 refs/pull/256/head +bf500d1556fd7551de74f22dda7d367e43437e81 refs/pull/257/head +332f32939497a39f4f331eb37219a9620f8028f4 refs/pull/259/head +4bd7fdbb06999c11b5eef42345bb7e9a887c49c1 refs/pull/26/head +dbfffbe94fb237b43bec1255c01fecdba2b45558 refs/pull/260/head +9b6071ece9cb94117a7311c9663a07035077ff27 refs/pull/262/head +9f9ca7fd511769bebca19d56d91f6fe0efdfeed0 refs/pull/264/head +cdafa7712fad7a029db79bc3152f4d54278752ad refs/pull/268/head +26c5157763338503bdcf75a93191156a821e6867 refs/pull/269/head +26455e8a3f1ee68ab83dc204815a2fd054785af2 refs/pull/270/head +70140a180ae63292c5189815d35480269087c306 refs/pull/271/head +69636568142f9b2809cd5626d3b649c3d181dc40 refs/pull/272/head +870b9696a226759dae93b6833c571bcff513583a refs/pull/273/head +623258e1d0fa90a988241f916b0f3379219d6def refs/pull/278/head +0205c5832621397fc2c19e90699c5c14fa078ba8 refs/pull/28/head +695616894f75bd84c1d4fd790a4c9651a1e03add refs/pull/280/head +c5d179a0115bbd9aec7e4a024c9eeb67dbd61049 refs/pull/281/head +89d75c839aecd50867b0b285c5565a1ddfcc6f7e refs/pull/282/head +3385e06ee5f068b3bb0beedbae2ee6cd875bbeb3 refs/pull/283/head +8bb0ae295c80f178da2db0e47cefd67943e4dd70 refs/pull/284/head +167e63245b3bc2fd19f06843fbb0483026e829a6 refs/pull/285/head +c8d6bbba113c1a9e3a40eac4e67fab6c15f017fb refs/pull/286/head +5a1735201d9e16c8ef85e5eb14ff55b42c51499e refs/pull/288/head +0442b32ae1b5c260dc4a4c69cd3adfb0d720c9f6 refs/pull/289/head +bc1a60cb6d77e6595b879b6a7d7aa396a205450d refs/pull/29/head +6c7242f2d778745269f39d8a90ed5399352f4601 refs/pull/290/head +4a3b991b0b443e8f3fa1d45b04ae1d27459102e3 refs/pull/291/head +382cbabdc152bf6e2d3ab484e1fc5f7ca0219435 refs/pull/293/head +6e6c00b85c5f69f3d700a7864224863bbb6445a3 refs/pull/294/head +000390d3d84249140a379fc4901a42f204c85fb7 refs/pull/296/head +8caa14d615184d6e4b369208684d01a5c6f7c47c refs/pull/297/head +4505131b49d8abcbb7dd95379f9eeb041fdb91f1 refs/pull/298/head +6f8c767b55b413261c1a69a0a521e03ba7568f4a refs/pull/30/head +a226953c3263e3a4c1655ac1e956c6c23dc5c7ee refs/pull/300/head +a1b06ff1fab0640da6a5f21b340a807f9828a9e5 refs/pull/302/head +dc0c50c86a0158c5d1d3ebb9e19db6cc4b42b64b refs/pull/303/head +e6f6e122ab8547358c2fb2cf59d3e7846a225e2b refs/pull/304/head +2d6cc25b603551fb42ec45c6a37e0fd1aa0ed9c9 refs/pull/305/head +444939bcf4a686c8713921072d56cf86930a5fff refs/pull/306/head +4927cc7612c61dd61a3471e3a85ac0c0b10cf0c0 refs/pull/307/head +957a1f26056f711aeafd484042901a042d35dfa9 refs/pull/308/head +35f3311b00d4dd711cb33079b97a4613056e45a3 refs/pull/309/head +054494580b1c140a539210ff44cfbd8d749c07ed refs/pull/31/head +f8bc5ed636d26e6cd2c69f5c9853250f377e2020 refs/pull/310/head +92c433fac153c3cf9474d6cb7ea68d0fd6ccbeba refs/pull/311/head +7026781452ecb4b7a3f72afe5eee34dc6f549c65 refs/pull/312/head +46aa9cafafde6cd5791a1e4312d38857f02277a8 refs/pull/313/head +722cd9eeec44fda359550a368d00a2d89abf778f refs/pull/314/head +8c972042bc908657b118f59341c72b84ae8b82ee refs/pull/315/head +504afd06adae8911d989f7e2d38f06955f43b92c refs/pull/315/merge +162ce859e9954ac592c787eb54d555e29b4f2c56 refs/pull/316/head +2f83b7f953be78c30da9bd125c332ad57691c6f6 refs/pull/318/head +7875f1943a6a16c25c386ef708f1994f75c70b53 refs/pull/319/head +fe6abb255927f8ecef9043c0954b90dd1b7917e4 refs/pull/320/head +35d92f14026ab51c476e2d149f5b473dc522bf5e refs/pull/320/merge +b26a28497184680e5df53122cc76299aa00317f0 refs/pull/322/head +aad759b9193e3f2c98c7a4257080fc91ecfe537f refs/pull/323/head +0c25d676a75c48fcaa5cb23d04a3c71f6b696f78 refs/pull/324/head +b2122b62004a92bd49c88827c866c7ceac57a9df refs/pull/326/head +1a5894d4cb845d7957e93f9a05ac76e50b0e007e refs/pull/329/head +79b7985649309f3643df0fb78e697e73fe83cc87 refs/pull/330/head +81a65c4069c28011ee432f2858ba0de49b086677 refs/pull/331/head +6972682a9b8da4c018a02feaaf0312df7bcb6c42 refs/pull/332/head +145a241c1912e8b7f056848f51e7c106cfec87c4 refs/pull/333/head +5b55ed9b18b659be7f54696697347852ec533ef4 refs/pull/334/head +b2c5a36f9d42d6cfdd14d566d740ec76a9ed7c52 refs/pull/335/head +88f0e5493f078ca26d5b62016e0bdf76e9e31738 refs/pull/336/head +0c3b6f94c31a94c1529a98a9641145cea89c4611 refs/pull/34/head +5afa61255a4ace913e9ad885a40864ee6662eb09 refs/pull/340/head +c2646d2ec9fb4079516f609a0cc55ef7190c5b74 refs/pull/342/head +9e522b0ed3c69817e86ae4a50f7b910ad53773e2 refs/pull/343/head +daf2fd1728568bf908f6d090188532cf76294a47 refs/pull/347/head +b01387ea2ff76a0b1d3d074622d217eadffced8e refs/pull/348/head +5f4be084266e0a22abdc1f72519af58166fba65c refs/pull/349/head +fb17cd5161d259ff3b67b762a7124f8805a83bcd refs/pull/35/head +368177f6cc66ad9c0ad624ef70ef70e456aed0ca refs/pull/350/head +108a304bbabc60d6c57acf6b94498684afc0a120 refs/pull/351/head +82ae94a4ec864a29be4096ae6fd23e88769d988f refs/pull/352/head +6a3b20ece8984978d88e0876f8f72c4bb2ce15a9 refs/pull/353/head +8be3eb89bec02eed608df421da8faa941f38d2fa refs/pull/354/head +371ef8b8e142268a84c0728ea29d8796b5315998 refs/pull/355/head +1bf7bc177721ab829b6e47a4a2c336fc9e1f7b1b refs/pull/359/head +2fc8121644498e5956a6d9eee57540cacd570473 refs/pull/36/head +d345aa59e92a93a6a29543452926042bb343174a refs/pull/360/head +32c4bdd770340dd432952ecb9f5b9f71ac024e6a refs/pull/361/head +07a53fb5f81eb8f0a145e4205105ef1323c06ac9 refs/pull/362/head +21a50a8adbabc7809f02150eb0afb10dfb7c7301 refs/pull/363/head +98b4d61d95e5b16ead50cd95409d8322daef1419 refs/pull/364/head +d6e912065ef2d10ce4a5af565a9d924df9b12e2c refs/pull/365/head +e3539cf942a966e1fb3f2f6dfba5bd49684cc174 refs/pull/366/head +6ecf13d300c8064ffbfef7639af7356f760d51da refs/pull/367/head +db239814513ff579ac2f41b79fb418aecd139938 refs/pull/37/head +ad033dc086627dd45718ae4c861bb1a19b3d59c6 refs/pull/370/head +539056a4b0bf6bd3e091d16d9c1f9aaa68205abe refs/pull/371/head +b47a1d81072c8f9f77e194b766f660fc4cb9aaf9 refs/pull/372/head +40d4cd992f3ff8955c7868cb67bc84dc34348ffd refs/pull/373/head +12a673d6e47dbd627de403fb032ad8b00aab47b5 refs/pull/374/head +59ef20abdb7ad52ef3d5455a0d945ad43e294732 refs/pull/374/merge +f17918605f007b8dd90b4ef846814dfeb834e5a4 refs/pull/375/head +adf042a540b4260cd00dacaabf11ab965e6266d2 refs/pull/376/head +76e462e1505e8caa4cf5971d1e558d05c68946cc refs/pull/377/head +94525cddb774b2133f6444b4bc0cffd522d9a316 refs/pull/378/head +7dc39f98f540e683a24db894a2c363c084271a77 refs/pull/379/head +0966ba77e2a39011273d6a7c9bd7308bc0020a75 refs/pull/380/head +065510b2a50c510ffc826820bc9a903001da275d refs/pull/381/head +7e8c2d2629329be0ae65a1b38ab53375a63d88fd refs/pull/382/head +07f3805a79c2e039254ba50d0f65b04655d9e1fe refs/pull/383/head +0acb5292123a0c8e1bb94e50c03c57d3baacd6b9 refs/pull/385/head +3a299069c6b961969a5b7a77f541078f27baee90 refs/pull/386/head +4ef5d831ec45223abbe438ab43dc4da8552548f6 refs/pull/388/head +1feeaa39cda7023316f7f8155248adabb7e5de7a refs/pull/389/head +8d7ed4aab88f78ea25045a543dc4a4e077d55058 refs/pull/390/head +db35ba07d1b4f43968d74353e0f52b1f84490316 refs/pull/391/head +6f776df4db0f8da01aeed13059b6381f1e3fbb62 refs/pull/392/head +1bf3f98e7adf98da54f3bb2f2ae5532ca82d53ca refs/pull/394/head +efb1010ff382c31365c2b1c55ef3967c6da52c8a refs/pull/395/head +21b4d871e011c0de1f5037f852d7df33948bf666 refs/pull/396/head +ae37643a76687cc955d7b8c290208db6ee9e1785 refs/pull/397/head +90b9a9eac772183372b63c2b3c0b26de024e254f refs/pull/398/head +161299fd0f23cb9c0f866071e05fb9f4058d2787 refs/pull/4/head +0394f746a9386ed13533164a816fa9df44178676 refs/pull/40/head +e4d9028f878b21135b3b41cac58a293f6641e535 refs/pull/401/head +c1143bba4ef2cf2f16d59dddfc0a3327a32cf64d refs/pull/402/head +fe23eb983795301b57e38ffc8721c9b7011f2d83 refs/pull/403/head +dcc5b8f32cf44e81e1ac33d967114e3897d76f5a refs/pull/406/head +a6433c50e4f4d50bd042fa6cc94ee544bc046c9e refs/pull/407/head +ffe705fe1652e3f64fd69d1d99ac64e927793ebb refs/pull/409/head +eeffceaae9ea81c0afea25ed844609088326ba8e refs/pull/41/head +65bd8b4d5442f898e4478bd503bc4404c448d3bf refs/pull/410/head +eae27a4fdccce943759468fe8033e41eb95a4ec0 refs/pull/411/head +7c5a506497238ac73be3b90c563bcc9a87dda182 refs/pull/412/head +980278e758b4584ffcc7cfdb7cebb2268bbada51 refs/pull/413/head +a1631911910a469388e1f775f0a456fa7371ebbb refs/pull/414/head +8016dc6ededa33cbc7d3bd9771dd40cea1dac98f refs/pull/416/head +4146f235b429d369d91d68fba0c4ae502555f5fc refs/pull/417/head +ba843cb84065bd9c7ab8a67351418b2406fcdc66 refs/pull/418/head +a530ea8c1c6309fd2abebdaa5e2e861da5731d0a refs/pull/419/head +1c60dfe7e1395347f58f5913e6846514dd9d475d refs/pull/42/head +76b2529a4877b83d091703767a99526af6234773 refs/pull/420/head +5422d4c69bb198340bc73f10482121357036d405 refs/pull/421/head +0107d720ec779e7180d27cde8a73022ce7d53fa5 refs/pull/422/head +fef5111c7332f9755345583bf5edfedf5deecf9d refs/pull/423/head +c0b5f1ac010a4db0b9c57d48084b9254aaa88127 refs/pull/424/head +d9342ff1f379b85987f44a8021acc4e694a55299 refs/pull/426/head +26bc0a45d8f5752095378b97903e597ca894279d refs/pull/426/merge +372195aa813660ebac3c14de04e7271c1faddbc3 refs/pull/427/head +630e59e3f50cdc7ef42b398acfd0d6b78bbcd70e refs/pull/428/head +697b6d7a39b02e20a7ba9b1370e08e792131b1e5 refs/pull/43/head +56ca4dc077e1737d3247c335bf5937d82e46bb05 refs/pull/430/head +af1695910a9bd97a90f1371ffd82c73ef7aa1fea refs/pull/431/head +e5b27bf62cb6b13e413076a55a4c5c7b609130bf refs/pull/432/head +19092535b4fa35b64fad556a7537a1a5633971a1 refs/pull/433/head +aa95fb6806b6d0be2fd6fe4b4c2bda0a3ebe407d refs/pull/434/head +65a8c8fcea291e83ab8ff1a17f2855fbd3c5ef6f refs/pull/434/merge +269be3c94b32a15613a9b643f97bef5c517d0d85 refs/pull/435/head +4ab833c9b1e3fdaabf9b71b84e801dcf38436f79 refs/pull/436/head +c8b1aabcfb18486345bbd3803103acff321f6013 refs/pull/437/head +3fe2b5c823bba43811ab7f5665c6e6560cf7069c refs/pull/438/head +39a90ed485e3bd77c0e0af555a70c23ca6efacd1 refs/pull/439/head +bc6c9d566b95a2c6c9b88d8e83742889dd7d9282 refs/pull/44/head +6c95f36079f40aae11696269a860fd8212db05ed refs/pull/440/head +837a1786e3de77975f5e62f7faef81f986ff843c refs/pull/441/head +2aece883bc6fbf1be016b6dc40624542d1128309 refs/pull/443/head +ac032ca19f085fb2d62f76ed50e685d1f15d013e refs/pull/445/head +98278a40383094964fd1476db2fddafffe0a51aa refs/pull/446/head +465a4e06af176aa8f8c1ff331d8febbed36ce495 refs/pull/447/head +ba60d03c4442cc6cfb4fafd57df10197e92fb8fc refs/pull/448/head +c5af347c0cf2fa33e56dc0fe9b274a4239401d4d refs/pull/449/head +936eb2f899897c04e6689c88ded3d9f49afbeddb refs/pull/45/head +8da2672fdc7886dadc943b778a0c65672d8d9f84 refs/pull/450/head +fb676da5b91f677ab8e8d06b7fcde45b25181531 refs/pull/452/head +d3cda17e7ddddade3edb3a6df5b512f054782388 refs/pull/452/merge +5f525b9286de8e29c8ab3f6089cbb629ad9cc649 refs/pull/453/head +70b4a065f9982de6eac2063fdb7b0b43e8773411 refs/pull/453/merge +eb4c543d76b38d5faa893798cead3429e28409f5 refs/pull/454/head +ea41c9d6282305368cb375cfa12505f702acce9e refs/pull/455/head +8253ab8661e5b577b40d9a56a7770e9f4afd0458 refs/pull/456/head +5716ba372d0fc818e7f7b8759e02285c22c179e1 refs/pull/46/head +6714123433fda582c5920ba4aa5e2f99876edd8b refs/pull/47/head +b6d12c47d5d33100c08e042fd9883f740ee5de26 refs/pull/48/head +ceec9f44ee14e2adbdb332a3d00eb9774aa35316 refs/pull/49/head +ba1ebe23f664e5dda124298f5f7d1178ddea6625 refs/pull/5/head +30460c1d77cd97901ffa46e3fbbf00d4c43bbb42 refs/pull/50/head +87fc915516a42d00f75a48476feacd3741da5802 refs/pull/51/head +8eca662b1964023b788054da94514b76b059029c refs/pull/52/head +db42c6ae7c1e3bf0afbc868b797483fdfabddd13 refs/pull/56/head +e19764db26912abf876f111538cb9193f75f9bf9 refs/pull/57/head +ff1309dc4cf623f1e9030e5ada67c0910df73399 refs/pull/58/head +44a4559d418f5b3eb24676f4f8ca30f477ff0665 refs/pull/59/head +2f8317cefd4b7029b8f841b1fb7d8103fc72e743 refs/pull/61/head +dad95c8fdc1fe10d3026141ce6bbb035a86c9be4 refs/pull/63/head +d9a494df4133d4d0ae7da31f8dede538c064bffa refs/pull/65/head +57bea50b1fa38ad468ae9523bd9fee22e0aff23a refs/pull/66/head +fca1884689276425aa3c6b342e69cccb5f2386c4 refs/pull/67/head +08a54775a1809f47656da03b2ea985e73d35d080 refs/pull/68/head +d042cd59d3b99948c1f8e6822e163a8302aa8dbb refs/pull/69/head +efe8f946e733c6728166998f0f8de05ceab25163 refs/pull/74/head +bace16520894302143029db98594406a0eed54c3 refs/pull/75/head +32a69a53870ab52c525713ed28b4dece0976fd2e refs/pull/76/head +a1be601a8017d7da7d2c337096b12ce320f8e14f refs/pull/77/head +a684d72b935910c41ec92c6653e09cde754fb627 refs/pull/78/head +1c50e922d6b1826d61f1dafdd0955d2cce50f346 refs/pull/79/head +2c615cbf038dce6ea94e4111b52f06a826953ad6 refs/pull/80/head +af17b278dd7b7aa991ae764cf80979bd73ce48c9 refs/pull/81/head +5dc5062fc4d765252898a69efabc630e4b5c6187 refs/pull/82/head +f67334658951d7808c4e02bd5c24232dfd4a0c48 refs/pull/83/head +ab2fa7c264a8d1dd83da1468cd32d40cfa281487 refs/pull/85/head +65d389707a1a58cff481ed345f5206d323624f6e refs/pull/86/head +5438bdf20cef4f7a23482beeea0f69faec9432db refs/pull/87/head +c34c48490d61f9ee94483aa5e813458d4fd5c31b refs/pull/88/head +0ec317f1eb421a2e7ae0446fe53c1afe9ba665a0 refs/pull/89/head +8a29646619a6ec68067e01e3cbc05122944068ca refs/pull/9/head +d86691b2224901271e783755c1c4bccd8a1adf09 refs/pull/90/head +b1ecf4ffb529724a074ca07d4c282aadd8620fd3 refs/pull/91/head +9bd581032d0602d322e417cef310f86ffcc469ad refs/pull/92/head +d391c866c587fe429ade2e703bccc8d724cf9ffe refs/pull/93/head +bc25555f731495219e8b4208b20fe660f48c7839 refs/pull/94/head +fa1c7ba2a84e23ff881085dca8880eb532e4f3d4 refs/pull/95/head +3b1bc6b43584536b48d8e0406e8496b3bfa191fa refs/pull/95/merge +97aef3466cfe7195b1d06800b7aa2af725c5a7b2 refs/pull/96/head +cd0894673cb6031efe4dec702d74d229d2fc8794 refs/pull/97/head +d18166f53a74d06e4cf4e6f99a28de3d189c307f refs/pull/98/head +f7165ec80eadd515ea821c2be7b9d36f45c93a7f refs/tags/0.1.0 +a14ba01309cd63231c997305740edbbed6ad2298 refs/tags/0.1.1 +9a3f911889e6214ef6c28335d09644be4d8f588d refs/tags/0.1.2 +84c11af20487be97e3a238a9a2293a62b634cd82 refs/tags/0.1.3 +b64e0a230dc3c4f82cac1c8c46ae3def602131f6 refs/tags/0.1.4 +4f6c06d0a056927b9853927b3dc40322b242f7ff refs/tags/0.1.5 +^55a570cc7732709637c80c371fe24927820b558e +aa10b5159640b8aa006ed7f7d51db4b35d9c37d3 refs/tags/0.2.0 +^71e81e9fbc2071d69bccd82b999c56c4559c1eeb +1be45e57a3d7c11199b2b123e4a57dff5150a412 refs/tags/0.3.0 +^e30b18725bce2881eb70d77413754b65ce13707d +00e56ef3ef0f80c4f32b6846484ba5a9ab856d5a refs/tags/0.3.1 +^aeda9e4019678d40d003c1e2cd8c3fbd717aaffb +acf403cb0d950a2d58ea8c63ce001deac2fde222 refs/tags/0.3.2 +0728fc42e9db36f457183fba6bad1508cfd43423 refs/tags/0.3.3 +7956ce071444883980e3eb813120a2d0e966178a refs/tags/0.3.4 +c7518628d011fbd096ebe75d76d3574dc62d17dc refs/tags/0.3.5 +00b9da45d6c40b5b434fcfbfaaa654a3c2d9f499 refs/tags/0.3.6 +^5ac9248b378b5e12201c255ba74caf990d1e0f4b +55e2d023b9ee397b8ddd5f20d88c300aec7fe267 refs/tags/0.3.7 +^05921531200acff0d8d9caab5ec77b2bcf300b6b +5a4a6863d78c032ccafa1d90c86a3961b17a6982 refs/tags/0.4.0 +90a76f3cdb552b8e6aea5dabdd6c3578b8a7ad45 refs/tags/0.4.1 +95f45caf07472ec78223ebada45255086a85b01a refs/tags/0.5.0 +de06b2c819bb12e95bcdf75075b3336a8890e67c refs/tags/0.6.0 +6652aa7b793d3c8a075db0614acb575fcaecf457 refs/tags/0.7.0 +618582e09699b577fa183bab7d88e3ee7d9a1d19 refs/tags/1.0.0 +26ab35f50ea891e8edefcc9d975db2f6b67e1d68 refs/tags/1.0.1 +809616f5af8d9a1ecd6273dc3eec506f5caac216 refs/tags/1.0.2 +^b08dba4bcea978bf1ad37703a384097d3efce5af +c947a306d2e80ecb2c0859047b35c73b8e1ca27f refs/tags/2.0.0 +6659fd1e93d657be9268f1af0b46d9b1ed471786 refs/tags/3.0.0 +^53741ba55ecca5c7149d8c9f810913ec80845c69 +80df28a5defd8b2df0fcadb0c8893cc76f5a92b0 refs/tags/3.0.1 +^81a65c4069c28011ee432f2858ba0de49b086677 +0913be6b88dc9d344475def1e978ac3a1a397537 refs/tags/4.0.0 +^88caa2e6fffdbef2e91c2022d038576062042907 +c70a8c283e177f3d4024b9c0c1717e60d7488bcf refs/tags/4.0.1 +^138cf1b701cf825233b92ceac919152d5aba8a3f +3f3893973d3db086513efa2d6d7f3a5d0c93b1fa refs/tags/4.0.2 +^51ef46468fda5a0fa1a201b8843791d0149d3c01 +b27221a60f0f81467618fec69b4ad36d3b34ef88 refs/tags/4.0.3 +^1bce5b89a11912fb8a8c48bd404bd24979472f27 +a2f7b1c953e8a4d87e3bd952e7165ef9c24df7d8 refs/tags/4.0.4 +^9003d51672e516cc59297b7e96bff1dfdedcb4ea +7cacda1bdcc71091cbac644e26241dd4a4b854e1 refs/tags/4.0.5 +^4ec0a3c5d6a2446667a2b22c8c7d0fc82dd1d3de +07ac68ad9af8d48a422f014071106b4199452aee refs/tags/4.0.6 +^9ff1cc9327586db4e0c8f46f064b6a82ec1566fa +07e991f160a4b221faa27ca6052c85f9720f2d5c refs/tags/5.0.0 +^00c403debcd0a007b854bb35e598466207a2d58c +5ac79670f555eecfc221beeb56d3819d33bbaeae refs/tags/5.0.1 +^01835dc202670b5bb90d07f3eae41867e9ed29f6 +10c06ebf8e902c47b0cddcbf6f816669a799664f refs/tags/5.0.2 +^4b6baa8c0436a57f6eba37b5eb3ed0ab596547d6 +215200df6091282318ad58ce3064196965d515e8 refs/tags/5.0.3 +^c7facc5ccb8c5a4577ea8c491aa875762cdee57a +1135dccd3a950c478e9a5a097e6c2e992f6b9910 refs/tags/5.0.4 +^4889c132978bc6ad3e80f680011ec3dd4fead90c +f1a474007e370d138c1bc46579da55880b71112f refs/tags/5.0.5 +^f47ba4838c30dbd59998a4e4c87ab620ff959e8a +d6ec9fcf4c293bf5ef63f7c1c107e51e7c781a69 refs/tags/5.0.6 +^0d9ee7ea8c4ebd4a489ad7a73d5c6cad55d6fed3 +d2bbfcbacf20dd7165fad55739e89a5d1f1694a8 refs/tags/5.1.0 +^8a835d918245ca22f36663dd3862138805d7f707 +6cec4e57e777e513c025ab0e2bb5f82cdfcfd729 refs/tags/5.1.1 +^23b6264b9a822b961f480dfa31a1a0ee9114c052 +9efcc935d1861061cbca3a908a99842989632d97 refs/tags/5.1.2 +^9234124cff5e22e178988c18d8b95a8ae8007f76 +e1a7c47aba0ccc9d3562abf4ccd94a3760f6b0b4 refs/tags/5.1.3 +^3036ba9d69cf1fd04d433527bc339dc0dc75433d +db9ff235cf800bc657c3ed0961078fc231d0f28b refs/tags/5.2.0 +2688707e563b44d7d87c29ba6c5ca04ce86ae58b refs/tags/5.3.0 +b4b8042411dc7bbb696300a34a4bf3ba1b7ad19b refs/tags/5.3.1 +3d6871d5b4a5cd519adf233fbb576e0a2af71c17 refs/tags/5.4.0 +9281f8c99aff4f4a55dce22ae29b1181c935caa5 refs/tags/6.0.0 diff --git a/.build/repositories/swift-algorithms-bf5a01cd/FETCH_HEAD b/.build/repositories/swift-algorithms-bf5a01cd/FETCH_HEAD new file mode 100644 index 0000000..7d043b5 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/FETCH_HEAD @@ -0,0 +1,230 @@ +b275ccd212aebd8522cff7ae7ab6cd0470d21f8d not-for-merge branch 'compacted-documentation-typo' of https://github.com/apple/swift-algorithms +4b80f3eedd61f8ad3d6a6f0acc7cd7168f44dc90 not-for-merge branch 'joined_prefix_suffix' of https://github.com/apple/swift-algorithms +0e939e7bb92d5305022f0f981973c2de5ee543b4 not-for-merge branch 'main' of https://github.com/apple/swift-algorithms +b333caf0a5deb881495fd597dfb790d35be1f8a8 not-for-merge branch 'nate/bench' of https://github.com/apple/swift-algorithms +040eb49b511f8b512b87986ec953c3bff788cdb4 not-for-merge branch 'nate/concurrent_algos' of https://github.com/apple/swift-algorithms +33b053c94558a9f532a27b5a546560d457d278aa not-for-merge branch 'nate/count_where' of https://github.com/apple/swift-algorithms +357de38650730830c95fff888dbd794647a458d6 not-for-merge branch 'nate/firstrange' of https://github.com/apple/swift-algorithms +32aee022ce444d1fd6a1bbd5844b8720dba1e086 not-for-merge branch 'nate/merge_in_place' of https://github.com/apple/swift-algorithms +e84988b833de5477d17d6d0cf9030d58f1ed6cb3 not-for-merge branch 'nate/pdqsort' of https://github.com/apple/swift-algorithms +eb93e564d469961a3bcc6a890fab6f4ee95ae24e not-for-merge branch 'nate/random_sequence' of https://github.com/apple/swift-algorithms +f0df883f88e68fbba050f11c5063aac155061515 not-for-merge branch 'reductions-into' of https://github.com/apple/swift-algorithms +87e50f483c54e6efd60e885f7f5aa946cee68023 not-for-merge branch 'release/1.2.1' of https://github.com/apple/swift-algorithms +e1db0f7f9a64de2180595326b16932b0a66ee0fe not-for-merge branch 'shahmishal/test-pr' of https://github.com/apple/swift-algorithms +993b950250bf91d594b2e779c74dc88d7f165a5a not-for-merge branch 'swift-format' of https://github.com/apple/swift-algorithms +e6011cc5d00eedb627b9d0255c87ed4add9bf747 not-for-merge branch 'swift-format-canonicalized' of https://github.com/apple/swift-algorithms +0bd7f4dcb1b518be23d671c0d2a84aa3a1147727 not-for-merge branch 'typed-errors' of https://github.com/apple/swift-algorithms +f0a5f9b6b34081cea360e011650f1f78b85b7342 not-for-merge 'refs/pull/1/head' of https://github.com/apple/swift-algorithms +8deae3ff93a185a41ea0a5f00860188c8e4b7407 not-for-merge 'refs/pull/10/head' of https://github.com/apple/swift-algorithms +e1db0f7f9a64de2180595326b16932b0a66ee0fe not-for-merge 'refs/pull/102/head' of https://github.com/apple/swift-algorithms +e44150096fc3e0aa3bfa6a783b0ee1e335546519 not-for-merge 'refs/pull/102/merge' of https://github.com/apple/swift-algorithms +57e9406b44800d6221e0864633b22b316745d8fe not-for-merge 'refs/pull/103/head' of https://github.com/apple/swift-algorithms +8a67ef34db0a481a56dbd7463c8e5c6a85f18e5c not-for-merge 'refs/pull/104/head' of https://github.com/apple/swift-algorithms +3d16b0b33d2baab62567aa4b99d1d9779ea574c2 not-for-merge 'refs/pull/105/head' of https://github.com/apple/swift-algorithms +e583de90410852d8c199fcbc442ae9e248d69e38 not-for-merge 'refs/pull/106/head' of https://github.com/apple/swift-algorithms +ba57786b8db4a50f92bfec127ce82c67be22fd17 not-for-merge 'refs/pull/109/head' of https://github.com/apple/swift-algorithms +6ff35f87e27ff1914f16d7593c64a454691ffc11 not-for-merge 'refs/pull/11/head' of https://github.com/apple/swift-algorithms +efd349a58478900c940461f4dcfbe3ba3a53ee62 not-for-merge 'refs/pull/111/head' of https://github.com/apple/swift-algorithms +d64dd16a6b888bf823f9bdeb8eee3f80492309ea not-for-merge 'refs/pull/112/head' of https://github.com/apple/swift-algorithms +ae705ce867b066275f85885d79e60e891ef0d088 not-for-merge 'refs/pull/113/head' of https://github.com/apple/swift-algorithms +df534c70db01e55b8abc342aadefe2c307fd2bf7 not-for-merge 'refs/pull/114/head' of https://github.com/apple/swift-algorithms +3b794396f970af31284952bcde873941f382bbf0 not-for-merge 'refs/pull/115/head' of https://github.com/apple/swift-algorithms +3cf9be3a727cd33caf198ebb6d7a7e309f0f5338 not-for-merge 'refs/pull/116/head' of https://github.com/apple/swift-algorithms +3f531edd3fed39a2a0fcdf357bcb26acbccd7ea6 not-for-merge 'refs/pull/117/head' of https://github.com/apple/swift-algorithms +f5e814b58034e5dbbe6551a82ab900d78ddbe2fc not-for-merge 'refs/pull/117/merge' of https://github.com/apple/swift-algorithms +f0df883f88e68fbba050f11c5063aac155061515 not-for-merge 'refs/pull/118/head' of https://github.com/apple/swift-algorithms +e092ca010da6b8b2f1489ba85168b8c7084b3463 not-for-merge 'refs/pull/119/head' of https://github.com/apple/swift-algorithms +fe768002aa4d1c8eb628c61b12659772ea768f3e not-for-merge 'refs/pull/12/head' of https://github.com/apple/swift-algorithms +f2f43450b3662ff56703d36cafa63d9a560de446 not-for-merge 'refs/pull/120/head' of https://github.com/apple/swift-algorithms +ddbe9c4407ab5de8b422089000f46ba69091db6c not-for-merge 'refs/pull/121/head' of https://github.com/apple/swift-algorithms +53872793ab4def8fe601fd5019066a94596a27f6 not-for-merge 'refs/pull/123/head' of https://github.com/apple/swift-algorithms +989a11948c87d5b2ea0a65470e5266be84c1444e not-for-merge 'refs/pull/124/head' of https://github.com/apple/swift-algorithms +a9d45042f6a195f8240c04bf395a5783260e037d not-for-merge 'refs/pull/125/head' of https://github.com/apple/swift-algorithms +34c3f2500ce41c3d3edc3595706203b23fcd2580 not-for-merge 'refs/pull/126/head' of https://github.com/apple/swift-algorithms +279cf20387dc43f9e0965b855e7ae70f438a92ab not-for-merge 'refs/pull/127/head' of https://github.com/apple/swift-algorithms +b12fd6b3d4ac452bc71e2aae3db640e1cb073e8a not-for-merge 'refs/pull/128/head' of https://github.com/apple/swift-algorithms +a32c30fa3fc6e4564d25dc4b668fa9396fed2cbd not-for-merge 'refs/pull/13/head' of https://github.com/apple/swift-algorithms +ed59a1f0c5d1ff091381d6071cf09ec113061522 not-for-merge 'refs/pull/130/head' of https://github.com/apple/swift-algorithms +53d2870009e491ea2f537cd0e508075214b293de not-for-merge 'refs/pull/132/head' of https://github.com/apple/swift-algorithms +39ff6c7567d31b02a22a18a008e1b9c647d1e4ed not-for-merge 'refs/pull/133/head' of https://github.com/apple/swift-algorithms +95e2c626f7604f1641a613af4c6d4188357a797f not-for-merge 'refs/pull/136/head' of https://github.com/apple/swift-algorithms +1261bd780b72030430d3f3ebe21939492829068d not-for-merge 'refs/pull/137/head' of https://github.com/apple/swift-algorithms +e3dea6f11d12b5ad7ee0384e2422783775148ff9 not-for-merge 'refs/pull/138/head' of https://github.com/apple/swift-algorithms +9b173fa204cfac07143b16c3a2fb6483d3eca305 not-for-merge 'refs/pull/139/head' of https://github.com/apple/swift-algorithms +c28b5a017cd584381002a8597cc048523287d3ea not-for-merge 'refs/pull/14/head' of https://github.com/apple/swift-algorithms +1370d96b57f35ff443f6647e09854ff845eec4fa not-for-merge 'refs/pull/141/head' of https://github.com/apple/swift-algorithms +1bf4884bc5de585fae63f3d7cb264225c106d455 not-for-merge 'refs/pull/142/head' of https://github.com/apple/swift-algorithms +91ecb0d5ee29ad04fdb6fc99a9482e46060430fc not-for-merge 'refs/pull/143/head' of https://github.com/apple/swift-algorithms +22debdf424c7628390b4be1f1b4993c17a97e04f not-for-merge 'refs/pull/144/head' of https://github.com/apple/swift-algorithms +17bb56b30f1df2407e343e2c7435aca4abdea3d9 not-for-merge 'refs/pull/145/head' of https://github.com/apple/swift-algorithms +5804cf55d2f2c0e0cf5ca09db678a54bc1d664d1 not-for-merge 'refs/pull/147/head' of https://github.com/apple/swift-algorithms +b6672843b22dba788a5bbe44e08549e63578164c not-for-merge 'refs/pull/148/head' of https://github.com/apple/swift-algorithms +679dcc0228a387dea2c79a53a5c581b1057953e9 not-for-merge 'refs/pull/148/merge' of https://github.com/apple/swift-algorithms +cf3ae05d57df109aabe8202dc42a70c45cf58bd0 not-for-merge 'refs/pull/15/head' of https://github.com/apple/swift-algorithms +59197802c3d272adfd2e2417daa0f931f0793332 not-for-merge 'refs/pull/151/head' of https://github.com/apple/swift-algorithms +51a3c6bfe17aa7a38bae1cae308f1aa7548678cd not-for-merge 'refs/pull/152/head' of https://github.com/apple/swift-algorithms +f63b9a491404047e265b2af18fc4396e0050ff2f not-for-merge 'refs/pull/153/head' of https://github.com/apple/swift-algorithms +c88e321ce49cd8bd92b5c98e7ec7f421dae3169c not-for-merge 'refs/pull/153/merge' of https://github.com/apple/swift-algorithms +e2f78c1a614df0d540e1aa3d6cac9242846b9a94 not-for-merge 'refs/pull/154/head' of https://github.com/apple/swift-algorithms +287176ec24b7ea8d13af38dbf241900b30e63c34 not-for-merge 'refs/pull/155/head' of https://github.com/apple/swift-algorithms +6f5aec0d9056e31e8553207d5ca2836c9d693e30 not-for-merge 'refs/pull/156/head' of https://github.com/apple/swift-algorithms +9c1cb7168753c5471c1f34c465851bf55ebfbecd not-for-merge 'refs/pull/157/head' of https://github.com/apple/swift-algorithms +a9717a0f1547a7c0ca410be8023daf7ecc339056 not-for-merge 'refs/pull/158/head' of https://github.com/apple/swift-algorithms +64654d44d5d8a3192ab60d568dd7cab95c86828d not-for-merge 'refs/pull/158/merge' of https://github.com/apple/swift-algorithms +b275ccd212aebd8522cff7ae7ab6cd0470d21f8d not-for-merge 'refs/pull/159/head' of https://github.com/apple/swift-algorithms +d74a40c8b56366edd2df244c186429a61ae33b8d not-for-merge 'refs/pull/16/head' of https://github.com/apple/swift-algorithms +de333ca57efaca3ed7633d56fa882ca52852c0f9 not-for-merge 'refs/pull/162/head' of https://github.com/apple/swift-algorithms +f591ab4037d3e985d3b8bca97b87253b2453aa9d not-for-merge 'refs/pull/164/head' of https://github.com/apple/swift-algorithms +075dfab803c4a5a53f068f44818a7c92911b6162 not-for-merge 'refs/pull/165/head' of https://github.com/apple/swift-algorithms +45c0900bb36e7dab20cad26441e29cb85896ae37 not-for-merge 'refs/pull/167/head' of https://github.com/apple/swift-algorithms +27df2fd4425b33610e80feaa986b11421e186037 not-for-merge 'refs/pull/168/head' of https://github.com/apple/swift-algorithms +7781608e0cb3adf0f7a02c7369cdc3b39303c5af not-for-merge 'refs/pull/17/head' of https://github.com/apple/swift-algorithms +dd5a49b5cabc8b1bacddd2ebb892aa3bae19c181 not-for-merge 'refs/pull/171/head' of https://github.com/apple/swift-algorithms +f147d0c6c0301cc8636d876643e28b70efcce5fa not-for-merge 'refs/pull/173/head' of https://github.com/apple/swift-algorithms +17bae03ec2a75e6d4a519d0dc314adb68d28b684 not-for-merge 'refs/pull/174/head' of https://github.com/apple/swift-algorithms +0f9c9ec665ab07f4086c1547ee06b4e5b8073299 not-for-merge 'refs/pull/175/head' of https://github.com/apple/swift-algorithms +b68955da0e5ab4707513223e5888da641e8571e3 not-for-merge 'refs/pull/177/head' of https://github.com/apple/swift-algorithms +ebb86683d395beac92cd86ddd29f6c40572c909b not-for-merge 'refs/pull/177/merge' of https://github.com/apple/swift-algorithms +5160bd7f79be4a5bd1031b862b3b15996678263f not-for-merge 'refs/pull/179/head' of https://github.com/apple/swift-algorithms +50685e1b90c97bee4b8f51757795992e11fc6cfc not-for-merge 'refs/pull/18/head' of https://github.com/apple/swift-algorithms +9ba15793999cf20bd793cd5eb2cf60bb9db30fa0 not-for-merge 'refs/pull/182/head' of https://github.com/apple/swift-algorithms +ffc92a27774e97426dc673130f1596d10ef74ba1 not-for-merge 'refs/pull/184/head' of https://github.com/apple/swift-algorithms +c0edc8015b3b83cdea5b14afc39748895bbcab80 not-for-merge 'refs/pull/184/merge' of https://github.com/apple/swift-algorithms +38799f3b3edfa9f8cf759506e1a6bc2400fcac14 not-for-merge 'refs/pull/185/head' of https://github.com/apple/swift-algorithms +744c386e6f28830d7b828b8a2d5ae5a1278214cd not-for-merge 'refs/pull/185/merge' of https://github.com/apple/swift-algorithms +fe66cc94f48dd4f4acd911dded415656946e5282 not-for-merge 'refs/pull/186/head' of https://github.com/apple/swift-algorithms +aa6349dea0dca364c92923c497cd93297ce54111 not-for-merge 'refs/pull/191/head' of https://github.com/apple/swift-algorithms +a82970bedc14d62edd3485eeca9063df9c8964d1 not-for-merge 'refs/pull/193/head' of https://github.com/apple/swift-algorithms +f14078dfc8bdaf823784a94aff943066a6a0403c not-for-merge 'refs/pull/193/merge' of https://github.com/apple/swift-algorithms +57fc7645b8826984bb5f7aced724d500c95f8d19 not-for-merge 'refs/pull/194/head' of https://github.com/apple/swift-algorithms +1a707601e1ce5f6396bb45411381e3f32c9b72a0 not-for-merge 'refs/pull/197/head' of https://github.com/apple/swift-algorithms +620bf363c41be66073de10925a95a5f9c3e142ca not-for-merge 'refs/pull/2/head' of https://github.com/apple/swift-algorithms +3a2cbf49b6cf90f75b95213e935c344632d14621 not-for-merge 'refs/pull/20/head' of https://github.com/apple/swift-algorithms +1a93a9318403e0930f3a3898e4ef036a01fa4ee3 not-for-merge 'refs/pull/200/head' of https://github.com/apple/swift-algorithms +da14f5160be99a7d3221ccb604bcaf96bd06f6e5 not-for-merge 'refs/pull/201/head' of https://github.com/apple/swift-algorithms +afae761874ad360bdd9a1385305b44f19e9fe88a not-for-merge 'refs/pull/202/head' of https://github.com/apple/swift-algorithms +598946f0f7b47c0fadfead8b130a17e1cd490f01 not-for-merge 'refs/pull/203/head' of https://github.com/apple/swift-algorithms +9274f371ac5e5e9ffa15f966696460e244601507 not-for-merge 'refs/pull/203/merge' of https://github.com/apple/swift-algorithms +3240ad4a1997e4d7bfe98ac029f62dbb3b2d501d not-for-merge 'refs/pull/204/head' of https://github.com/apple/swift-algorithms +715dab04c95b89b1c2bbaf8bf4286ee6556ee4f7 not-for-merge 'refs/pull/205/head' of https://github.com/apple/swift-algorithms +bd65788389dbfe3f0f4fe61f364825173d3a51bd not-for-merge 'refs/pull/206/head' of https://github.com/apple/swift-algorithms +c8ae549e42aed5d5940a8b83250aa85e9d8d1dc6 not-for-merge 'refs/pull/210/head' of https://github.com/apple/swift-algorithms +312d9b0e6d77080e60f93467af6cc989a5023471 not-for-merge 'refs/pull/211/head' of https://github.com/apple/swift-algorithms +3aad44f68e42b776d027b8800ba16be3c19880e9 not-for-merge 'refs/pull/212/head' of https://github.com/apple/swift-algorithms +6608ddc8827c69e04f81bce8969a28254cd97ae9 not-for-merge 'refs/pull/213/head' of https://github.com/apple/swift-algorithms +523e825edc705ab438ec044c49bc76aa8590ec9b not-for-merge 'refs/pull/215/head' of https://github.com/apple/swift-algorithms +b925460a40404b3406b8c936f949f6509570cfda not-for-merge 'refs/pull/22/head' of https://github.com/apple/swift-algorithms +d8c9e5859b04d0cccfc1c0089ce0b58e2b5dbaf6 not-for-merge 'refs/pull/220/head' of https://github.com/apple/swift-algorithms +51eb19048b34dd2596bccdde2e598a287cef6713 not-for-merge 'refs/pull/222/head' of https://github.com/apple/swift-algorithms +de1fb0c700610b901a937e948a286f2dde354352 not-for-merge 'refs/pull/223/head' of https://github.com/apple/swift-algorithms +d5942cad8facab17c009414f4790737a26cf768d not-for-merge 'refs/pull/224/head' of https://github.com/apple/swift-algorithms +4167290eb13745a65781050ea40ec432d9cd870e not-for-merge 'refs/pull/225/head' of https://github.com/apple/swift-algorithms +0a01f21eae94d891cc169623222b4e2d5329ad3a not-for-merge 'refs/pull/227/head' of https://github.com/apple/swift-algorithms +76f8a51e85d1f1117352d882b475c71659694c02 not-for-merge 'refs/pull/228/head' of https://github.com/apple/swift-algorithms +6dc0578c668111e5822843480d35b9394949465d not-for-merge 'refs/pull/230/head' of https://github.com/apple/swift-algorithms +7b29c5556b1fa92c2871d4ad36cca9e497f84b75 not-for-merge 'refs/pull/233/head' of https://github.com/apple/swift-algorithms +f8f4e3c69a4b6c0fcc96f3b9abc8e95d6e1be8a3 not-for-merge 'refs/pull/234/head' of https://github.com/apple/swift-algorithms +73b067a749b3aa05eaf63c6df891d142781ef5b8 not-for-merge 'refs/pull/234/merge' of https://github.com/apple/swift-algorithms +aa2a5d0d866586bb9a3feb2b77c4c5ec41cb28c7 not-for-merge 'refs/pull/236/head' of https://github.com/apple/swift-algorithms +3af29ab45317143542b6177406c4fc1023b35634 not-for-merge 'refs/pull/236/merge' of https://github.com/apple/swift-algorithms +7af22f9f915aaa8b759e0339a97ac4a14d71c093 not-for-merge 'refs/pull/237/head' of https://github.com/apple/swift-algorithms +15d0af7210307a942d8e50a63ab6beaa9bc58382 not-for-merge 'refs/pull/238/head' of https://github.com/apple/swift-algorithms +dfcc611e1de2271b22acaedf6596c3be0bfa4d24 not-for-merge 'refs/pull/24/head' of https://github.com/apple/swift-algorithms +d82756523381db6a78526a7af56540ad2ed52eab not-for-merge 'refs/pull/240/head' of https://github.com/apple/swift-algorithms +3c6226cff89dc7a93ca2b5527228e416b98bc4ea not-for-merge 'refs/pull/246/head' of https://github.com/apple/swift-algorithms +da4d5e950cf79abe0aa543e255c4437547873608 not-for-merge 'refs/pull/247/head' of https://github.com/apple/swift-algorithms +fefa25f0d70c5d04169c7e31098897fe23deba64 not-for-merge 'refs/pull/248/head' of https://github.com/apple/swift-algorithms +1b84adef9b5f36b51f1dd8aa288816df76070412 not-for-merge 'refs/pull/250/head' of https://github.com/apple/swift-algorithms +e8e3bd5030192d6e5c439f1f8e5f18e089203cea not-for-merge 'refs/pull/253/head' of https://github.com/apple/swift-algorithms +67e303e6fd1affd4c8cebf3446e2ec152d6e5fb8 not-for-merge 'refs/pull/254/head' of https://github.com/apple/swift-algorithms +64adba668f1eb025dbabb7d966cb40e132d6f5b8 not-for-merge 'refs/pull/255/head' of https://github.com/apple/swift-algorithms +bd4c725bb3ba34e4ece2043e0d5ce6ed325edfcf not-for-merge 'refs/pull/255/merge' of https://github.com/apple/swift-algorithms +e51779ec9fc54516427467198cad3ad1982e35de not-for-merge 'refs/pull/256/head' of https://github.com/apple/swift-algorithms +f1dda075d6a6df973fd4488ea2d0b0f95064317f not-for-merge 'refs/pull/256/merge' of https://github.com/apple/swift-algorithms +5d2b7085b70271253dd7987fb468d6f55adc02ad not-for-merge 'refs/pull/257/head' of https://github.com/apple/swift-algorithms +c848c42d4a9f64653af66881efb0944757e5a624 not-for-merge 'refs/pull/257/merge' of https://github.com/apple/swift-algorithms +8a9ee7c03ab95efc66fc259adfd8d45edc3b0b89 not-for-merge 'refs/pull/26/head' of https://github.com/apple/swift-algorithms +a96b90ca4df9af1b8d13fc707e4566141c22661d not-for-merge 'refs/pull/27/head' of https://github.com/apple/swift-algorithms +b85ada3c5416777ba2d5c264db6902a7f262443d not-for-merge 'refs/pull/28/head' of https://github.com/apple/swift-algorithms +ae445cd8e8a2c7831e9f870c334d8412da179bfb not-for-merge 'refs/pull/29/head' of https://github.com/apple/swift-algorithms +1a16bcc808519b72acb29ae6fafb55a3abfb8843 not-for-merge 'refs/pull/3/head' of https://github.com/apple/swift-algorithms +39c10de04768c5563b6ce25370e2d777b907ce0e not-for-merge 'refs/pull/30/head' of https://github.com/apple/swift-algorithms +5a0feb465a45e258f9bfce4755f0eff80ce6c7c0 not-for-merge 'refs/pull/31/head' of https://github.com/apple/swift-algorithms +2bee01270ca624ea3e9884c60a71de2ab8b1ecaa not-for-merge 'refs/pull/32/head' of https://github.com/apple/swift-algorithms +4c89606c0813da9e5d44df36e3fecac5f4252d79 not-for-merge 'refs/pull/33/head' of https://github.com/apple/swift-algorithms +bf2e1b1170bd1309a5ab528ae9f12b432b7320b7 not-for-merge 'refs/pull/34/head' of https://github.com/apple/swift-algorithms +b31e052c85fefb0254142774b9e56086871d6fdf not-for-merge 'refs/pull/34/merge' of https://github.com/apple/swift-algorithms +d4bdbc4364fea7e1b002b8385157e5542dbbca50 not-for-merge 'refs/pull/35/head' of https://github.com/apple/swift-algorithms +beb1b21f5985d3d5bd99d96db78f513da20a17d1 not-for-merge 'refs/pull/36/head' of https://github.com/apple/swift-algorithms +46831e4a4a1f8dee09bc2b3bac1d001dd520add0 not-for-merge 'refs/pull/37/head' of https://github.com/apple/swift-algorithms +3c14cd2a06d2052c1f3afdb8fa61952bfc619be2 not-for-merge 'refs/pull/37/merge' of https://github.com/apple/swift-algorithms +ca4a143ede6b49c101d4e95ff627ecf685da2403 not-for-merge 'refs/pull/38/head' of https://github.com/apple/swift-algorithms +3e17d0078a0f95f141e7ccf1335626cc4433818a not-for-merge 'refs/pull/38/merge' of https://github.com/apple/swift-algorithms +4dcba178a74503431a7c640c037b6efaaeef3a9f not-for-merge 'refs/pull/39/head' of https://github.com/apple/swift-algorithms +0c3613fc1e625416e13f5d649164487feb7b9073 not-for-merge 'refs/pull/4/head' of https://github.com/apple/swift-algorithms +c68eddefb27d4ec7953873cc40767a1eb0e98cea not-for-merge 'refs/pull/40/head' of https://github.com/apple/swift-algorithms +357de38650730830c95fff888dbd794647a458d6 not-for-merge 'refs/pull/41/head' of https://github.com/apple/swift-algorithms +0e4e40c8cb7c86d3c2bb1f7f4cf01dcb35c3546a not-for-merge 'refs/pull/42/head' of https://github.com/apple/swift-algorithms +a0a59ff46c94c2ff0f9a82c5f7c41fa96c23a117 not-for-merge 'refs/pull/43/head' of https://github.com/apple/swift-algorithms +26ac0d10c526e4843f6f1a507c7e4ff3e5b82f7f not-for-merge 'refs/pull/43/merge' of https://github.com/apple/swift-algorithms +2976fa6408b426e9d9f1aaa1576a7b5c6338100f not-for-merge 'refs/pull/44/head' of https://github.com/apple/swift-algorithms +0fe28d728162a91d389dcb9e96135d01568e6daf not-for-merge 'refs/pull/45/head' of https://github.com/apple/swift-algorithms +a58cc1d7a567d076ab97343fd3b831915997e7b9 not-for-merge 'refs/pull/45/merge' of https://github.com/apple/swift-algorithms +6660d642cdc0093b19ca20cdb2845faa79b83767 not-for-merge 'refs/pull/46/head' of https://github.com/apple/swift-algorithms +5b3e6eac2b1d7532ad699f23c732a8d4ffedd5f0 not-for-merge 'refs/pull/47/head' of https://github.com/apple/swift-algorithms +7d5e048fc7c59ce8904bc28496b6e1ab05f61eb7 not-for-merge 'refs/pull/48/head' of https://github.com/apple/swift-algorithms +98573a6a9a5084c29476ce2de3506304c8369d36 not-for-merge 'refs/pull/48/merge' of https://github.com/apple/swift-algorithms +8d8a939c62a232864cf36422d0699ef47ffbccb0 not-for-merge 'refs/pull/49/head' of https://github.com/apple/swift-algorithms +a8902448b92b43c393c06ff3822334ab473925f7 not-for-merge 'refs/pull/5/head' of https://github.com/apple/swift-algorithms +a7bacfa52e5f9cb8298f271aeee68b4784b019c1 not-for-merge 'refs/pull/50/head' of https://github.com/apple/swift-algorithms +7a6c1353f3c579cf709d0ea9602f598813ffa2c5 not-for-merge 'refs/pull/51/head' of https://github.com/apple/swift-algorithms +99d436b87680778d5e057be282b6fdc129e68025 not-for-merge 'refs/pull/52/head' of https://github.com/apple/swift-algorithms +fd18da9cde104d946e1b33e9e5e912615102e7dc not-for-merge 'refs/pull/52/merge' of https://github.com/apple/swift-algorithms +4b68aa8de540eb7aedde0df3dab8702a144c4a64 not-for-merge 'refs/pull/53/head' of https://github.com/apple/swift-algorithms +6d2839ca62a661d2a2bbad81c78061e5468c730d not-for-merge 'refs/pull/53/merge' of https://github.com/apple/swift-algorithms +ad8d6ed7a172d0fe543b34e8429e337ac681d978 not-for-merge 'refs/pull/54/head' of https://github.com/apple/swift-algorithms +bc29af60eba1d71bf1456a76eb704feb30fa3d25 not-for-merge 'refs/pull/55/head' of https://github.com/apple/swift-algorithms +0d05042553ca71e8022afb60abb277090166b16e not-for-merge 'refs/pull/56/head' of https://github.com/apple/swift-algorithms +b18a659ab544a198f3e0a7a9bb200a1088eb9642 not-for-merge 'refs/pull/57/head' of https://github.com/apple/swift-algorithms +a226cb982f2901dd0f600b3ead4c99e4ac55f67d not-for-merge 'refs/pull/6/head' of https://github.com/apple/swift-algorithms +34d7a55d1adcb404a6c48d5643fe7263d930db51 not-for-merge 'refs/pull/61/head' of https://github.com/apple/swift-algorithms +3b511072a639ffaafc3a79d4feb90831100edba5 not-for-merge 'refs/pull/65/head' of https://github.com/apple/swift-algorithms +4cef40cedc78cd6fff22e99c8eb57bfd8a9a6832 not-for-merge 'refs/pull/66/head' of https://github.com/apple/swift-algorithms +d0cde7efa99575cb86acd713ea1ee411c4101c6f not-for-merge 'refs/pull/68/head' of https://github.com/apple/swift-algorithms +cb028ba72a3d4bfaa6cbdd649e52f084a13d8be4 not-for-merge 'refs/pull/7/head' of https://github.com/apple/swift-algorithms +7a1f51ebb9b3b21e9b513fc2c36592000fef7f6c not-for-merge 'refs/pull/70/head' of https://github.com/apple/swift-algorithms +bc133a8a4a73536b558c45d4b4e35410252fea4c not-for-merge 'refs/pull/71/head' of https://github.com/apple/swift-algorithms +136352bd266a215f5617347f5093f30131d91e6e not-for-merge 'refs/pull/73/head' of https://github.com/apple/swift-algorithms +bf1de3240d6e6acac989848bc7a9e1abdedb4475 not-for-merge 'refs/pull/75/head' of https://github.com/apple/swift-algorithms +30fa07486ef340dc866dc5ae25d6eab8e1ced1bd not-for-merge 'refs/pull/76/head' of https://github.com/apple/swift-algorithms +066e968c97cc32c5570d10dda86f35d77fa934ea not-for-merge 'refs/pull/77/head' of https://github.com/apple/swift-algorithms +20012370a7c3dacb158db69394e95f63cb4daf2f not-for-merge 'refs/pull/78/head' of https://github.com/apple/swift-algorithms +cc20b55cc67ce23cf1acd2b66d581460ef4dbd32 not-for-merge 'refs/pull/79/head' of https://github.com/apple/swift-algorithms +46b2bee45f0b41e8ba15efd568bb629fab7dcbc5 not-for-merge 'refs/pull/8/head' of https://github.com/apple/swift-algorithms +3f0d6d743e89090999d8deb9655181db1cf52e13 not-for-merge 'refs/pull/82/head' of https://github.com/apple/swift-algorithms +18e49f714ba5de7d30a2e277f8dc262d0668c998 not-for-merge 'refs/pull/83/head' of https://github.com/apple/swift-algorithms +62a3cae055bfeed5885c21d97c7c74bf2da18510 not-for-merge 'refs/pull/85/head' of https://github.com/apple/swift-algorithms +fd4571adf84b7fd49fe3c6ae2419605419fee932 not-for-merge 'refs/pull/86/head' of https://github.com/apple/swift-algorithms +f1f279b85084592ed0b43e452ca8e502f4f03859 not-for-merge 'refs/pull/87/head' of https://github.com/apple/swift-algorithms +1d5d6432e8705bb3eeea6d935b8ae4490235645b not-for-merge 'refs/pull/88/head' of https://github.com/apple/swift-algorithms +1d3dcaf1d2e5f69ea351655cd1cf4bc260108c04 not-for-merge 'refs/pull/9/head' of https://github.com/apple/swift-algorithms +57cbb28e997e5098f992c11f906cf04d1ac47fd6 not-for-merge 'refs/pull/90/head' of https://github.com/apple/swift-algorithms +bda6c26f276726bef1d20715bff9eadaf7dbfe63 not-for-merge 'refs/pull/91/head' of https://github.com/apple/swift-algorithms +e0d9fb95f8754ebdffd1d54210707f322b6f676e not-for-merge 'refs/pull/92/head' of https://github.com/apple/swift-algorithms +15ea8f52d07c00274974136ad5b2858bc4ece24a not-for-merge 'refs/pull/93/head' of https://github.com/apple/swift-algorithms +ea175bb53db89fa7ad139dc603e97dfe8e23c722 not-for-merge 'refs/pull/95/head' of https://github.com/apple/swift-algorithms +b39686eda9ea032250f787661137c1df638380d5 not-for-merge 'refs/pull/96/head' of https://github.com/apple/swift-algorithms +1e71b62736e904944b5c662c9b87538ef6532aee not-for-merge 'refs/pull/97/head' of https://github.com/apple/swift-algorithms +ecfbe1cb18186860b259fd4e779604af6ac9bf91 not-for-merge 'refs/pull/98/head' of https://github.com/apple/swift-algorithms +6cffd04a4f09cb9111d98ee70dc4314fcb5fc56e not-for-merge tag '0.0.1' of https://github.com/apple/swift-algorithms +bb3bafeca0e164ece3403a9de646b7d38c07dd49 not-for-merge tag '0.0.2' of https://github.com/apple/swift-algorithms +1e761dd787b0f148f0b7aec42a7ff401767c26fa not-for-merge tag '0.0.3' of https://github.com/apple/swift-algorithms +4cca4895cc65743c32ddd9a59d7663f8b058ac16 not-for-merge tag '0.0.4' of https://github.com/apple/swift-algorithms +36bcc5581bf848703b2ded576549b969bcb1705d not-for-merge tag '0.1.0' of https://github.com/apple/swift-algorithms +04d91803a2dd58c14db9cf66c7412c6dd4a26fc8 not-for-merge tag '0.1.1' of https://github.com/apple/swift-algorithms +e25cf27e57fc3eec00ea2fc8ea7f99695c59966f not-for-merge tag '0.2.0' of https://github.com/apple/swift-algorithms +2327673b0e9c7e90e6b1826376526ec3627210e4 not-for-merge tag '0.2.1' of https://github.com/apple/swift-algorithms +b14b7f4c528c942f121c8b860b9410b2bf57825e not-for-merge tag '1.0.0' of https://github.com/apple/swift-algorithms +bcd4f369ac962bc3e5244c9df778739f8f5bdbf1 not-for-merge tag '1.1.0' of https://github.com/apple/swift-algorithms +f6919dfc309e7f1b56224378b11e28bab5bccc42 not-for-merge tag '1.2.0' of https://github.com/apple/swift-algorithms +87e50f483c54e6efd60e885f7f5aa946cee68023 not-for-merge tag '1.2.1' of https://github.com/apple/swift-algorithms diff --git a/.build/repositories/swift-algorithms-bf5a01cd/HEAD b/.build/repositories/swift-algorithms-bf5a01cd/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-algorithms-bf5a01cd/config b/.build/repositories/swift-algorithms-bf5a01cd/config new file mode 100644 index 0000000..18d4360 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/apple/swift-algorithms + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-algorithms-bf5a01cd/description b/.build/repositories/swift-algorithms-bf5a01cd/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/applypatch-msg.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/commit-msg.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/post-update.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-applypatch.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-commit.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-merge-commit.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-push.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-rebase.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-receive.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/prepare-commit-msg.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-algorithms-bf5a01cd/hooks/push-to-checkout.sample b/.build/repositories/swift-algorithms-bf5a01cd/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-algorithms-bf5a01cd/info/exclude b/.build/repositories/swift-algorithms-bf5a01cd/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-algorithms-bf5a01cd/objects/pack/pack-e32c81ebee8c720694e5057b28a7cf390fa27558.idx b/.build/repositories/swift-algorithms-bf5a01cd/objects/pack/pack-e32c81ebee8c720694e5057b28a7cf390fa27558.idx new file mode 100644 index 0000000..06623eb Binary files /dev/null and b/.build/repositories/swift-algorithms-bf5a01cd/objects/pack/pack-e32c81ebee8c720694e5057b28a7cf390fa27558.idx differ diff --git a/.build/repositories/swift-algorithms-bf5a01cd/objects/pack/pack-e32c81ebee8c720694e5057b28a7cf390fa27558.pack b/.build/repositories/swift-algorithms-bf5a01cd/objects/pack/pack-e32c81ebee8c720694e5057b28a7cf390fa27558.pack new file mode 100644 index 0000000..f683c13 Binary files /dev/null and b/.build/repositories/swift-algorithms-bf5a01cd/objects/pack/pack-e32c81ebee8c720694e5057b28a7cf390fa27558.pack differ diff --git a/.build/repositories/swift-algorithms-bf5a01cd/packed-refs b/.build/repositories/swift-algorithms-bf5a01cd/packed-refs new file mode 100644 index 0000000..89ab7c4 --- /dev/null +++ b/.build/repositories/swift-algorithms-bf5a01cd/packed-refs @@ -0,0 +1,231 @@ +# pack-refs with: peeled fully-peeled sorted +b275ccd212aebd8522cff7ae7ab6cd0470d21f8d refs/heads/compacted-documentation-typo +4b80f3eedd61f8ad3d6a6f0acc7cd7168f44dc90 refs/heads/joined_prefix_suffix +0e939e7bb92d5305022f0f981973c2de5ee543b4 refs/heads/main +b333caf0a5deb881495fd597dfb790d35be1f8a8 refs/heads/nate/bench +040eb49b511f8b512b87986ec953c3bff788cdb4 refs/heads/nate/concurrent_algos +33b053c94558a9f532a27b5a546560d457d278aa refs/heads/nate/count_where +357de38650730830c95fff888dbd794647a458d6 refs/heads/nate/firstrange +32aee022ce444d1fd6a1bbd5844b8720dba1e086 refs/heads/nate/merge_in_place +e84988b833de5477d17d6d0cf9030d58f1ed6cb3 refs/heads/nate/pdqsort +eb93e564d469961a3bcc6a890fab6f4ee95ae24e refs/heads/nate/random_sequence +f0df883f88e68fbba050f11c5063aac155061515 refs/heads/reductions-into +87e50f483c54e6efd60e885f7f5aa946cee68023 refs/heads/release/1.2.1 +e1db0f7f9a64de2180595326b16932b0a66ee0fe refs/heads/shahmishal/test-pr +993b950250bf91d594b2e779c74dc88d7f165a5a refs/heads/swift-format +e6011cc5d00eedb627b9d0255c87ed4add9bf747 refs/heads/swift-format-canonicalized +0bd7f4dcb1b518be23d671c0d2a84aa3a1147727 refs/heads/typed-errors +f0a5f9b6b34081cea360e011650f1f78b85b7342 refs/pull/1/head +8deae3ff93a185a41ea0a5f00860188c8e4b7407 refs/pull/10/head +e1db0f7f9a64de2180595326b16932b0a66ee0fe refs/pull/102/head +e44150096fc3e0aa3bfa6a783b0ee1e335546519 refs/pull/102/merge +57e9406b44800d6221e0864633b22b316745d8fe refs/pull/103/head +8a67ef34db0a481a56dbd7463c8e5c6a85f18e5c refs/pull/104/head +3d16b0b33d2baab62567aa4b99d1d9779ea574c2 refs/pull/105/head +e583de90410852d8c199fcbc442ae9e248d69e38 refs/pull/106/head +ba57786b8db4a50f92bfec127ce82c67be22fd17 refs/pull/109/head +6ff35f87e27ff1914f16d7593c64a454691ffc11 refs/pull/11/head +efd349a58478900c940461f4dcfbe3ba3a53ee62 refs/pull/111/head +d64dd16a6b888bf823f9bdeb8eee3f80492309ea refs/pull/112/head +ae705ce867b066275f85885d79e60e891ef0d088 refs/pull/113/head +df534c70db01e55b8abc342aadefe2c307fd2bf7 refs/pull/114/head +3b794396f970af31284952bcde873941f382bbf0 refs/pull/115/head +3cf9be3a727cd33caf198ebb6d7a7e309f0f5338 refs/pull/116/head +3f531edd3fed39a2a0fcdf357bcb26acbccd7ea6 refs/pull/117/head +f5e814b58034e5dbbe6551a82ab900d78ddbe2fc refs/pull/117/merge +f0df883f88e68fbba050f11c5063aac155061515 refs/pull/118/head +e092ca010da6b8b2f1489ba85168b8c7084b3463 refs/pull/119/head +fe768002aa4d1c8eb628c61b12659772ea768f3e refs/pull/12/head +f2f43450b3662ff56703d36cafa63d9a560de446 refs/pull/120/head +ddbe9c4407ab5de8b422089000f46ba69091db6c refs/pull/121/head +53872793ab4def8fe601fd5019066a94596a27f6 refs/pull/123/head +989a11948c87d5b2ea0a65470e5266be84c1444e refs/pull/124/head +a9d45042f6a195f8240c04bf395a5783260e037d refs/pull/125/head +34c3f2500ce41c3d3edc3595706203b23fcd2580 refs/pull/126/head +279cf20387dc43f9e0965b855e7ae70f438a92ab refs/pull/127/head +b12fd6b3d4ac452bc71e2aae3db640e1cb073e8a refs/pull/128/head +a32c30fa3fc6e4564d25dc4b668fa9396fed2cbd refs/pull/13/head +ed59a1f0c5d1ff091381d6071cf09ec113061522 refs/pull/130/head +53d2870009e491ea2f537cd0e508075214b293de refs/pull/132/head +39ff6c7567d31b02a22a18a008e1b9c647d1e4ed refs/pull/133/head +95e2c626f7604f1641a613af4c6d4188357a797f refs/pull/136/head +1261bd780b72030430d3f3ebe21939492829068d refs/pull/137/head +e3dea6f11d12b5ad7ee0384e2422783775148ff9 refs/pull/138/head +9b173fa204cfac07143b16c3a2fb6483d3eca305 refs/pull/139/head +c28b5a017cd584381002a8597cc048523287d3ea refs/pull/14/head +1370d96b57f35ff443f6647e09854ff845eec4fa refs/pull/141/head +1bf4884bc5de585fae63f3d7cb264225c106d455 refs/pull/142/head +91ecb0d5ee29ad04fdb6fc99a9482e46060430fc refs/pull/143/head +22debdf424c7628390b4be1f1b4993c17a97e04f refs/pull/144/head +17bb56b30f1df2407e343e2c7435aca4abdea3d9 refs/pull/145/head +5804cf55d2f2c0e0cf5ca09db678a54bc1d664d1 refs/pull/147/head +b6672843b22dba788a5bbe44e08549e63578164c refs/pull/148/head +679dcc0228a387dea2c79a53a5c581b1057953e9 refs/pull/148/merge +cf3ae05d57df109aabe8202dc42a70c45cf58bd0 refs/pull/15/head +59197802c3d272adfd2e2417daa0f931f0793332 refs/pull/151/head +51a3c6bfe17aa7a38bae1cae308f1aa7548678cd refs/pull/152/head +f63b9a491404047e265b2af18fc4396e0050ff2f refs/pull/153/head +c88e321ce49cd8bd92b5c98e7ec7f421dae3169c refs/pull/153/merge +e2f78c1a614df0d540e1aa3d6cac9242846b9a94 refs/pull/154/head +287176ec24b7ea8d13af38dbf241900b30e63c34 refs/pull/155/head +6f5aec0d9056e31e8553207d5ca2836c9d693e30 refs/pull/156/head +9c1cb7168753c5471c1f34c465851bf55ebfbecd refs/pull/157/head +a9717a0f1547a7c0ca410be8023daf7ecc339056 refs/pull/158/head +64654d44d5d8a3192ab60d568dd7cab95c86828d refs/pull/158/merge +b275ccd212aebd8522cff7ae7ab6cd0470d21f8d refs/pull/159/head +d74a40c8b56366edd2df244c186429a61ae33b8d refs/pull/16/head +de333ca57efaca3ed7633d56fa882ca52852c0f9 refs/pull/162/head +f591ab4037d3e985d3b8bca97b87253b2453aa9d refs/pull/164/head +075dfab803c4a5a53f068f44818a7c92911b6162 refs/pull/165/head +45c0900bb36e7dab20cad26441e29cb85896ae37 refs/pull/167/head +27df2fd4425b33610e80feaa986b11421e186037 refs/pull/168/head +7781608e0cb3adf0f7a02c7369cdc3b39303c5af refs/pull/17/head +dd5a49b5cabc8b1bacddd2ebb892aa3bae19c181 refs/pull/171/head +f147d0c6c0301cc8636d876643e28b70efcce5fa refs/pull/173/head +17bae03ec2a75e6d4a519d0dc314adb68d28b684 refs/pull/174/head +0f9c9ec665ab07f4086c1547ee06b4e5b8073299 refs/pull/175/head +b68955da0e5ab4707513223e5888da641e8571e3 refs/pull/177/head +ebb86683d395beac92cd86ddd29f6c40572c909b refs/pull/177/merge +5160bd7f79be4a5bd1031b862b3b15996678263f refs/pull/179/head +50685e1b90c97bee4b8f51757795992e11fc6cfc refs/pull/18/head +9ba15793999cf20bd793cd5eb2cf60bb9db30fa0 refs/pull/182/head +ffc92a27774e97426dc673130f1596d10ef74ba1 refs/pull/184/head +c0edc8015b3b83cdea5b14afc39748895bbcab80 refs/pull/184/merge +38799f3b3edfa9f8cf759506e1a6bc2400fcac14 refs/pull/185/head +744c386e6f28830d7b828b8a2d5ae5a1278214cd refs/pull/185/merge +fe66cc94f48dd4f4acd911dded415656946e5282 refs/pull/186/head +aa6349dea0dca364c92923c497cd93297ce54111 refs/pull/191/head +a82970bedc14d62edd3485eeca9063df9c8964d1 refs/pull/193/head +f14078dfc8bdaf823784a94aff943066a6a0403c refs/pull/193/merge +57fc7645b8826984bb5f7aced724d500c95f8d19 refs/pull/194/head +1a707601e1ce5f6396bb45411381e3f32c9b72a0 refs/pull/197/head +620bf363c41be66073de10925a95a5f9c3e142ca refs/pull/2/head +3a2cbf49b6cf90f75b95213e935c344632d14621 refs/pull/20/head +1a93a9318403e0930f3a3898e4ef036a01fa4ee3 refs/pull/200/head +da14f5160be99a7d3221ccb604bcaf96bd06f6e5 refs/pull/201/head +afae761874ad360bdd9a1385305b44f19e9fe88a refs/pull/202/head +598946f0f7b47c0fadfead8b130a17e1cd490f01 refs/pull/203/head +9274f371ac5e5e9ffa15f966696460e244601507 refs/pull/203/merge +3240ad4a1997e4d7bfe98ac029f62dbb3b2d501d refs/pull/204/head +715dab04c95b89b1c2bbaf8bf4286ee6556ee4f7 refs/pull/205/head +bd65788389dbfe3f0f4fe61f364825173d3a51bd refs/pull/206/head +c8ae549e42aed5d5940a8b83250aa85e9d8d1dc6 refs/pull/210/head +312d9b0e6d77080e60f93467af6cc989a5023471 refs/pull/211/head +3aad44f68e42b776d027b8800ba16be3c19880e9 refs/pull/212/head +6608ddc8827c69e04f81bce8969a28254cd97ae9 refs/pull/213/head +523e825edc705ab438ec044c49bc76aa8590ec9b refs/pull/215/head +b925460a40404b3406b8c936f949f6509570cfda refs/pull/22/head +d8c9e5859b04d0cccfc1c0089ce0b58e2b5dbaf6 refs/pull/220/head +51eb19048b34dd2596bccdde2e598a287cef6713 refs/pull/222/head +de1fb0c700610b901a937e948a286f2dde354352 refs/pull/223/head +d5942cad8facab17c009414f4790737a26cf768d refs/pull/224/head +4167290eb13745a65781050ea40ec432d9cd870e refs/pull/225/head +0a01f21eae94d891cc169623222b4e2d5329ad3a refs/pull/227/head +76f8a51e85d1f1117352d882b475c71659694c02 refs/pull/228/head +6dc0578c668111e5822843480d35b9394949465d refs/pull/230/head +7b29c5556b1fa92c2871d4ad36cca9e497f84b75 refs/pull/233/head +f8f4e3c69a4b6c0fcc96f3b9abc8e95d6e1be8a3 refs/pull/234/head +73b067a749b3aa05eaf63c6df891d142781ef5b8 refs/pull/234/merge +aa2a5d0d866586bb9a3feb2b77c4c5ec41cb28c7 refs/pull/236/head +3af29ab45317143542b6177406c4fc1023b35634 refs/pull/236/merge +7af22f9f915aaa8b759e0339a97ac4a14d71c093 refs/pull/237/head +15d0af7210307a942d8e50a63ab6beaa9bc58382 refs/pull/238/head +dfcc611e1de2271b22acaedf6596c3be0bfa4d24 refs/pull/24/head +d82756523381db6a78526a7af56540ad2ed52eab refs/pull/240/head +3c6226cff89dc7a93ca2b5527228e416b98bc4ea refs/pull/246/head +da4d5e950cf79abe0aa543e255c4437547873608 refs/pull/247/head +fefa25f0d70c5d04169c7e31098897fe23deba64 refs/pull/248/head +1b84adef9b5f36b51f1dd8aa288816df76070412 refs/pull/250/head +e8e3bd5030192d6e5c439f1f8e5f18e089203cea refs/pull/253/head +67e303e6fd1affd4c8cebf3446e2ec152d6e5fb8 refs/pull/254/head +64adba668f1eb025dbabb7d966cb40e132d6f5b8 refs/pull/255/head +bd4c725bb3ba34e4ece2043e0d5ce6ed325edfcf refs/pull/255/merge +e51779ec9fc54516427467198cad3ad1982e35de refs/pull/256/head +f1dda075d6a6df973fd4488ea2d0b0f95064317f refs/pull/256/merge +5d2b7085b70271253dd7987fb468d6f55adc02ad refs/pull/257/head +c848c42d4a9f64653af66881efb0944757e5a624 refs/pull/257/merge +8a9ee7c03ab95efc66fc259adfd8d45edc3b0b89 refs/pull/26/head +a96b90ca4df9af1b8d13fc707e4566141c22661d refs/pull/27/head +b85ada3c5416777ba2d5c264db6902a7f262443d refs/pull/28/head +ae445cd8e8a2c7831e9f870c334d8412da179bfb refs/pull/29/head +1a16bcc808519b72acb29ae6fafb55a3abfb8843 refs/pull/3/head +39c10de04768c5563b6ce25370e2d777b907ce0e refs/pull/30/head +5a0feb465a45e258f9bfce4755f0eff80ce6c7c0 refs/pull/31/head +2bee01270ca624ea3e9884c60a71de2ab8b1ecaa refs/pull/32/head +4c89606c0813da9e5d44df36e3fecac5f4252d79 refs/pull/33/head +bf2e1b1170bd1309a5ab528ae9f12b432b7320b7 refs/pull/34/head +b31e052c85fefb0254142774b9e56086871d6fdf refs/pull/34/merge +d4bdbc4364fea7e1b002b8385157e5542dbbca50 refs/pull/35/head +beb1b21f5985d3d5bd99d96db78f513da20a17d1 refs/pull/36/head +46831e4a4a1f8dee09bc2b3bac1d001dd520add0 refs/pull/37/head +3c14cd2a06d2052c1f3afdb8fa61952bfc619be2 refs/pull/37/merge +ca4a143ede6b49c101d4e95ff627ecf685da2403 refs/pull/38/head +3e17d0078a0f95f141e7ccf1335626cc4433818a refs/pull/38/merge +4dcba178a74503431a7c640c037b6efaaeef3a9f refs/pull/39/head +0c3613fc1e625416e13f5d649164487feb7b9073 refs/pull/4/head +c68eddefb27d4ec7953873cc40767a1eb0e98cea refs/pull/40/head +357de38650730830c95fff888dbd794647a458d6 refs/pull/41/head +0e4e40c8cb7c86d3c2bb1f7f4cf01dcb35c3546a refs/pull/42/head +a0a59ff46c94c2ff0f9a82c5f7c41fa96c23a117 refs/pull/43/head +26ac0d10c526e4843f6f1a507c7e4ff3e5b82f7f refs/pull/43/merge +2976fa6408b426e9d9f1aaa1576a7b5c6338100f refs/pull/44/head +0fe28d728162a91d389dcb9e96135d01568e6daf refs/pull/45/head +a58cc1d7a567d076ab97343fd3b831915997e7b9 refs/pull/45/merge +6660d642cdc0093b19ca20cdb2845faa79b83767 refs/pull/46/head +5b3e6eac2b1d7532ad699f23c732a8d4ffedd5f0 refs/pull/47/head +7d5e048fc7c59ce8904bc28496b6e1ab05f61eb7 refs/pull/48/head +98573a6a9a5084c29476ce2de3506304c8369d36 refs/pull/48/merge +8d8a939c62a232864cf36422d0699ef47ffbccb0 refs/pull/49/head +a8902448b92b43c393c06ff3822334ab473925f7 refs/pull/5/head +a7bacfa52e5f9cb8298f271aeee68b4784b019c1 refs/pull/50/head +7a6c1353f3c579cf709d0ea9602f598813ffa2c5 refs/pull/51/head +99d436b87680778d5e057be282b6fdc129e68025 refs/pull/52/head +fd18da9cde104d946e1b33e9e5e912615102e7dc refs/pull/52/merge +4b68aa8de540eb7aedde0df3dab8702a144c4a64 refs/pull/53/head +6d2839ca62a661d2a2bbad81c78061e5468c730d refs/pull/53/merge +ad8d6ed7a172d0fe543b34e8429e337ac681d978 refs/pull/54/head +bc29af60eba1d71bf1456a76eb704feb30fa3d25 refs/pull/55/head +0d05042553ca71e8022afb60abb277090166b16e refs/pull/56/head +b18a659ab544a198f3e0a7a9bb200a1088eb9642 refs/pull/57/head +a226cb982f2901dd0f600b3ead4c99e4ac55f67d refs/pull/6/head +34d7a55d1adcb404a6c48d5643fe7263d930db51 refs/pull/61/head +3b511072a639ffaafc3a79d4feb90831100edba5 refs/pull/65/head +4cef40cedc78cd6fff22e99c8eb57bfd8a9a6832 refs/pull/66/head +d0cde7efa99575cb86acd713ea1ee411c4101c6f refs/pull/68/head +cb028ba72a3d4bfaa6cbdd649e52f084a13d8be4 refs/pull/7/head +7a1f51ebb9b3b21e9b513fc2c36592000fef7f6c refs/pull/70/head +bc133a8a4a73536b558c45d4b4e35410252fea4c refs/pull/71/head +136352bd266a215f5617347f5093f30131d91e6e refs/pull/73/head +bf1de3240d6e6acac989848bc7a9e1abdedb4475 refs/pull/75/head +30fa07486ef340dc866dc5ae25d6eab8e1ced1bd refs/pull/76/head +066e968c97cc32c5570d10dda86f35d77fa934ea refs/pull/77/head +20012370a7c3dacb158db69394e95f63cb4daf2f refs/pull/78/head +cc20b55cc67ce23cf1acd2b66d581460ef4dbd32 refs/pull/79/head +46b2bee45f0b41e8ba15efd568bb629fab7dcbc5 refs/pull/8/head +3f0d6d743e89090999d8deb9655181db1cf52e13 refs/pull/82/head +18e49f714ba5de7d30a2e277f8dc262d0668c998 refs/pull/83/head +62a3cae055bfeed5885c21d97c7c74bf2da18510 refs/pull/85/head +fd4571adf84b7fd49fe3c6ae2419605419fee932 refs/pull/86/head +f1f279b85084592ed0b43e452ca8e502f4f03859 refs/pull/87/head +1d5d6432e8705bb3eeea6d935b8ae4490235645b refs/pull/88/head +1d3dcaf1d2e5f69ea351655cd1cf4bc260108c04 refs/pull/9/head +57cbb28e997e5098f992c11f906cf04d1ac47fd6 refs/pull/90/head +bda6c26f276726bef1d20715bff9eadaf7dbfe63 refs/pull/91/head +e0d9fb95f8754ebdffd1d54210707f322b6f676e refs/pull/92/head +15ea8f52d07c00274974136ad5b2858bc4ece24a refs/pull/93/head +ea175bb53db89fa7ad139dc603e97dfe8e23c722 refs/pull/95/head +b39686eda9ea032250f787661137c1df638380d5 refs/pull/96/head +1e71b62736e904944b5c662c9b87538ef6532aee refs/pull/97/head +ecfbe1cb18186860b259fd4e779604af6ac9bf91 refs/pull/98/head +6cffd04a4f09cb9111d98ee70dc4314fcb5fc56e refs/tags/0.0.1 +bb3bafeca0e164ece3403a9de646b7d38c07dd49 refs/tags/0.0.2 +1e761dd787b0f148f0b7aec42a7ff401767c26fa refs/tags/0.0.3 +4cca4895cc65743c32ddd9a59d7663f8b058ac16 refs/tags/0.0.4 +36bcc5581bf848703b2ded576549b969bcb1705d refs/tags/0.1.0 +04d91803a2dd58c14db9cf66c7412c6dd4a26fc8 refs/tags/0.1.1 +e25cf27e57fc3eec00ea2fc8ea7f99695c59966f refs/tags/0.2.0 +2327673b0e9c7e90e6b1826376526ec3627210e4 refs/tags/0.2.1 +b14b7f4c528c942f121c8b860b9410b2bf57825e refs/tags/1.0.0 +bcd4f369ac962bc3e5244c9df778739f8f5bdbf1 refs/tags/1.1.0 +f6919dfc309e7f1b56224378b11e28bab5bccc42 refs/tags/1.2.0 +87e50f483c54e6efd60e885f7f5aa946cee68023 refs/tags/1.2.1 diff --git a/.build/repositories/swift-argument-parser-54a11a8d/FETCH_HEAD b/.build/repositories/swift-argument-parser-54a11a8d/FETCH_HEAD new file mode 100644 index 0000000..ca164ae --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/FETCH_HEAD @@ -0,0 +1,562 @@ +5eba85261b65dbf59e22ef7e18443c98c5666587 not-for-merge branch 'deggert/parse-from-environment' of https://github.com/apple/swift-argument-parser +db20beaa905ee09b956f2d8405ad6c905c013c64 not-for-merge branch 'dictionaries' of https://github.com/apple/swift-argument-parser +f663f714902106ccd36cb10eb5bfeca050c22821 not-for-merge branch 'doc-generation' of https://github.com/apple/swift-argument-parser +dc7ec065fe476e20f580bf51d637260a6182ca56 not-for-merge branch 'expressible-names' of https://github.com/apple/swift-argument-parser +e22ed48f264e7fe0d1ebbf05ce8e56e3340cedf0 not-for-merge branch 'extendable_example' of https://github.com/apple/swift-argument-parser +a76f59f4469b567bc346e2d6c0ac6ef721da07ea not-for-merge branch 'feature/interactive' of https://github.com/apple/swift-argument-parser +b64f05012ef5bfb1d742e9bdc951534f0c4da2b5 not-for-merge branch 'feature/tokenize' of https://github.com/apple/swift-argument-parser +10b123ce4ab01ff11a6f1d8379638bb2ba39ed01 not-for-merge branch 'flag-set' of https://github.com/apple/swift-argument-parser +e1b5801b4a8e220707fc6ba55bda8170542ccc07 not-for-merge branch 'formatting-keep-output-together' of https://github.com/apple/swift-argument-parser +eafe7b2af877448221e150f7b21a1cdead20105e not-for-merge branch 'gh-pages' of https://github.com/apple/swift-argument-parser +932e6cdd2a8bd2286e52ccfee18a2f04c173835d not-for-merge branch 'main' of https://github.com/apple/swift-argument-parser +cc4a03d7bcce0f8876f8f160c0769ef7caf6e56b not-for-merge branch 'maxd/ci-test' of https://github.com/apple/swift-argument-parser +1ebe98e5e9195ff19cd9c1fe6363e44d56066814 not-for-merge branch 'nate/clamp_exitcode' of https://github.com/apple/swift-argument-parser +a840ce9e80eef5a63ca17379cc6b0ec6936e7a62 not-for-merge branch 'nate/projected_value' of https://github.com/apple/swift-argument-parser +78649e1f3de7344b55cc51a2080fff160f202713 not-for-merge branch 'option-tuples' of https://github.com/apple/swift-argument-parser +5d85168784f9dfd647d0aa611b470f3176cbc431 not-for-merge branch 'option-tuples-crash' of https://github.com/apple/swift-argument-parser +2e0c299970daadc136c0ecb014d50f46f911b1a7 not-for-merge branch 'rauhul/help-result-builder' of https://github.com/apple/swift-argument-parser +ede9fca5a2fd2cb8a40ed88feec93a7b79aae28d not-for-merge branch 'rauhul/supplementalDiscussion' of https://github.com/apple/swift-argument-parser +d66a07b0831ee177b3b57e0c43784fc503ddcfef not-for-merge branch 'rebase-bash-completion-on-tool-info' of https://github.com/apple/swift-argument-parser +0a2411ac29e4d516bd3a239c3ec89d2696d07e7b not-for-merge branch 'rebase-fish-completion-on-tool-info' of https://github.com/apple/swift-argument-parser +986d191f94cec88f6350056da59c2e59e83d1229 not-for-merge branch 'release/0.4.3' of https://github.com/apple/swift-argument-parser +83b23d940471b313427da226196661856f6ba3e0 not-for-merge branch 'release/0.4.4' of https://github.com/apple/swift-argument-parser +e1465042f195f374b94f915ba8ca49de24300a0d not-for-merge branch 'release/1.0.2' of https://github.com/apple/swift-argument-parser +e394bf350e38cb100b6bc4172834770ede1b7232 not-for-merge branch 'release/1.0.3' of https://github.com/apple/swift-argument-parser +011f0c765fb46d9cac61bca19be0527e99c98c8b not-for-merge branch 'release/1.5.1' of https://github.com/apple/swift-argument-parser +af1be50a9365f849e5cf289ff82afcd97af5fe2a not-for-merge branch 'standardized-docs' of https://github.com/apple/swift-argument-parser +5177e0bce7659700fd15c0b933e347a231ad6b5d not-for-merge 'refs/pull/10/head' of https://github.com/apple/swift-argument-parser +b108ee20fcf8027c68c55c1cbd3a7b44597d4200 not-for-merge 'refs/pull/101/head' of https://github.com/apple/swift-argument-parser +e13cfdae3d618ea44a52214945930e35a7cc0dcd not-for-merge 'refs/pull/102/head' of https://github.com/apple/swift-argument-parser +92187e865625067244cca02d397f1ef0fccb0f16 not-for-merge 'refs/pull/104/head' of https://github.com/apple/swift-argument-parser +ecb046a9e0f58acff18f5a4467340bf2785e4dd3 not-for-merge 'refs/pull/108/head' of https://github.com/apple/swift-argument-parser +5eba85261b65dbf59e22ef7e18443c98c5666587 not-for-merge 'refs/pull/109/head' of https://github.com/apple/swift-argument-parser +99aa2cafd0619dc5b3bb48e7bd5db3a0db5bb116 not-for-merge 'refs/pull/110/head' of https://github.com/apple/swift-argument-parser +46e228e3c0d7ee45738c247a3c3241d35bdfb7bd not-for-merge 'refs/pull/111/head' of https://github.com/apple/swift-argument-parser +5318f26d5045336b00a9aeb79eb3db9c5ece9ed7 not-for-merge 'refs/pull/113/head' of https://github.com/apple/swift-argument-parser +ee07993de0f05809575ee1e2187012081738c908 not-for-merge 'refs/pull/114/head' of https://github.com/apple/swift-argument-parser +a123a2961039b226d9d0e0395a3a33f49e5a5e2a not-for-merge 'refs/pull/115/head' of https://github.com/apple/swift-argument-parser +c1dec4de7695c16c83ed39fce9b1846915a83272 not-for-merge 'refs/pull/116/head' of https://github.com/apple/swift-argument-parser +549a2ac8ba2d939686640a76dfbb0de1c79e9e2d not-for-merge 'refs/pull/117/head' of https://github.com/apple/swift-argument-parser +d2189a15ab5aab8dadb99cb435288ebd7377259a not-for-merge 'refs/pull/118/head' of https://github.com/apple/swift-argument-parser +b7b9c0825697d9c0bb75ece7baabc543872b44ca not-for-merge 'refs/pull/119/head' of https://github.com/apple/swift-argument-parser +5f802047fd70a904f73a21220cc5a6b5a87723b1 not-for-merge 'refs/pull/12/head' of https://github.com/apple/swift-argument-parser +f2ac3523757be3183a581cc06310570e273cea80 not-for-merge 'refs/pull/121/head' of https://github.com/apple/swift-argument-parser +e66023afca46e518612fcf7d94c3a81852c96e7e not-for-merge 'refs/pull/122/head' of https://github.com/apple/swift-argument-parser +69673d3a2e44fe9217468aeffaa1e9af00333d03 not-for-merge 'refs/pull/123/head' of https://github.com/apple/swift-argument-parser +a840ce9e80eef5a63ca17379cc6b0ec6936e7a62 not-for-merge 'refs/pull/128/head' of https://github.com/apple/swift-argument-parser +c11c0e49eabb7c16aee4ad17006f58772248e57a not-for-merge 'refs/pull/128/merge' of https://github.com/apple/swift-argument-parser +25ef07d16e9831076e5157592937080e9b12d9f3 not-for-merge 'refs/pull/129/head' of https://github.com/apple/swift-argument-parser +0f70a7cae3d9cd17e2c2127be68f6798b8bab919 not-for-merge 'refs/pull/13/head' of https://github.com/apple/swift-argument-parser +ac71a8c17a21f082f52ffca8fa26cbd0961951bb not-for-merge 'refs/pull/133/head' of https://github.com/apple/swift-argument-parser +106be2fc260c034370f4bf9c333585bb5cb8bb63 not-for-merge 'refs/pull/135/head' of https://github.com/apple/swift-argument-parser +c61931d1bacbe014edefeaae4ca9a6ee1d61494b not-for-merge 'refs/pull/138/head' of https://github.com/apple/swift-argument-parser +8fcb6d4950a5799aed21ad365c809f6ffe8445ea not-for-merge 'refs/pull/139/head' of https://github.com/apple/swift-argument-parser +b549bdde4639db28b18db05500b55c8b091a9b3c not-for-merge 'refs/pull/14/head' of https://github.com/apple/swift-argument-parser +826aa4f62b4910129a7b5b92bb83bb56a0271fa5 not-for-merge 'refs/pull/140/head' of https://github.com/apple/swift-argument-parser +2d1281d6506a3045f77ba90e1d3c6ae4a78cead6 not-for-merge 'refs/pull/141/head' of https://github.com/apple/swift-argument-parser +4f6fb0d6876b07fcd3a4f25ac9ee2bf8290531c6 not-for-merge 'refs/pull/142/head' of https://github.com/apple/swift-argument-parser +9ab9fe9ab15927399418c64a6454e3f24f15df98 not-for-merge 'refs/pull/145/head' of https://github.com/apple/swift-argument-parser +d0145dc40efd3ae2e1e7ce36688e006153357d17 not-for-merge 'refs/pull/146/head' of https://github.com/apple/swift-argument-parser +6dc3cfef51b6f91d25886d5d8a07025c38ff66cb not-for-merge 'refs/pull/147/head' of https://github.com/apple/swift-argument-parser +a259c180ae321a836a903af78f9566dd843597db not-for-merge 'refs/pull/148/head' of https://github.com/apple/swift-argument-parser +c75040bbe0f7010983bc0636e5038cd325b6d3a4 not-for-merge 'refs/pull/15/head' of https://github.com/apple/swift-argument-parser +5dd10bd587a9f52f3e7115b797b27ca593768d65 not-for-merge 'refs/pull/150/head' of https://github.com/apple/swift-argument-parser +c791a72b89b585a19e2705348eacd48be84f7f1b not-for-merge 'refs/pull/161/head' of https://github.com/apple/swift-argument-parser +be764ed3413d1b1c409c18d3d8e0d3b3a49773e1 not-for-merge 'refs/pull/162/head' of https://github.com/apple/swift-argument-parser +9ec606f7520fbd562722e825050560933dc6917d not-for-merge 'refs/pull/163/head' of https://github.com/apple/swift-argument-parser +cc4bae656df4848b4f8f2bc8aa6072e8bf07c0e6 not-for-merge 'refs/pull/165/head' of https://github.com/apple/swift-argument-parser +edf96d712fd3d781134eabc7eba49729201a8058 not-for-merge 'refs/pull/166/head' of https://github.com/apple/swift-argument-parser +86dbcc708650c25ed7eaba85f2f6cd090e89d1bd not-for-merge 'refs/pull/168/head' of https://github.com/apple/swift-argument-parser +5c68f292483210a359ad7f1288762ffe0c044f7f not-for-merge 'refs/pull/17/head' of https://github.com/apple/swift-argument-parser +8c573a5d1f09a493e48271c7eb8cbf1dda55629e not-for-merge 'refs/pull/170/head' of https://github.com/apple/swift-argument-parser +d954edfce07bd6bd7d342997275080174862a0a3 not-for-merge 'refs/pull/172/head' of https://github.com/apple/swift-argument-parser +1f9e68d881b6f85880c37f3bc08c9a85c2ad3630 not-for-merge 'refs/pull/173/head' of https://github.com/apple/swift-argument-parser +4c958e100cef3b269c90f6b0b8243f594bc3db91 not-for-merge 'refs/pull/174/head' of https://github.com/apple/swift-argument-parser +1afb81de05be41e52958b6176a70fb6098ad2db6 not-for-merge 'refs/pull/175/head' of https://github.com/apple/swift-argument-parser +3e52d2547a9d3b1a0e4f02ea7f69fc3853140868 not-for-merge 'refs/pull/176/head' of https://github.com/apple/swift-argument-parser +5f662e82aa49583a2db576c90fa96f6802365b11 not-for-merge 'refs/pull/177/head' of https://github.com/apple/swift-argument-parser +c963050608e77737168aff4940a2d155ac884858 not-for-merge 'refs/pull/178/head' of https://github.com/apple/swift-argument-parser +10c5d9ea586bd5ddbaa1f2816091a0c5f43955bd not-for-merge 'refs/pull/179/head' of https://github.com/apple/swift-argument-parser +35b003732c7ea2275be67196cd9ded65ed462388 not-for-merge 'refs/pull/181/head' of https://github.com/apple/swift-argument-parser +1cb6cf6e44cd1643a1bfc8fbd434bb26e071632e not-for-merge 'refs/pull/183/head' of https://github.com/apple/swift-argument-parser +532d935c4c5da7dd427f2cd693d034fc37ed49d6 not-for-merge 'refs/pull/185/head' of https://github.com/apple/swift-argument-parser +0c95758ce526761a82c50d144dc927bf2b42dd6b not-for-merge 'refs/pull/186/head' of https://github.com/apple/swift-argument-parser +bea6bdf5d1bfe6038734eca55ca3ae2ac675b266 not-for-merge 'refs/pull/187/head' of https://github.com/apple/swift-argument-parser +422e154fdcd49d1c1459b01bfca092c1e365440d not-for-merge 'refs/pull/188/head' of https://github.com/apple/swift-argument-parser +6c8c2ecc55eea14765bda464324eb38138a96558 not-for-merge 'refs/pull/189/head' of https://github.com/apple/swift-argument-parser +208a2e3c4522415ab8836f6c0700d68c9d8d78b4 not-for-merge 'refs/pull/19/head' of https://github.com/apple/swift-argument-parser +beee0fa083823916c2d050f17910693da2c12475 not-for-merge 'refs/pull/191/head' of https://github.com/apple/swift-argument-parser +9d623a2a22b5df03cef9ef4aff5fc681b366b167 not-for-merge 'refs/pull/193/head' of https://github.com/apple/swift-argument-parser +28d80d1aec76e767810bc75998af33fc5fab57b1 not-for-merge 'refs/pull/194/head' of https://github.com/apple/swift-argument-parser +5c25e13a80e58d342f90acd35fc7d3dd8da9b357 not-for-merge 'refs/pull/195/head' of https://github.com/apple/swift-argument-parser +5ab91b619b03f2f77cc77b90f22739fda9dc6c17 not-for-merge 'refs/pull/196/head' of https://github.com/apple/swift-argument-parser +04d117b3f7bdc2d6149bfb346f7c4ad005b70732 not-for-merge 'refs/pull/197/head' of https://github.com/apple/swift-argument-parser +4039384e0dbec011f5cb2385676331ad16966e3f not-for-merge 'refs/pull/198/head' of https://github.com/apple/swift-argument-parser +e49c6173f46ceb267798b77e387444f81d903c94 not-for-merge 'refs/pull/20/head' of https://github.com/apple/swift-argument-parser +5c232eb6d0826f73b303ceaed74a156d2b103b4b not-for-merge 'refs/pull/201/head' of https://github.com/apple/swift-argument-parser +c6b49cf1c7eb9d81496a5d270ed5e599f66ba123 not-for-merge 'refs/pull/205/head' of https://github.com/apple/swift-argument-parser +27aa98b1eec902b2983c4b827804b93bff05e4a7 not-for-merge 'refs/pull/207/head' of https://github.com/apple/swift-argument-parser +3211da82b2b614e1b4db88b07dbcf13c80e7f244 not-for-merge 'refs/pull/209/head' of https://github.com/apple/swift-argument-parser +c8ce91a86edca252cabe62912a32807ccbd2cda4 not-for-merge 'refs/pull/21/head' of https://github.com/apple/swift-argument-parser +c5fd31a5522049b1faa5348102886220bfd2ca9b not-for-merge 'refs/pull/210/head' of https://github.com/apple/swift-argument-parser +0268b52310bc46b5691c7d8284e61849ba410598 not-for-merge 'refs/pull/211/head' of https://github.com/apple/swift-argument-parser +bb4db8593aa9fdde2ccaab7ea1aee56992c10fde not-for-merge 'refs/pull/212/head' of https://github.com/apple/swift-argument-parser +d5cf53c49a698e463905e389d0e74d6795471f38 not-for-merge 'refs/pull/213/head' of https://github.com/apple/swift-argument-parser +32b32ac241801034accbd970e2bea6164b2e25f0 not-for-merge 'refs/pull/216/head' of https://github.com/apple/swift-argument-parser +b8e78e15d89ac0fc35ff94bc6986c7c87a8d2560 not-for-merge 'refs/pull/217/head' of https://github.com/apple/swift-argument-parser +11e6d838c3d1a16157d958c6a5d4f1416119df8b not-for-merge 'refs/pull/219/head' of https://github.com/apple/swift-argument-parser +acfd13d32d6a1bfe2722be3490d03c99ecd9ed5f not-for-merge 'refs/pull/22/head' of https://github.com/apple/swift-argument-parser +bb487d047d0ea3a8d1a28c838242ae71807bf16a not-for-merge 'refs/pull/222/head' of https://github.com/apple/swift-argument-parser +b11e40db0240a5eed70b233e0b45ad6c96c8c81e not-for-merge 'refs/pull/223/head' of https://github.com/apple/swift-argument-parser +7c988cb25b184d1f620660490f15bc8c0d41866a not-for-merge 'refs/pull/224/head' of https://github.com/apple/swift-argument-parser +f66d7c2030343c164aeb1f15451c569e86c65fc5 not-for-merge 'refs/pull/225/head' of https://github.com/apple/swift-argument-parser +c0e0021811bafed728601a621bc50274434f5621 not-for-merge 'refs/pull/226/head' of https://github.com/apple/swift-argument-parser +60901bf7d77802d2aaa0e956fcd6ab8d888dc1e7 not-for-merge 'refs/pull/228/head' of https://github.com/apple/swift-argument-parser +bdf97bebb0e196e49d44e77f44474123238152a1 not-for-merge 'refs/pull/229/head' of https://github.com/apple/swift-argument-parser +5af710cbaaeb673a6236569a13128a89dcb1ff8d not-for-merge 'refs/pull/232/head' of https://github.com/apple/swift-argument-parser +ce8c2ac725c4f2627247ffdfc98903d7ab0cc0c3 not-for-merge 'refs/pull/233/head' of https://github.com/apple/swift-argument-parser +220e97d85519e73142057f44042e8f0e5a66a123 not-for-merge 'refs/pull/234/head' of https://github.com/apple/swift-argument-parser +695d1037f4befeefc68e2678fc5071e5c80cd323 not-for-merge 'refs/pull/235/head' of https://github.com/apple/swift-argument-parser +28428f848564fc1cf4c23015fd62ccf2be4892f2 not-for-merge 'refs/pull/236/head' of https://github.com/apple/swift-argument-parser +4102665517009f0213111acbffe894b1664e7f5d not-for-merge 'refs/pull/237/head' of https://github.com/apple/swift-argument-parser +5a54dc06b9073403b0842b3bd4a66e6d54f3808b not-for-merge 'refs/pull/238/head' of https://github.com/apple/swift-argument-parser +6a1fa3ebeddd76fefcd8a924fb8ea3fa53d6e323 not-for-merge 'refs/pull/239/head' of https://github.com/apple/swift-argument-parser +d4d2fc29fdf2ce8646c28f0d85972fe531a867a7 not-for-merge 'refs/pull/240/head' of https://github.com/apple/swift-argument-parser +2344ed9fc9078a93509ab08d8da294517cebb8fa not-for-merge 'refs/pull/242/head' of https://github.com/apple/swift-argument-parser +2fab7a4ac6a9924fc27ed4bb334405bd6d90e83c not-for-merge 'refs/pull/244/head' of https://github.com/apple/swift-argument-parser +7f4fb092a5a1da18e2dc9aa82beb0d2f4327554f not-for-merge 'refs/pull/245/head' of https://github.com/apple/swift-argument-parser +124de2d6a8a6807f23570b6bd772ed5db10bfc34 not-for-merge 'refs/pull/246/head' of https://github.com/apple/swift-argument-parser +0ceed804cde1e8f7e3fa153e0aab5c2060fb74e2 not-for-merge 'refs/pull/247/head' of https://github.com/apple/swift-argument-parser +3c0431c88d972ab92c4eb13505339546a58bc54d not-for-merge 'refs/pull/247/merge' of https://github.com/apple/swift-argument-parser +12c967ee5bca80acda81c70b9986fe010b9d3215 not-for-merge 'refs/pull/249/head' of https://github.com/apple/swift-argument-parser +7c9747399257d9bb7f2075e72bc9003dfa91d47a not-for-merge 'refs/pull/250/head' of https://github.com/apple/swift-argument-parser +c3be971b30c4581a58168b508b0766249f4fb1b8 not-for-merge 'refs/pull/251/head' of https://github.com/apple/swift-argument-parser +43e761a23549e0dac8ba2ad962fd6b12ac576bd7 not-for-merge 'refs/pull/252/head' of https://github.com/apple/swift-argument-parser +7302cb11bc493c0a0b99e278b791282dd4851fb5 not-for-merge 'refs/pull/253/head' of https://github.com/apple/swift-argument-parser +50644fc0722fd7c82f67d9a1f295c79043cc306e not-for-merge 'refs/pull/256/head' of https://github.com/apple/swift-argument-parser +e7dd9f97ce0a4c713cafccb236a55a577a8a4494 not-for-merge 'refs/pull/257/head' of https://github.com/apple/swift-argument-parser +50f3e9048f67733540343d8ee541ceefe1fa4f9f not-for-merge 'refs/pull/258/head' of https://github.com/apple/swift-argument-parser +7db394caafe172dcc658e560548005ac9da9bc58 not-for-merge 'refs/pull/261/head' of https://github.com/apple/swift-argument-parser +1571a6c15c5cc50c3f1d1b35d9d7eb38618b5405 not-for-merge 'refs/pull/262/head' of https://github.com/apple/swift-argument-parser +7d48902916e7cdcac5345b560089b8e8a75ff9f5 not-for-merge 'refs/pull/263/head' of https://github.com/apple/swift-argument-parser +df268c5b9b03083db916e23c5b435775e8a906e2 not-for-merge 'refs/pull/268/head' of https://github.com/apple/swift-argument-parser +78f32c4eb509fdc46d54a88e89e74ba880dcf38b not-for-merge 'refs/pull/271/head' of https://github.com/apple/swift-argument-parser +a13105cb937f1a8fa6745faefc9e15dc8af40e06 not-for-merge 'refs/pull/272/head' of https://github.com/apple/swift-argument-parser +6c9c974d849d4f41e18d9f67eec9c453c8a83a92 not-for-merge 'refs/pull/273/head' of https://github.com/apple/swift-argument-parser +c1eab329e144b933b8b55c50e7e927bbbc9b8e43 not-for-merge 'refs/pull/275/head' of https://github.com/apple/swift-argument-parser +70c7e2162e58222c0e216d30a5a81930e583b8ba not-for-merge 'refs/pull/276/head' of https://github.com/apple/swift-argument-parser +2051e1bfcb47f15c1813ea2d454182eb1b497d1c not-for-merge 'refs/pull/28/head' of https://github.com/apple/swift-argument-parser +4cc06d6207cceaa28301487f954fad7dc32376c6 not-for-merge 'refs/pull/280/head' of https://github.com/apple/swift-argument-parser +4cb4ae8ce128df8c59c9cbad61607f36eb8c5901 not-for-merge 'refs/pull/281/head' of https://github.com/apple/swift-argument-parser +11df8d8e74c5691cbb62b5d924125a7db14de1e3 not-for-merge 'refs/pull/283/head' of https://github.com/apple/swift-argument-parser +2239419e98cc435b4fe81ea427fbfdcd604ebf30 not-for-merge 'refs/pull/284/head' of https://github.com/apple/swift-argument-parser +5a891e288db8ad3f189b250d7a4f05727afa1b4b not-for-merge 'refs/pull/286/head' of https://github.com/apple/swift-argument-parser +3135b85cadec386b3fa48788842b5d77c88f8b2a not-for-merge 'refs/pull/287/head' of https://github.com/apple/swift-argument-parser +4d091d4f73a5703bca2dda56b14e62c208d314bf not-for-merge 'refs/pull/288/head' of https://github.com/apple/swift-argument-parser +470ae6706607868f576a19ddbe327478bdfe76d4 not-for-merge 'refs/pull/289/head' of https://github.com/apple/swift-argument-parser +b15c77787764d1694ca6956265077df4d4f2ec23 not-for-merge 'refs/pull/29/head' of https://github.com/apple/swift-argument-parser +331a8abb8f82440c1c9ded9fbdc0571650adc972 not-for-merge 'refs/pull/290/head' of https://github.com/apple/swift-argument-parser +ad016f061cd8a8a6e0ea875124ff50f0dcbe3139 not-for-merge 'refs/pull/291/head' of https://github.com/apple/swift-argument-parser +c076175efa9f323cae2c52d2479ec41fcae5b852 not-for-merge 'refs/pull/292/head' of https://github.com/apple/swift-argument-parser +1b7aba401ebb8ca41d758418cc44f677465de5fa not-for-merge 'refs/pull/298/head' of https://github.com/apple/swift-argument-parser +0eb045e417aab4e04bb2ca0b0e156b165e6237e9 not-for-merge 'refs/pull/299/head' of https://github.com/apple/swift-argument-parser +f086616474252deef796d7daae3dcfb4edf2a0c1 not-for-merge 'refs/pull/3/head' of https://github.com/apple/swift-argument-parser +a8dd790703594e3266a42773cc6b3f922b8a38ee not-for-merge 'refs/pull/30/head' of https://github.com/apple/swift-argument-parser +d52ae71ab466941c93f829fac38a57da284e23f5 not-for-merge 'refs/pull/300/head' of https://github.com/apple/swift-argument-parser +6428e27105ae80eb4800d4c7432e6858885b2b66 not-for-merge 'refs/pull/301/head' of https://github.com/apple/swift-argument-parser +d982be31f17f8ccf13d47ed6b2d9467842a2f1aa not-for-merge 'refs/pull/302/head' of https://github.com/apple/swift-argument-parser +8a0863847d77f8a9de62eb47f53b5c1625b77abf not-for-merge 'refs/pull/303/head' of https://github.com/apple/swift-argument-parser +548eba80de5910d63f8aac2f1b1e329031074f49 not-for-merge 'refs/pull/304/head' of https://github.com/apple/swift-argument-parser +742c3b915dcac5afe2bd12a38cdd067605fcda17 not-for-merge 'refs/pull/305/head' of https://github.com/apple/swift-argument-parser +9fa8a910893b5f6b5e0adeac2bfd4bb382aae1fd not-for-merge 'refs/pull/306/head' of https://github.com/apple/swift-argument-parser +f59991a166335a9ddd18fc37f6a72a5bf3f23102 not-for-merge 'refs/pull/308/head' of https://github.com/apple/swift-argument-parser +08f2140095f5328a75c0df9dd3f3cbf4439ce04b not-for-merge 'refs/pull/309/head' of https://github.com/apple/swift-argument-parser +c69f4b738bc61886d4816772a6ea9b2a258333d6 not-for-merge 'refs/pull/310/head' of https://github.com/apple/swift-argument-parser +98929255336867690629f3bd04b757eecdce6f18 not-for-merge 'refs/pull/311/head' of https://github.com/apple/swift-argument-parser +07533ce12f480be3f341db823efa6ff27d19a525 not-for-merge 'refs/pull/312/head' of https://github.com/apple/swift-argument-parser +807752e0e1a66777da3ac7ecb66978238bef1c3f not-for-merge 'refs/pull/315/head' of https://github.com/apple/swift-argument-parser +a9be190dda7d531917300d7ddd1c5ffc20f2485f not-for-merge 'refs/pull/316/head' of https://github.com/apple/swift-argument-parser +de8dd84d734c4504e020ddcd0fbb2f1f729826e8 not-for-merge 'refs/pull/317/head' of https://github.com/apple/swift-argument-parser +8fdac7495db2c65917569c07078427d39d9e3819 not-for-merge 'refs/pull/317/merge' of https://github.com/apple/swift-argument-parser +44d2ebbc064f17743e11c1740961df4c7f986eb6 not-for-merge 'refs/pull/318/head' of https://github.com/apple/swift-argument-parser +929bb38a40346f88724fd58e148447f13e3024f6 not-for-merge 'refs/pull/319/head' of https://github.com/apple/swift-argument-parser +b5f18cae5cd0c40cb92506a96f83ee79db54dbe8 not-for-merge 'refs/pull/320/head' of https://github.com/apple/swift-argument-parser +7a9d92341fcfe530662e4250fca62f3b092c0882 not-for-merge 'refs/pull/321/head' of https://github.com/apple/swift-argument-parser +450c59f52c2628570892a1bdca14bbff58063270 not-for-merge 'refs/pull/323/head' of https://github.com/apple/swift-argument-parser +86a75cb10bfbd88fcd368913c842047575119ddc not-for-merge 'refs/pull/324/head' of https://github.com/apple/swift-argument-parser +72f8f6f9d9e3aad1562dc7ce3bbba6c1b6aa0e15 not-for-merge 'refs/pull/329/head' of https://github.com/apple/swift-argument-parser +b5f78ee114c1f99fac057de29a9d888b4e5208ab not-for-merge 'refs/pull/33/head' of https://github.com/apple/swift-argument-parser +0f09ac901672a89df2e41f74880ce93b988fc842 not-for-merge 'refs/pull/332/head' of https://github.com/apple/swift-argument-parser +7a2cb6b824bcf5965f65e692fd18f923a9f4b5c1 not-for-merge 'refs/pull/333/head' of https://github.com/apple/swift-argument-parser +78bbbcde19f7e907d24ef04e70e3b98442989c5e not-for-merge 'refs/pull/334/head' of https://github.com/apple/swift-argument-parser +e3c0b9a7775e481f02f3f156b2dc2cd0d82ebc0d not-for-merge 'refs/pull/335/head' of https://github.com/apple/swift-argument-parser +5c701302011549a7cac158c4c1b87cc405c10d17 not-for-merge 'refs/pull/336/head' of https://github.com/apple/swift-argument-parser +0da21d675c03ca71f695625add2deb5d640c0707 not-for-merge 'refs/pull/339/head' of https://github.com/apple/swift-argument-parser +4a11cb4130a601cb9b10ed948bd27893044dcb4f not-for-merge 'refs/pull/341/head' of https://github.com/apple/swift-argument-parser +749f5f25d9d42c4e86b3b67fafa4f98a5db9c84d not-for-merge 'refs/pull/342/head' of https://github.com/apple/swift-argument-parser +747d66953cd1c49e8f6110d2be9a9c51a07fd272 not-for-merge 'refs/pull/346/head' of https://github.com/apple/swift-argument-parser +f24df59f1856421206eab20650badd877f7bf22f not-for-merge 'refs/pull/347/head' of https://github.com/apple/swift-argument-parser +a1c47f33012d17038b80ffb867f5cb2e7f0a5548 not-for-merge 'refs/pull/349/head' of https://github.com/apple/swift-argument-parser +d48003c514756de07b0454724b4ca81265e964a7 not-for-merge 'refs/pull/350/head' of https://github.com/apple/swift-argument-parser +da242dc01eef6497f4ba37b4f5af6392633c6d99 not-for-merge 'refs/pull/351/head' of https://github.com/apple/swift-argument-parser +ad7a872a0e6249f75b5174906bf8827afe9aa017 not-for-merge 'refs/pull/352/head' of https://github.com/apple/swift-argument-parser +6090fe9bdaece9f6e8944e046d2d899f99ab80cf not-for-merge 'refs/pull/353/head' of https://github.com/apple/swift-argument-parser +f740123a8befd2e72a96eb33767c6a527034594c not-for-merge 'refs/pull/354/head' of https://github.com/apple/swift-argument-parser +690eaf8e2ef2e1b6772936abf1619d630e71c7f4 not-for-merge 'refs/pull/355/head' of https://github.com/apple/swift-argument-parser +af6b887cac7e169d7c504376d9be21c5166b044a not-for-merge 'refs/pull/356/head' of https://github.com/apple/swift-argument-parser +2f84b9adcb8cd0bd2e205e0e369b31cbb25ca401 not-for-merge 'refs/pull/357/head' of https://github.com/apple/swift-argument-parser +7fc5893d5c6438da87d29054ba12f28c003a07c3 not-for-merge 'refs/pull/360/head' of https://github.com/apple/swift-argument-parser +0ce33cf9109b42c5239c9970d2ef1f2b6f596fd3 not-for-merge 'refs/pull/362/head' of https://github.com/apple/swift-argument-parser +ea34a6dce60839977c7e89180002892e4016e2bb not-for-merge 'refs/pull/363/head' of https://github.com/apple/swift-argument-parser +70043e4732f949ec18ce165fce97ebdf8831c3c8 not-for-merge 'refs/pull/364/head' of https://github.com/apple/swift-argument-parser +6b3dcf68d2cd684193394184159cf7a2419ee2b2 not-for-merge 'refs/pull/365/head' of https://github.com/apple/swift-argument-parser +3d47bdd83ab6bcae5868081b016c84b6dd7c0309 not-for-merge 'refs/pull/366/head' of https://github.com/apple/swift-argument-parser +364db51bfad2dd8698a4ecfd2ced64626ec00113 not-for-merge 'refs/pull/367/head' of https://github.com/apple/swift-argument-parser +bded88c9d7f88c328d0e5c32e873ce0cafd0f2fa not-for-merge 'refs/pull/372/head' of https://github.com/apple/swift-argument-parser +599949c0670f58bb4bc43400398d5f079162ead0 not-for-merge 'refs/pull/373/head' of https://github.com/apple/swift-argument-parser +fcba6f23b58bef5a08e9ae7dd22d3b1d67426f90 not-for-merge 'refs/pull/374/head' of https://github.com/apple/swift-argument-parser +407c88250a30b09b5e5834c14cebe46247764510 not-for-merge 'refs/pull/377/head' of https://github.com/apple/swift-argument-parser +e0b04db9bfa2b6c29df103aa0e0ac212471107e5 not-for-merge 'refs/pull/379/head' of https://github.com/apple/swift-argument-parser +3bb99048492f0c9982e43264e0f01d8795f9fd8f not-for-merge 'refs/pull/38/head' of https://github.com/apple/swift-argument-parser +e2cd3f33527ec49c160e2a5f151a86b39a09a363 not-for-merge 'refs/pull/382/head' of https://github.com/apple/swift-argument-parser +ac527551005d1334a7b678ae22c6a61c079af7d1 not-for-merge 'refs/pull/383/head' of https://github.com/apple/swift-argument-parser +1497140cac16751221e867233c9813d7e5f2347d not-for-merge 'refs/pull/385/head' of https://github.com/apple/swift-argument-parser +6f40d78d4383b3808de4c7c4c07d90a5063ef92d not-for-merge 'refs/pull/386/head' of https://github.com/apple/swift-argument-parser +65165a2e7248c1cb7f739ae1940646c0d4f405f0 not-for-merge 'refs/pull/387/head' of https://github.com/apple/swift-argument-parser +ef56a31410496dfb4b93a518a9bd57e022fc1d9f not-for-merge 'refs/pull/388/head' of https://github.com/apple/swift-argument-parser +90fce20e727b5d3e0c11b086a7bdced299d09a28 not-for-merge 'refs/pull/389/head' of https://github.com/apple/swift-argument-parser +6357b67651e1a61156ffe3f26804f45437e7af32 not-for-merge 'refs/pull/390/head' of https://github.com/apple/swift-argument-parser +870285fec4d4cd2884fbb7348222d4ceed8720df not-for-merge 'refs/pull/391/head' of https://github.com/apple/swift-argument-parser +f238be5506630e87782fe2a73c7ea184ac2c34f7 not-for-merge 'refs/pull/392/head' of https://github.com/apple/swift-argument-parser +d7b01ddcd54b447d370ac61798e17e7aef6c2f33 not-for-merge 'refs/pull/395/head' of https://github.com/apple/swift-argument-parser +fce74480f32ca7d714718b78797b2da06f20250d not-for-merge 'refs/pull/396/head' of https://github.com/apple/swift-argument-parser +47115a348f200bd786139c38be11a087409e3e3e not-for-merge 'refs/pull/397/head' of https://github.com/apple/swift-argument-parser +311f8614217c7b166a4c890969f87c12bec0cb9b not-for-merge 'refs/pull/399/head' of https://github.com/apple/swift-argument-parser +7803cf71ceb6af1c268c6b9175c2a1d6e475e086 not-for-merge 'refs/pull/40/head' of https://github.com/apple/swift-argument-parser +00853edbbf5d0b98e1887a9edddd5f468ea74da2 not-for-merge 'refs/pull/400/head' of https://github.com/apple/swift-argument-parser +0435df77f04d49e64f555e0c04c52fc763acd42d not-for-merge 'refs/pull/402/head' of https://github.com/apple/swift-argument-parser +1830d73403f1c61f28d140ced3ecf81f8f3ca6e0 not-for-merge 'refs/pull/404/head' of https://github.com/apple/swift-argument-parser +a8107e786e92cb9b176f3ba93554c5b52d083b46 not-for-merge 'refs/pull/405/head' of https://github.com/apple/swift-argument-parser +32fe8b87c56160ed238beadfb562570fedca9796 not-for-merge 'refs/pull/406/head' of https://github.com/apple/swift-argument-parser +55c46cfa0c2a7178ccae24c16180536d9ae8eb22 not-for-merge 'refs/pull/407/head' of https://github.com/apple/swift-argument-parser +8322c155300ecd4868098840eb7aa718d4385c5c not-for-merge 'refs/pull/408/head' of https://github.com/apple/swift-argument-parser +d29a28a8566267e702033e1dba56c44215c311b6 not-for-merge 'refs/pull/409/head' of https://github.com/apple/swift-argument-parser +6edce4f7e65f6c23545c9d3f95db18ccb3c15d8b not-for-merge 'refs/pull/410/head' of https://github.com/apple/swift-argument-parser +6fef98bbb1dd7f96e5df5bc0e63c6c6944f037f7 not-for-merge 'refs/pull/411/head' of https://github.com/apple/swift-argument-parser +6b975778483da237e18b821db3743ad017b9dbaa not-for-merge 'refs/pull/412/head' of https://github.com/apple/swift-argument-parser +17df02f7a79607ad5ba906e4de2a5cf9237a2f6a not-for-merge 'refs/pull/413/head' of https://github.com/apple/swift-argument-parser +057839cc73f8f00e240686a9ad28bf42dc6408d0 not-for-merge 'refs/pull/414/head' of https://github.com/apple/swift-argument-parser +5b5400e11a3a0a9f85b3d1609f8be04a99bda7a2 not-for-merge 'refs/pull/415/head' of https://github.com/apple/swift-argument-parser +3df7139bb4ad46f061525f6e646cbec79bf168d3 not-for-merge 'refs/pull/416/head' of https://github.com/apple/swift-argument-parser +c9f33ffb5e689a7bef2e88747fadaa5a8868fe6b not-for-merge 'refs/pull/417/head' of https://github.com/apple/swift-argument-parser +69dad210167a66cc4acd21d49d07467968eba6b7 not-for-merge 'refs/pull/418/head' of https://github.com/apple/swift-argument-parser +82371bae9a6552af4b8805b88e523bbbf47d98d5 not-for-merge 'refs/pull/419/head' of https://github.com/apple/swift-argument-parser +f2af25c5c12f2c8fe7212f2ee060ec33f7bad918 not-for-merge 'refs/pull/42/head' of https://github.com/apple/swift-argument-parser +db625c71bcd0921b4611c1eab14e1bfee5dd756f not-for-merge 'refs/pull/420/head' of https://github.com/apple/swift-argument-parser +f991f3c5ec63ad304d6cb9b640989e9e189ca5ec not-for-merge 'refs/pull/421/head' of https://github.com/apple/swift-argument-parser +7456dba8218696312ce450e4665515c68650a2b4 not-for-merge 'refs/pull/422/head' of https://github.com/apple/swift-argument-parser +10cbbdf84194856e7914cc0f9da8ef3c2e5d582b not-for-merge 'refs/pull/423/head' of https://github.com/apple/swift-argument-parser +05076bc7e8e5bc56f1cbb3c50021de8c168a7cd9 not-for-merge 'refs/pull/424/head' of https://github.com/apple/swift-argument-parser +7e7d943f4102810527a6451f8eb6d643adbcc53a not-for-merge 'refs/pull/425/head' of https://github.com/apple/swift-argument-parser +e08c5ba3f442b6d6362987dd02d94d0afb4b9db3 not-for-merge 'refs/pull/427/head' of https://github.com/apple/swift-argument-parser +8b5b5bcb8ddecd5e812b0d4175edd667d11328cd not-for-merge 'refs/pull/428/head' of https://github.com/apple/swift-argument-parser +7aba0b88d3b2fdfe8d43c3d7df5b466d484548c0 not-for-merge 'refs/pull/43/head' of https://github.com/apple/swift-argument-parser +b3f2d88d85344b1b0f7018a95c7427c7ac719ad5 not-for-merge 'refs/pull/430/head' of https://github.com/apple/swift-argument-parser +e13b73bea97b08c811a082ef701719f168782355 not-for-merge 'refs/pull/431/head' of https://github.com/apple/swift-argument-parser +0ee64ac310c1fd16a4d7cbb6cb1d7142fd444908 not-for-merge 'refs/pull/431/merge' of https://github.com/apple/swift-argument-parser +82905286cc3f0fa8adc4674bf49437cab65a8373 not-for-merge 'refs/pull/432/head' of https://github.com/apple/swift-argument-parser +011459e4d915590c4acd82d930735177363e42f7 not-for-merge 'refs/pull/435/head' of https://github.com/apple/swift-argument-parser +7cbdef9cd9af1acec4a1435e34376be42f4ee965 not-for-merge 'refs/pull/436/head' of https://github.com/apple/swift-argument-parser +1b639f0c933d93e7b71fc8aff4d3209d23284d79 not-for-merge 'refs/pull/437/head' of https://github.com/apple/swift-argument-parser +a6580c0e468b898a9e12b5c0ad11441531034880 not-for-merge 'refs/pull/438/head' of https://github.com/apple/swift-argument-parser +8f825a83eea91e2b461960629a9c870b3086349e not-for-merge 'refs/pull/439/head' of https://github.com/apple/swift-argument-parser +cf90cc18b2d05fb58e0aedf9adca0473fdde9406 not-for-merge 'refs/pull/44/head' of https://github.com/apple/swift-argument-parser +6c8ca3f0da34831257a794e458c789d6d40d08ea not-for-merge 'refs/pull/440/head' of https://github.com/apple/swift-argument-parser +2ed768385d7b77c819403ba70cea32a63b4f96b7 not-for-merge 'refs/pull/441/head' of https://github.com/apple/swift-argument-parser +4174530d6b565414ea486678a3ca0bc6b04baa34 not-for-merge 'refs/pull/443/head' of https://github.com/apple/swift-argument-parser +4077519a21adbe6c08695f34c3d8f7c1bf102fda not-for-merge 'refs/pull/445/head' of https://github.com/apple/swift-argument-parser +d5d8d9752606a55983be73153664c0f89f75959a not-for-merge 'refs/pull/446/head' of https://github.com/apple/swift-argument-parser +eb8348ed9d9573895ec665914453fbfb16d39791 not-for-merge 'refs/pull/451/head' of https://github.com/apple/swift-argument-parser +2d154a57a4289806ae01b67f05384813faa34a41 not-for-merge 'refs/pull/452/head' of https://github.com/apple/swift-argument-parser +03f70fd97507388fcf92c2cb8c82a52c10449b71 not-for-merge 'refs/pull/454/head' of https://github.com/apple/swift-argument-parser +4bfb3caa7797d1e9a91661b459262c64befaa859 not-for-merge 'refs/pull/456/head' of https://github.com/apple/swift-argument-parser +03f70fd97507388fcf92c2cb8c82a52c10449b71 not-for-merge 'refs/pull/457/head' of https://github.com/apple/swift-argument-parser +63a2ffae576f79b932f9ef69597f19a5b9762e63 not-for-merge 'refs/pull/458/head' of https://github.com/apple/swift-argument-parser +7bfe7a16c69567ceb59b022e33788ac364d3dbad not-for-merge 'refs/pull/460/head' of https://github.com/apple/swift-argument-parser +d9b7c63d9a666b5808f0e1a56d5db23bf5299b40 not-for-merge 'refs/pull/464/head' of https://github.com/apple/swift-argument-parser +135e60ff62d488c9ce440d105dad2b05d4ef9523 not-for-merge 'refs/pull/468/head' of https://github.com/apple/swift-argument-parser +7fe56eff146cd94e98a6fa8270c5bdb288b5c082 not-for-merge 'refs/pull/47/head' of https://github.com/apple/swift-argument-parser +5c9037f4fa10e04db46078c9b011652165835551 not-for-merge 'refs/pull/470/head' of https://github.com/apple/swift-argument-parser +5ac41a7d79ad031862348d208fdd0a2ff3ced5dc not-for-merge 'refs/pull/471/head' of https://github.com/apple/swift-argument-parser +8526a0fb4d00362d817a6ef0baaaa5e0797eab34 not-for-merge 'refs/pull/472/head' of https://github.com/apple/swift-argument-parser +ca4a7dd5a26477c27abf3c0a1b67cae21b010542 not-for-merge 'refs/pull/473/head' of https://github.com/apple/swift-argument-parser +12a74f95232d0f9058747c1ec96f6e9dd53b88c6 not-for-merge 'refs/pull/474/head' of https://github.com/apple/swift-argument-parser +12a73d6ac56056afb549476ef5d3f9c712f82866 not-for-merge 'refs/pull/475/head' of https://github.com/apple/swift-argument-parser +1a13cf48a0b1922360bc9e1f6f4be859912c44c6 not-for-merge 'refs/pull/476/head' of https://github.com/apple/swift-argument-parser +bebda5b4dbff9bc8c4d040184beea23c7b805bde not-for-merge 'refs/pull/477/head' of https://github.com/apple/swift-argument-parser +c9bc06d01f06bdc52275bd30c09a22d47b6a5bae not-for-merge 'refs/pull/478/head' of https://github.com/apple/swift-argument-parser +ede9fca5a2fd2cb8a40ed88feec93a7b79aae28d not-for-merge 'refs/pull/479/head' of https://github.com/apple/swift-argument-parser +0e1aa0546f99c749f5f3612bb5cd68ef80a0ec8b not-for-merge 'refs/pull/479/merge' of https://github.com/apple/swift-argument-parser +38676227f0fd39c0feace15736b646721eed9402 not-for-merge 'refs/pull/48/head' of https://github.com/apple/swift-argument-parser +ffc1c213adc32d441ce147c1fccd4d400cbaa3b1 not-for-merge 'refs/pull/480/head' of https://github.com/apple/swift-argument-parser +60f763bf8ddb91ae198d2ee9333f3af765506d16 not-for-merge 'refs/pull/481/head' of https://github.com/apple/swift-argument-parser +5ab2ccc2ef09ac79883639e4442414a377534005 not-for-merge 'refs/pull/484/head' of https://github.com/apple/swift-argument-parser +74683da747f4034450713f43782f4e67cf4cf5d7 not-for-merge 'refs/pull/485/head' of https://github.com/apple/swift-argument-parser +471d891b89da22d52efe6af04bbbfa0cdb725326 not-for-merge 'refs/pull/486/head' of https://github.com/apple/swift-argument-parser +a671685a8f809e3e713fc65fe0c6a34027aa9f1a not-for-merge 'refs/pull/487/head' of https://github.com/apple/swift-argument-parser +90eabb16886aa5966697561cf803b1908796fffb not-for-merge 'refs/pull/490/head' of https://github.com/apple/swift-argument-parser +47188c7446949569e9ba78c520bc5e036b0c6780 not-for-merge 'refs/pull/492/head' of https://github.com/apple/swift-argument-parser +38f0df6455dfe9297deb029f0f44213010018952 not-for-merge 'refs/pull/494/head' of https://github.com/apple/swift-argument-parser +80fc0df3b5215aab2da6fe41a7ec9d4cd1047439 not-for-merge 'refs/pull/495/head' of https://github.com/apple/swift-argument-parser +543522cf4b9f9b48e00f9cd886014edeaa631fbc not-for-merge 'refs/pull/496/head' of https://github.com/apple/swift-argument-parser +497d1bc25262a6e54ab18d10eceec4ed27868651 not-for-merge 'refs/pull/498/head' of https://github.com/apple/swift-argument-parser +d84fb0daa97ea4f410a6b1304cb4cb3dda14de56 not-for-merge 'refs/pull/501/head' of https://github.com/apple/swift-argument-parser +82c08cd1e93e3b3ba1562077be1b2da45460cabf not-for-merge 'refs/pull/501/merge' of https://github.com/apple/swift-argument-parser +d76260e0094e33c25a5709098695dc47d819ea4a not-for-merge 'refs/pull/502/head' of https://github.com/apple/swift-argument-parser +b3b3a1e07c0cc423d8da69863f0b8a1b697e0522 not-for-merge 'refs/pull/503/head' of https://github.com/apple/swift-argument-parser +c1d089c104e1ea15735749b3ac9cf1ce8a46214b not-for-merge 'refs/pull/504/head' of https://github.com/apple/swift-argument-parser +2e83b612b3ef9fdfd095c814c227266bb7bd6b16 not-for-merge 'refs/pull/505/head' of https://github.com/apple/swift-argument-parser +e7c7c9310f2040905c3b16329a0c360d73e1c326 not-for-merge 'refs/pull/506/head' of https://github.com/apple/swift-argument-parser +b90966040c9fcde0699ca94b16dd5d3fec2d8e09 not-for-merge 'refs/pull/507/head' of https://github.com/apple/swift-argument-parser +1fcd308cc4f339d03f2c1198190aca3ed1fcf4fc not-for-merge 'refs/pull/51/head' of https://github.com/apple/swift-argument-parser +6cc556e3b75dca5275b2d2bd2967ba0abc07ab4b not-for-merge 'refs/pull/510/head' of https://github.com/apple/swift-argument-parser +6e73763eab3e25e668a2c9ddfba8acfb842fb6a5 not-for-merge 'refs/pull/511/head' of https://github.com/apple/swift-argument-parser +8f9013c3269a69a39b9f65bdcdd9d6ad08ca43d6 not-for-merge 'refs/pull/512/head' of https://github.com/apple/swift-argument-parser +ebc64b84a9acbf3a7ef59745383e877c2e0ac54f not-for-merge 'refs/pull/514/head' of https://github.com/apple/swift-argument-parser +9ec88cf5a1922db78b05b1d1388a90fa90193692 not-for-merge 'refs/pull/516/head' of https://github.com/apple/swift-argument-parser +2a81ee18461317d2bd0694fa010dd7eab666c36c not-for-merge 'refs/pull/518/head' of https://github.com/apple/swift-argument-parser +4559384a4feab121eee982cb5f017efc1ecc51a5 not-for-merge 'refs/pull/519/head' of https://github.com/apple/swift-argument-parser +7c642ec96fa0bc0efbfec4a48330020317b3daa6 not-for-merge 'refs/pull/52/head' of https://github.com/apple/swift-argument-parser +3768463959297b1becf001537067f28515a5e15f not-for-merge 'refs/pull/520/head' of https://github.com/apple/swift-argument-parser +5885806319e66309bffa0e4199af1f5e4f4cb268 not-for-merge 'refs/pull/521/head' of https://github.com/apple/swift-argument-parser +19d03dff4efefc0a6e155100b082c26109361261 not-for-merge 'refs/pull/522/head' of https://github.com/apple/swift-argument-parser +5262bbf5748f23e0700f8c2811754613ff379c6c not-for-merge 'refs/pull/525/head' of https://github.com/apple/swift-argument-parser +585c667856295be0935349a6e1e634186de31474 not-for-merge 'refs/pull/526/head' of https://github.com/apple/swift-argument-parser +7ea69bcab4da74b66c1337b8c559ca30206a1918 not-for-merge 'refs/pull/527/head' of https://github.com/apple/swift-argument-parser +2b8aad49c96045d27a284ccd7cbe6841d4ebd817 not-for-merge 'refs/pull/528/head' of https://github.com/apple/swift-argument-parser +d2aa1698cd848c2018675d7a7097b8a648f4e746 not-for-merge 'refs/pull/529/head' of https://github.com/apple/swift-argument-parser +729232d90c77d2a84a229c50512afe823b0472d0 not-for-merge 'refs/pull/53/head' of https://github.com/apple/swift-argument-parser +a5f4912a58ba33adb865a77239b7102335b8ca82 not-for-merge 'refs/pull/530/head' of https://github.com/apple/swift-argument-parser +368b77f36828e175ed93a4de62d1da6a367d5d84 not-for-merge 'refs/pull/531/head' of https://github.com/apple/swift-argument-parser +2559db9f7c12bd6b8c10b63740ac08a795025f7b not-for-merge 'refs/pull/532/head' of https://github.com/apple/swift-argument-parser +fb7eddd73c28745a4eea9a43515786032523d612 not-for-merge 'refs/pull/533/head' of https://github.com/apple/swift-argument-parser +ce840b9dcdcf9b8d137a62677d2e5d7d8263aafd not-for-merge 'refs/pull/535/head' of https://github.com/apple/swift-argument-parser +3cd854b723e9b4bee11df1c08615b61522036c92 not-for-merge 'refs/pull/539/head' of https://github.com/apple/swift-argument-parser +84dbc649d99114c9f5e19b50b2bfeff7ded49180 not-for-merge 'refs/pull/54/head' of https://github.com/apple/swift-argument-parser +de2bb7d15d882a6b6baf3aa1b0792928afadb830 not-for-merge 'refs/pull/540/head' of https://github.com/apple/swift-argument-parser +439da3de6703acec8326f78578f5f8b3536303c0 not-for-merge 'refs/pull/542/head' of https://github.com/apple/swift-argument-parser +da71e2e56b46850b2455ecfabbdfb18653f40630 not-for-merge 'refs/pull/543/head' of https://github.com/apple/swift-argument-parser +a408ac35a05b9236a761319a31f825a7ff51cd73 not-for-merge 'refs/pull/544/head' of https://github.com/apple/swift-argument-parser +541f7c6e66e2a2f3c2949c3ba9f929ee1d0784a6 not-for-merge 'refs/pull/546/head' of https://github.com/apple/swift-argument-parser +0aa7e05779b63fa5efb2e2e4fa9511499c2eee0b not-for-merge 'refs/pull/547/head' of https://github.com/apple/swift-argument-parser +a077ca597804d167c860f2cae891d105e90049a6 not-for-merge 'refs/pull/548/head' of https://github.com/apple/swift-argument-parser +3e0212d870f70e94cf425ccdc31ef66b464db597 not-for-merge 'refs/pull/549/head' of https://github.com/apple/swift-argument-parser +83f15d9a63346d10da312dd5788cf07fa5c776f0 not-for-merge 'refs/pull/55/head' of https://github.com/apple/swift-argument-parser +15b67c5c50400b06e7054705e4cc93931eb72822 not-for-merge 'refs/pull/550/head' of https://github.com/apple/swift-argument-parser +b0111ed9f5583848053bc2107c6a61f021ce71f5 not-for-merge 'refs/pull/552/head' of https://github.com/apple/swift-argument-parser +16c6c432b9783b0b12132fcf2763ba7f162bb3e1 not-for-merge 'refs/pull/554/head' of https://github.com/apple/swift-argument-parser +14cb0997bc6b8748ee4263587e90a024cb7a684b not-for-merge 'refs/pull/557/head' of https://github.com/apple/swift-argument-parser +89e35eddcd5c2c68ab8ad6a6376729583c7963d9 not-for-merge 'refs/pull/557/merge' of https://github.com/apple/swift-argument-parser +c500150b8ef8434bb8710b866a2a5f378f930918 not-for-merge 'refs/pull/565/head' of https://github.com/apple/swift-argument-parser +92d63f4abc7dcfa8b3bd0c2aed439e011bc2e6d9 not-for-merge 'refs/pull/568/head' of https://github.com/apple/swift-argument-parser +5eec59801a271b404ee284a3c8d46df14d67604d not-for-merge 'refs/pull/572/head' of https://github.com/apple/swift-argument-parser +fed6a9b62560a4c5d2e56a5b25611c0034de39d5 not-for-merge 'refs/pull/573/head' of https://github.com/apple/swift-argument-parser +64aeb4e4895c3e1a2a459c182a1440e425813c56 not-for-merge 'refs/pull/574/head' of https://github.com/apple/swift-argument-parser +cc4a03d7bcce0f8876f8f160c0769ef7caf6e56b not-for-merge 'refs/pull/575/head' of https://github.com/apple/swift-argument-parser +6fbf7efb4efb173e8456c49e617a815f6a076699 not-for-merge 'refs/pull/576/head' of https://github.com/apple/swift-argument-parser +1d074987c8f5c2d0200ba7c122c847e916462f8d not-for-merge 'refs/pull/579/head' of https://github.com/apple/swift-argument-parser +c2f4512ff10191dbc33f277865df2be435fb7b8a not-for-merge 'refs/pull/58/head' of https://github.com/apple/swift-argument-parser +964cc9e7dfd8a5961660cb3cbba5b67ec589d0a0 not-for-merge 'refs/pull/580/head' of https://github.com/apple/swift-argument-parser +6e81834e1bccd2d68f2f7b09d86c9f05f6a121a2 not-for-merge 'refs/pull/582/head' of https://github.com/apple/swift-argument-parser +d2f30b6e3edb0431c37828c6a57a884e4893dcca not-for-merge 'refs/pull/583/head' of https://github.com/apple/swift-argument-parser +39401ccb92ad39a6c38cbfbf231517d42129dc29 not-for-merge 'refs/pull/586/head' of https://github.com/apple/swift-argument-parser +4ed1094589da3a5853dd9a04a30ee7b508f35ddb not-for-merge 'refs/pull/588/head' of https://github.com/apple/swift-argument-parser +95cc0122d6ed281cceb57d8e5bae44c8b8309324 not-for-merge 'refs/pull/589/head' of https://github.com/apple/swift-argument-parser +cb862e236c14d6076d0cd7cc50a495971fca7427 not-for-merge 'refs/pull/590/head' of https://github.com/apple/swift-argument-parser +cec82b9fa2e94cf37e766df2fcb4a3dca12e632f not-for-merge 'refs/pull/592/head' of https://github.com/apple/swift-argument-parser +d9c4ebf13c2929fb402e6c100d8d2fc14f9ee016 not-for-merge 'refs/pull/593/head' of https://github.com/apple/swift-argument-parser +cffff99d46d572da47ff401baa8b08a60eb6e7bb not-for-merge 'refs/pull/594/head' of https://github.com/apple/swift-argument-parser +3f7cb81ce135a225a1cd4270bfe283fe21dd5d3b not-for-merge 'refs/pull/595/head' of https://github.com/apple/swift-argument-parser +a950fb509501eb328a9bf3072b47f72971030bdb not-for-merge 'refs/pull/596/head' of https://github.com/apple/swift-argument-parser +eecb91cf9eafdad30ae203f886853a7481c39713 not-for-merge 'refs/pull/598/head' of https://github.com/apple/swift-argument-parser +a76f59f4469b567bc346e2d6c0ac6ef721da07ea not-for-merge 'refs/pull/599/head' of https://github.com/apple/swift-argument-parser +64d1e8a7be0d74122881c27d47e4c1b230396958 not-for-merge 'refs/pull/6/head' of https://github.com/apple/swift-argument-parser +c06631d635e786a3150e33890c3f52c924626325 not-for-merge 'refs/pull/600/head' of https://github.com/apple/swift-argument-parser +28f2f754df68f6b47e9161a51263827b859174d9 not-for-merge 'refs/pull/601/head' of https://github.com/apple/swift-argument-parser +da097b8c1f46c06578d867560eac251aa9d8b30d not-for-merge 'refs/pull/602/head' of https://github.com/apple/swift-argument-parser +867b23e59e7f2aede3e039327a448b04b8a073a0 not-for-merge 'refs/pull/603/head' of https://github.com/apple/swift-argument-parser +5668634002d318d45153a99f194c1fac9fcf37c9 not-for-merge 'refs/pull/604/head' of https://github.com/apple/swift-argument-parser +4b1e6bc6f3c5c575f3960449214c932bb7958ec4 not-for-merge 'refs/pull/606/head' of https://github.com/apple/swift-argument-parser +058b8577d62157655e7ee7f82adf3faf432da2df not-for-merge 'refs/pull/607/head' of https://github.com/apple/swift-argument-parser +9ecde8be24c9c601ed5c264e5ff92f8980c6801a not-for-merge 'refs/pull/608/head' of https://github.com/apple/swift-argument-parser +698ae118bbf69b6bef88777cea276a10bdcc88ba not-for-merge 'refs/pull/610/head' of https://github.com/apple/swift-argument-parser +5041f185a219fc5e4d7e9e50eb2dc5428f3e0b22 not-for-merge 'refs/pull/611/head' of https://github.com/apple/swift-argument-parser +00b4a71e4589c1ddf601f55cf54e23e51f903fd7 not-for-merge 'refs/pull/612/head' of https://github.com/apple/swift-argument-parser +505902f2b22cd462d84512ae050c6584b12dddd5 not-for-merge 'refs/pull/613/head' of https://github.com/apple/swift-argument-parser +b60c9d2ffd622cc143f21fdcf4be5d43dbff7285 not-for-merge 'refs/pull/614/head' of https://github.com/apple/swift-argument-parser +01618a3a754e765e5a66f357556416c54c2840b2 not-for-merge 'refs/pull/615/head' of https://github.com/apple/swift-argument-parser +51e348bc3434a8050d5d578a36b6efb05c52ab5f not-for-merge 'refs/pull/616/head' of https://github.com/apple/swift-argument-parser +4f274ed37fa14553ae282892a54a24dfd4cccc4b not-for-merge 'refs/pull/617/head' of https://github.com/apple/swift-argument-parser +e7fba0d41d719f78519045b252621a1895251c55 not-for-merge 'refs/pull/619/head' of https://github.com/apple/swift-argument-parser +c616875542cd674c8311a8ad635bc1a1e9300fa5 not-for-merge 'refs/pull/62/head' of https://github.com/apple/swift-argument-parser +286c60630eeef0c5ac0d60d96472a55c624b26ea not-for-merge 'refs/pull/620/head' of https://github.com/apple/swift-argument-parser +3d96ca1947efef196693bc2486bbff17d9245911 not-for-merge 'refs/pull/620/merge' of https://github.com/apple/swift-argument-parser +376e3196c9b841ae74badbf064e959ff55b523a5 not-for-merge 'refs/pull/621/head' of https://github.com/apple/swift-argument-parser +4d1244f043f361f576fa1fea69fe86a318d2bbe0 not-for-merge 'refs/pull/624/head' of https://github.com/apple/swift-argument-parser +e04f101be4349267c090311d679143760da25d6f not-for-merge 'refs/pull/625/head' of https://github.com/apple/swift-argument-parser +891e893561947fd3422ff4936132a9ea8164c313 not-for-merge 'refs/pull/627/head' of https://github.com/apple/swift-argument-parser +49133c95d4bbda5e0bb4b90b80410779b6f22667 not-for-merge 'refs/pull/628/head' of https://github.com/apple/swift-argument-parser +daea52b508b2dc91414c0624de4b70935f3e3ba6 not-for-merge 'refs/pull/628/merge' of https://github.com/apple/swift-argument-parser +241162e26cb4f812176200415cd1f6d38d90fe99 not-for-merge 'refs/pull/629/head' of https://github.com/apple/swift-argument-parser +749cb6f4a26060c8325f1ac96090757775349acd not-for-merge 'refs/pull/63/head' of https://github.com/apple/swift-argument-parser +6b79ae626249ec6e1b031710bcf1ae1179bb13a2 not-for-merge 'refs/pull/634/head' of https://github.com/apple/swift-argument-parser +04e55ac566ceb2cef0704dbfae443b84b5b2d4d8 not-for-merge 'refs/pull/636/head' of https://github.com/apple/swift-argument-parser +46a0ae77d7adc45e8072a0c01218f651b842fbb3 not-for-merge 'refs/pull/638/head' of https://github.com/apple/swift-argument-parser +40bed30eb3a2ecf447339f0ca96363c1a8899286 not-for-merge 'refs/pull/639/head' of https://github.com/apple/swift-argument-parser +331cc67a7d823af71d5f59ca536bd718dc8ddb13 not-for-merge 'refs/pull/640/head' of https://github.com/apple/swift-argument-parser +59f35b25a70254b8188cb5994bfe4cf0b951c0a4 not-for-merge 'refs/pull/641/head' of https://github.com/apple/swift-argument-parser +6c2ab1a475a980a46a2363738eb651bdd599c27f not-for-merge 'refs/pull/644/head' of https://github.com/apple/swift-argument-parser +0ff4b13607465f14a3cb92c3f290a4578e76d538 not-for-merge 'refs/pull/645/head' of https://github.com/apple/swift-argument-parser +6f73d3bac2ef59e87d4eaefa1386584bb08c4c13 not-for-merge 'refs/pull/647/head' of https://github.com/apple/swift-argument-parser +790feb26c99e0c89580be38f8b103344eabc226e not-for-merge 'refs/pull/648/head' of https://github.com/apple/swift-argument-parser +1cbf422acadea36613e1ee2f013506e8fb5b5a0f not-for-merge 'refs/pull/649/head' of https://github.com/apple/swift-argument-parser +089b6328bf4aa648e1c74e40112170c7963aa680 not-for-merge 'refs/pull/65/head' of https://github.com/apple/swift-argument-parser +b8efa796a5eb1659a3553f967ef724b6fe0f9c2d not-for-merge 'refs/pull/650/head' of https://github.com/apple/swift-argument-parser +420eb0775a6c89417fcb5416ce99a76616aa2a64 not-for-merge 'refs/pull/651/head' of https://github.com/apple/swift-argument-parser +35b8e1824eea5c4de3a2441b3218730b7de7e9b4 not-for-merge 'refs/pull/654/head' of https://github.com/apple/swift-argument-parser +423a9413227f8e934235248b4cb3320a11a7bb5a not-for-merge 'refs/pull/657/head' of https://github.com/apple/swift-argument-parser +cdc09d36a3e7feeabf647d61ef655b390a70acb4 not-for-merge 'refs/pull/660/head' of https://github.com/apple/swift-argument-parser +17bcbbd8c4ab02d9043212a3b7620d1e7e819ea3 not-for-merge 'refs/pull/660/merge' of https://github.com/apple/swift-argument-parser +b752c8771a11eae2b3ed6d659e0cb82ed9b683ab not-for-merge 'refs/pull/663/head' of https://github.com/apple/swift-argument-parser +ec28a0a02a236f4b6ae70bc539ebf71a5b2d414e not-for-merge 'refs/pull/666/head' of https://github.com/apple/swift-argument-parser +26e7b9b1abeb41627c5624f7d2905f9a2a5ec1e2 not-for-merge 'refs/pull/667/head' of https://github.com/apple/swift-argument-parser +96a91b4b2e72bab89394c5df4bc5370f0c245134 not-for-merge 'refs/pull/669/head' of https://github.com/apple/swift-argument-parser +6e1b78408b119e1b2a1d7c7cc408e0623eb9bf33 not-for-merge 'refs/pull/67/head' of https://github.com/apple/swift-argument-parser +87a00bb1eaf5b72603c7fcd3d99367dd98aa75d8 not-for-merge 'refs/pull/674/head' of https://github.com/apple/swift-argument-parser +71840bd7861f01c7c2441a6d1a006acd58f48b2f not-for-merge 'refs/pull/674/merge' of https://github.com/apple/swift-argument-parser +42de9a9b401501473ca41b36da800cee64c2dec2 not-for-merge 'refs/pull/676/head' of https://github.com/apple/swift-argument-parser +b63295d074ade801c5b0140d127edb44be76e0c2 not-for-merge 'refs/pull/678/head' of https://github.com/apple/swift-argument-parser +6bd8accfdf66546baefbb51f46dc223ac3550c12 not-for-merge 'refs/pull/68/head' of https://github.com/apple/swift-argument-parser +8ba9caf1d83a30665d53b93d262bf2b20da2700d not-for-merge 'refs/pull/680/head' of https://github.com/apple/swift-argument-parser +c95d63f1b1d01ef32ed08e79c325a0ee894ccd55 not-for-merge 'refs/pull/684/head' of https://github.com/apple/swift-argument-parser +4e67f5cfaf293d21d55b0f664bdb87a771ba31c2 not-for-merge 'refs/pull/685/head' of https://github.com/apple/swift-argument-parser +2bc97a09d8b9210969d7a64ceb863ac5756a89de not-for-merge 'refs/pull/69/head' of https://github.com/apple/swift-argument-parser +8624697e15c07825cfa1d74f575bb0825f4c40cb not-for-merge 'refs/pull/690/head' of https://github.com/apple/swift-argument-parser +78649e1f3de7344b55cc51a2080fff160f202713 not-for-merge 'refs/pull/691/head' of https://github.com/apple/swift-argument-parser +897805a77a4f3a5dba55e718d62f74a9d5a8b8fb not-for-merge 'refs/pull/691/merge' of https://github.com/apple/swift-argument-parser +c3b849754e071ad7eee554e9a5846a914bcef8f5 not-for-merge 'refs/pull/692/head' of https://github.com/apple/swift-argument-parser +6fb3c7ff70984a195aeb10fcd74b550c82113abf not-for-merge 'refs/pull/693/head' of https://github.com/apple/swift-argument-parser +6a08c97679cd7c613aeb4cd6f31630b5200f0268 not-for-merge 'refs/pull/694/head' of https://github.com/apple/swift-argument-parser +d66a07b0831ee177b3b57e0c43784fc503ddcfef not-for-merge 'refs/pull/695/head' of https://github.com/apple/swift-argument-parser +0c2f97a738b36acfc19a4aa6c5e8ba5f40bd64bd not-for-merge 'refs/pull/696/head' of https://github.com/apple/swift-argument-parser +a2b3ccac8b522224713f6562786f9c21408fb945 not-for-merge 'refs/pull/697/head' of https://github.com/apple/swift-argument-parser +ccc8c3aa815fc6cf6afeb8d7220f8a1798fa14ef not-for-merge 'refs/pull/698/head' of https://github.com/apple/swift-argument-parser +6353f54520177e7f7ef027878f5a182c843490f6 not-for-merge 'refs/pull/699/head' of https://github.com/apple/swift-argument-parser +c07d49322b2a1cc0cd4adc349fe29e0a6b74bb74 not-for-merge 'refs/pull/70/head' of https://github.com/apple/swift-argument-parser +8b8bc61b335f4a7d9e6ff1f96693003e6598280b not-for-merge 'refs/pull/700/head' of https://github.com/apple/swift-argument-parser +67ed40557ceebd5bdfcb436b2e235e20e9a9de1f not-for-merge 'refs/pull/701/head' of https://github.com/apple/swift-argument-parser +fac54e227925328161cdaa17da9d7ba22274dfed not-for-merge 'refs/pull/705/head' of https://github.com/apple/swift-argument-parser +a82abe34bf2a07f266a89340bdcc295eedfc45f1 not-for-merge 'refs/pull/707/head' of https://github.com/apple/swift-argument-parser +cc3dc213eea2624552a61944f76e2efebc873cf9 not-for-merge 'refs/pull/708/head' of https://github.com/apple/swift-argument-parser +849c4397e2298f706e6ef517ed7755c382916703 not-for-merge 'refs/pull/71/head' of https://github.com/apple/swift-argument-parser +b90715e4572286c17cdb6f6d8fe90bab63d66eb7 not-for-merge 'refs/pull/711/head' of https://github.com/apple/swift-argument-parser +af8249d021fbdc5981af984e9fc0bbe191115432 not-for-merge 'refs/pull/712/head' of https://github.com/apple/swift-argument-parser +4b23e2a98e4bbe6c2d17211a0ae232944098e05b not-for-merge 'refs/pull/714/head' of https://github.com/apple/swift-argument-parser +12b6991aa1f261a6749d5b14025d31e281ac9c3c not-for-merge 'refs/pull/716/head' of https://github.com/apple/swift-argument-parser +5ce772e3e1d4055cc1c0b6a5e2671554567d4f0f not-for-merge 'refs/pull/718/head' of https://github.com/apple/swift-argument-parser +fe0f0b5f8ef02ea43adbaa054b8f6c5993191a1a not-for-merge 'refs/pull/72/head' of https://github.com/apple/swift-argument-parser +84fec1a20804ae98344cbd50f2741bcd71e7271b not-for-merge 'refs/pull/720/head' of https://github.com/apple/swift-argument-parser +41d1d775c79a2eecebf6600b377cddeb9ef6dc27 not-for-merge 'refs/pull/724/head' of https://github.com/apple/swift-argument-parser +6d32ef32e496b35cd1b1cf650f864aa2d7f9aa88 not-for-merge 'refs/pull/727/head' of https://github.com/apple/swift-argument-parser +b47c5c7807d90ea5e0bd47d38b062597c06f8667 not-for-merge 'refs/pull/728/head' of https://github.com/apple/swift-argument-parser +3929864aef455a81d786c4bf35b7ef5ee00e957e not-for-merge 'refs/pull/729/head' of https://github.com/apple/swift-argument-parser +2d30237a80c74399f4a52fdb417256aa78408f11 not-for-merge 'refs/pull/73/head' of https://github.com/apple/swift-argument-parser +262ac6d6142c4105cf22645b226b0011c1c67e07 not-for-merge 'refs/pull/730/head' of https://github.com/apple/swift-argument-parser +52d0a843bacc31290f70888cd091e5891858c6c2 not-for-merge 'refs/pull/731/head' of https://github.com/apple/swift-argument-parser +3c4cb733b18535b51af6275a33b0bff30b90d1b9 not-for-merge 'refs/pull/732/head' of https://github.com/apple/swift-argument-parser +0ad79110d1c9b0506c9d608a17d122384a703d4b not-for-merge 'refs/pull/735/head' of https://github.com/apple/swift-argument-parser +442d722675e756c21c7c921d530ab47362d2c020 not-for-merge 'refs/pull/736/head' of https://github.com/apple/swift-argument-parser +6e987a610771504584ea57103484413c7639d901 not-for-merge 'refs/pull/738/head' of https://github.com/apple/swift-argument-parser +7a9c440c1379ee52938f93c33e4443fc35573bd1 not-for-merge 'refs/pull/74/head' of https://github.com/apple/swift-argument-parser +8fe89a9abb2bf07b5840337d885b78a1ac49cc97 not-for-merge 'refs/pull/740/head' of https://github.com/apple/swift-argument-parser +7dfdf77cc241e17c3ec15eeb21b509288ebdc87d not-for-merge 'refs/pull/741/head' of https://github.com/apple/swift-argument-parser +c1049634b78625231780a9a4d385390d06d21dba not-for-merge 'refs/pull/743/head' of https://github.com/apple/swift-argument-parser +c9209bce3e5134df4e8f9ac96f7825073b385ef0 not-for-merge 'refs/pull/744/head' of https://github.com/apple/swift-argument-parser +dc7ec065fe476e20f580bf51d637260a6182ca56 not-for-merge 'refs/pull/745/head' of https://github.com/apple/swift-argument-parser +b70e8f0b2c8010d9c02bc949c60ff0830dccc7be not-for-merge 'refs/pull/745/merge' of https://github.com/apple/swift-argument-parser +b47acb4cfced70787ead343e8581ccf74af031bb not-for-merge 'refs/pull/746/head' of https://github.com/apple/swift-argument-parser +1144d46cbcad7006a850b001582dcda2de31aeff not-for-merge 'refs/pull/747/head' of https://github.com/apple/swift-argument-parser +2e8148c9783b2e986b82415f0661ebbade49b8bc not-for-merge 'refs/pull/749/head' of https://github.com/apple/swift-argument-parser +0fc5fccacb913f1bc9c021610e2251c658115187 not-for-merge 'refs/pull/749/merge' of https://github.com/apple/swift-argument-parser +c54ac051578d61b764f93c734458e9a26b4e173e not-for-merge 'refs/pull/75/head' of https://github.com/apple/swift-argument-parser +d67151befa39533a6a449136c7992537cbf8ec99 not-for-merge 'refs/pull/751/head' of https://github.com/apple/swift-argument-parser +fc96cbe8cb99f81177079919afa3c51eac7804df not-for-merge 'refs/pull/753/head' of https://github.com/apple/swift-argument-parser +068eff8a3653aba51236b27171e0fa9cace96302 not-for-merge 'refs/pull/753/merge' of https://github.com/apple/swift-argument-parser +34fc135a51d0e9ebb54b2ec9d731b14c3894f1bb not-for-merge 'refs/pull/754/head' of https://github.com/apple/swift-argument-parser +a88e35b2929e362143291779751019c8570347f8 not-for-merge 'refs/pull/760/head' of https://github.com/apple/swift-argument-parser +74b5083a50a5a3a955f33c58cd9eb9ddb57e8672 not-for-merge 'refs/pull/762/head' of https://github.com/apple/swift-argument-parser +2cd9d04ceb8a724a03bdfb00da48e4dc1a04289d not-for-merge 'refs/pull/763/head' of https://github.com/apple/swift-argument-parser +246863b84d0fb7db0045ebd3f27aa4166d7bfa2c not-for-merge 'refs/pull/764/head' of https://github.com/apple/swift-argument-parser +cea039077644283df7eb8500f7b666002454fc79 not-for-merge 'refs/pull/766/head' of https://github.com/apple/swift-argument-parser +12b1fbf63dcf80cbda0ee0f0e63266a663e7cee4 not-for-merge 'refs/pull/767/head' of https://github.com/apple/swift-argument-parser +01447f197c1f63ad8e32761b42a960a737bd779d not-for-merge 'refs/pull/77/head' of https://github.com/apple/swift-argument-parser +f5ebfb553361c5cccafcca00fec9ab1cf9ccf7b1 not-for-merge 'refs/pull/770/head' of https://github.com/apple/swift-argument-parser +3e95395d02cb673f95d091fd1edbcb3bbe34fc5e not-for-merge 'refs/pull/773/head' of https://github.com/apple/swift-argument-parser +1bb7c110d6fdb3868ce4b50025b198b82df246a6 not-for-merge 'refs/pull/775/head' of https://github.com/apple/swift-argument-parser +4f2b3b642a806bd2b5e45a48281e477986195a0c not-for-merge 'refs/pull/777/head' of https://github.com/apple/swift-argument-parser +689c03f9146a25901c64710a59da66b2a03901aa not-for-merge 'refs/pull/78/head' of https://github.com/apple/swift-argument-parser +6ff935729e1c4157e52d4a16bcfa5fd795541a6f not-for-merge 'refs/pull/781/head' of https://github.com/apple/swift-argument-parser +df61e9ecd14bc2c43c3d9e0a8aa4e400c72d8788 not-for-merge 'refs/pull/782/head' of https://github.com/apple/swift-argument-parser +a5796a3769bb32dc5989e26911ea89e6856333c6 not-for-merge 'refs/pull/783/head' of https://github.com/apple/swift-argument-parser +1d12a852e78445b8a3613830a924d583870947eb not-for-merge 'refs/pull/784/head' of https://github.com/apple/swift-argument-parser +563ba5ac47fd6959a4c821781ff9eded1235a1fb not-for-merge 'refs/pull/785/head' of https://github.com/apple/swift-argument-parser +805da2f93ae2fafb3437188ab60782d6609bc891 not-for-merge 'refs/pull/787/head' of https://github.com/apple/swift-argument-parser +a11509c39d02caa36651b9a26abfc774f60c9831 not-for-merge 'refs/pull/787/merge' of https://github.com/apple/swift-argument-parser +ae258f809193200508b6bfa5eedbfa09540e3796 not-for-merge 'refs/pull/79/head' of https://github.com/apple/swift-argument-parser +6aed41ed0879ae88c22f781a72d001d24d692c52 not-for-merge 'refs/pull/81/head' of https://github.com/apple/swift-argument-parser +dd14a91db648de0874530b9d91ff92df20d60962 not-for-merge 'refs/pull/83/head' of https://github.com/apple/swift-argument-parser +5a6a00497a2b029b4609d823530604dc8318bf04 not-for-merge 'refs/pull/86/head' of https://github.com/apple/swift-argument-parser +df27fa79134783bc471c0da78ce6f285476211a1 not-for-merge 'refs/pull/89/head' of https://github.com/apple/swift-argument-parser +f83b3d374f845da80a0ace9c8acc59a51c0e9cf3 not-for-merge 'refs/pull/9/head' of https://github.com/apple/swift-argument-parser +2316411523dd900d293069eb5bc621f45d1271af not-for-merge 'refs/pull/91/head' of https://github.com/apple/swift-argument-parser +f7a6b4c2f86f832e697ce9c00175550f4477753d not-for-merge 'refs/pull/94/head' of https://github.com/apple/swift-argument-parser +44b6707bdb325ceba1f03f8d2b34df765e7dcd4b not-for-merge 'refs/pull/95/head' of https://github.com/apple/swift-argument-parser +b66f637363a6b5577c8a3e3da5ba0d4187d6b824 not-for-merge 'refs/pull/96/head' of https://github.com/apple/swift-argument-parser +34d764971eb449d1c1c0cffc779f4cb8d6ab56ff not-for-merge 'refs/pull/98/head' of https://github.com/apple/swift-argument-parser +f6ac7b8118ff5d1bc0faee7f37bf6f8fd8f95602 not-for-merge tag '0.0.1' of https://github.com/apple/swift-argument-parser +35b76bf577d3cc74820f8991894ce3bcdf024ddc not-for-merge tag '0.0.2' of https://github.com/apple/swift-argument-parser +14c7622293ffbb7a235e896e37adf7eb089884a3 not-for-merge tag '0.0.3' of https://github.com/apple/swift-argument-parser +8d31a0905c346a45c87773ad50862b5b3df8dff6 not-for-merge tag '0.0.4' of https://github.com/apple/swift-argument-parser +9f04d1ff1afbccd02279338a2c91e5f27c45e93a not-for-merge tag '0.0.5' of https://github.com/apple/swift-argument-parser +223d62adc52d51669ae2ee19bdb8b7d9fd6fcd9c not-for-merge tag '0.0.6' of https://github.com/apple/swift-argument-parser +3d79b2b5a2e5af52c14e462044702ea7728f5770 not-for-merge tag '0.1.0' of https://github.com/apple/swift-argument-parser +eb51f949cdd0c9d88abba9ce79d37eb7ea1231d0 not-for-merge tag '0.2.0' of https://github.com/apple/swift-argument-parser +7255fd547f70468e19abbac5f7964f1ef309ad92 not-for-merge tag '0.2.1' of https://github.com/apple/swift-argument-parser +3e7d2fe99da091dcc1e4a7dd22fc3cfc2dca7937 not-for-merge tag '0.2.2' of https://github.com/apple/swift-argument-parser +15351c1cd009eba0b6e438bfef55ea9847a8dc4a not-for-merge tag '0.3.0' of https://github.com/apple/swift-argument-parser +92646c0cdbaca076c8d3d0207891785b3379cbff not-for-merge tag '0.3.1' of https://github.com/apple/swift-argument-parser +9564d61b08a5335ae0a36f789a7d71493eacadfc not-for-merge tag '0.3.2' of https://github.com/apple/swift-argument-parser +69ddee8c323ed468539e3b05e8c01e3d5a37bf6a not-for-merge tag '0.4.0' of https://github.com/apple/swift-argument-parser +831ed5e860a70e745bc1337830af4786b2576881 not-for-merge tag '0.4.1' of https://github.com/apple/swift-argument-parser +47bd06ebeff8146ecd0020809e186218b46f465f not-for-merge tag '0.4.2' of https://github.com/apple/swift-argument-parser +986d191f94cec88f6350056da59c2e59e83d1229 not-for-merge tag '0.4.3' of https://github.com/apple/swift-argument-parser +83b23d940471b313427da226196661856f6ba3e0 not-for-merge tag '0.4.4' of https://github.com/apple/swift-argument-parser +6b2aa2748a7881eebb9f84fb10c01293e15b52ca not-for-merge tag '0.5.0' of https://github.com/apple/swift-argument-parser +fd4c3b68a0c04c4c6cda27f0213c3703d50080e8 not-for-merge tag '1.0.0' of https://github.com/apple/swift-argument-parser +d2930e8fcf9c33162b9fcc1d522bc975e2d4179b not-for-merge tag '1.0.1' of https://github.com/apple/swift-argument-parser +e1465042f195f374b94f915ba8ca49de24300a0d not-for-merge tag '1.0.2' of https://github.com/apple/swift-argument-parser +e394bf350e38cb100b6bc4172834770ede1b7232 not-for-merge tag '1.0.3' of https://github.com/apple/swift-argument-parser +554e7659eb5b4dff97158d531aabecf11d546e2d not-for-merge tag '1.1.0' of https://github.com/apple/swift-argument-parser +82905286cc3f0fa8adc4674bf49437cab65a8373 not-for-merge tag '1.1.1' of https://github.com/apple/swift-argument-parser +f3c9084a71ef4376f2fabbdf1d3d90a49f1fabdb not-for-merge tag '1.1.2' of https://github.com/apple/swift-argument-parser +df9ee6676cd5b3bf5b330ec7568a5644f547201b not-for-merge tag '1.1.3' of https://github.com/apple/swift-argument-parser +9f39744e025c7d377987f30b03770805dcb0bcd1 not-for-merge tag '1.1.4' of https://github.com/apple/swift-argument-parser +fddd1c00396eed152c45a46bea9f47b98e59301d not-for-merge tag '1.2.0' of https://github.com/apple/swift-argument-parser +4ad606ba5d7673ea60679a61ff867cc1ff8c8e86 not-for-merge tag '1.2.1' of https://github.com/apple/swift-argument-parser +fee6933f37fde9a5e12a1e4aeaa93fe60116ff2a not-for-merge tag '1.2.2' of https://github.com/apple/swift-argument-parser +8f4d2753f0e4778c76d5f05ad16c74f707390531 not-for-merge tag '1.2.3' of https://github.com/apple/swift-argument-parser +c8ed701b513cf5177118a175d85fbbbcd707ab41 not-for-merge tag '1.3.0' of https://github.com/apple/swift-argument-parser +46989693916f56d1186bd59ac15124caef896560 not-for-merge tag '1.3.1' of https://github.com/apple/swift-argument-parser +0fbc8848e389af3bb55c182bc19ca9d5dc2f255b not-for-merge tag '1.4.0' of https://github.com/apple/swift-argument-parser +41982a3656a71c768319979febd796c6fd111d5c not-for-merge tag '1.5.0' of https://github.com/apple/swift-argument-parser +011f0c765fb46d9cac61bca19be0527e99c98c8b not-for-merge tag '1.5.1' of https://github.com/apple/swift-argument-parser diff --git a/.build/repositories/swift-argument-parser-54a11a8d/HEAD b/.build/repositories/swift-argument-parser-54a11a8d/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-argument-parser-54a11a8d/config b/.build/repositories/swift-argument-parser-54a11a8d/config new file mode 100644 index 0000000..314dad5 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/apple/swift-argument-parser + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-argument-parser-54a11a8d/description b/.build/repositories/swift-argument-parser-54a11a8d/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/applypatch-msg.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/commit-msg.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/post-update.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-applypatch.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-commit.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-merge-commit.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-push.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-rebase.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-receive.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/prepare-commit-msg.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-argument-parser-54a11a8d/hooks/push-to-checkout.sample b/.build/repositories/swift-argument-parser-54a11a8d/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-argument-parser-54a11a8d/info/exclude b/.build/repositories/swift-argument-parser-54a11a8d/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-argument-parser-54a11a8d/objects/pack/pack-5d4bf4c0c0a9f2540a7eb1afd060611a204635b1.idx b/.build/repositories/swift-argument-parser-54a11a8d/objects/pack/pack-5d4bf4c0c0a9f2540a7eb1afd060611a204635b1.idx new file mode 100644 index 0000000..64269b2 Binary files /dev/null and b/.build/repositories/swift-argument-parser-54a11a8d/objects/pack/pack-5d4bf4c0c0a9f2540a7eb1afd060611a204635b1.idx differ diff --git a/.build/repositories/swift-argument-parser-54a11a8d/objects/pack/pack-5d4bf4c0c0a9f2540a7eb1afd060611a204635b1.pack b/.build/repositories/swift-argument-parser-54a11a8d/objects/pack/pack-5d4bf4c0c0a9f2540a7eb1afd060611a204635b1.pack new file mode 100644 index 0000000..8a02e1e Binary files /dev/null and b/.build/repositories/swift-argument-parser-54a11a8d/objects/pack/pack-5d4bf4c0c0a9f2540a7eb1afd060611a204635b1.pack differ diff --git a/.build/repositories/swift-argument-parser-54a11a8d/packed-refs b/.build/repositories/swift-argument-parser-54a11a8d/packed-refs new file mode 100644 index 0000000..6f7b4b5 --- /dev/null +++ b/.build/repositories/swift-argument-parser-54a11a8d/packed-refs @@ -0,0 +1,563 @@ +# pack-refs with: peeled fully-peeled sorted +5eba85261b65dbf59e22ef7e18443c98c5666587 refs/heads/deggert/parse-from-environment +db20beaa905ee09b956f2d8405ad6c905c013c64 refs/heads/dictionaries +f663f714902106ccd36cb10eb5bfeca050c22821 refs/heads/doc-generation +dc7ec065fe476e20f580bf51d637260a6182ca56 refs/heads/expressible-names +e22ed48f264e7fe0d1ebbf05ce8e56e3340cedf0 refs/heads/extendable_example +a76f59f4469b567bc346e2d6c0ac6ef721da07ea refs/heads/feature/interactive +b64f05012ef5bfb1d742e9bdc951534f0c4da2b5 refs/heads/feature/tokenize +10b123ce4ab01ff11a6f1d8379638bb2ba39ed01 refs/heads/flag-set +e1b5801b4a8e220707fc6ba55bda8170542ccc07 refs/heads/formatting-keep-output-together +eafe7b2af877448221e150f7b21a1cdead20105e refs/heads/gh-pages +932e6cdd2a8bd2286e52ccfee18a2f04c173835d refs/heads/main +cc4a03d7bcce0f8876f8f160c0769ef7caf6e56b refs/heads/maxd/ci-test +1ebe98e5e9195ff19cd9c1fe6363e44d56066814 refs/heads/nate/clamp_exitcode +a840ce9e80eef5a63ca17379cc6b0ec6936e7a62 refs/heads/nate/projected_value +78649e1f3de7344b55cc51a2080fff160f202713 refs/heads/option-tuples +5d85168784f9dfd647d0aa611b470f3176cbc431 refs/heads/option-tuples-crash +2e0c299970daadc136c0ecb014d50f46f911b1a7 refs/heads/rauhul/help-result-builder +ede9fca5a2fd2cb8a40ed88feec93a7b79aae28d refs/heads/rauhul/supplementalDiscussion +d66a07b0831ee177b3b57e0c43784fc503ddcfef refs/heads/rebase-bash-completion-on-tool-info +0a2411ac29e4d516bd3a239c3ec89d2696d07e7b refs/heads/rebase-fish-completion-on-tool-info +986d191f94cec88f6350056da59c2e59e83d1229 refs/heads/release/0.4.3 +83b23d940471b313427da226196661856f6ba3e0 refs/heads/release/0.4.4 +e1465042f195f374b94f915ba8ca49de24300a0d refs/heads/release/1.0.2 +e394bf350e38cb100b6bc4172834770ede1b7232 refs/heads/release/1.0.3 +011f0c765fb46d9cac61bca19be0527e99c98c8b refs/heads/release/1.5.1 +af1be50a9365f849e5cf289ff82afcd97af5fe2a refs/heads/standardized-docs +5177e0bce7659700fd15c0b933e347a231ad6b5d refs/pull/10/head +b108ee20fcf8027c68c55c1cbd3a7b44597d4200 refs/pull/101/head +e13cfdae3d618ea44a52214945930e35a7cc0dcd refs/pull/102/head +92187e865625067244cca02d397f1ef0fccb0f16 refs/pull/104/head +ecb046a9e0f58acff18f5a4467340bf2785e4dd3 refs/pull/108/head +5eba85261b65dbf59e22ef7e18443c98c5666587 refs/pull/109/head +99aa2cafd0619dc5b3bb48e7bd5db3a0db5bb116 refs/pull/110/head +46e228e3c0d7ee45738c247a3c3241d35bdfb7bd refs/pull/111/head +5318f26d5045336b00a9aeb79eb3db9c5ece9ed7 refs/pull/113/head +ee07993de0f05809575ee1e2187012081738c908 refs/pull/114/head +a123a2961039b226d9d0e0395a3a33f49e5a5e2a refs/pull/115/head +c1dec4de7695c16c83ed39fce9b1846915a83272 refs/pull/116/head +549a2ac8ba2d939686640a76dfbb0de1c79e9e2d refs/pull/117/head +d2189a15ab5aab8dadb99cb435288ebd7377259a refs/pull/118/head +b7b9c0825697d9c0bb75ece7baabc543872b44ca refs/pull/119/head +5f802047fd70a904f73a21220cc5a6b5a87723b1 refs/pull/12/head +f2ac3523757be3183a581cc06310570e273cea80 refs/pull/121/head +e66023afca46e518612fcf7d94c3a81852c96e7e refs/pull/122/head +69673d3a2e44fe9217468aeffaa1e9af00333d03 refs/pull/123/head +a840ce9e80eef5a63ca17379cc6b0ec6936e7a62 refs/pull/128/head +c11c0e49eabb7c16aee4ad17006f58772248e57a refs/pull/128/merge +25ef07d16e9831076e5157592937080e9b12d9f3 refs/pull/129/head +0f70a7cae3d9cd17e2c2127be68f6798b8bab919 refs/pull/13/head +ac71a8c17a21f082f52ffca8fa26cbd0961951bb refs/pull/133/head +106be2fc260c034370f4bf9c333585bb5cb8bb63 refs/pull/135/head +c61931d1bacbe014edefeaae4ca9a6ee1d61494b refs/pull/138/head +8fcb6d4950a5799aed21ad365c809f6ffe8445ea refs/pull/139/head +b549bdde4639db28b18db05500b55c8b091a9b3c refs/pull/14/head +826aa4f62b4910129a7b5b92bb83bb56a0271fa5 refs/pull/140/head +2d1281d6506a3045f77ba90e1d3c6ae4a78cead6 refs/pull/141/head +4f6fb0d6876b07fcd3a4f25ac9ee2bf8290531c6 refs/pull/142/head +9ab9fe9ab15927399418c64a6454e3f24f15df98 refs/pull/145/head +d0145dc40efd3ae2e1e7ce36688e006153357d17 refs/pull/146/head +6dc3cfef51b6f91d25886d5d8a07025c38ff66cb refs/pull/147/head +a259c180ae321a836a903af78f9566dd843597db refs/pull/148/head +c75040bbe0f7010983bc0636e5038cd325b6d3a4 refs/pull/15/head +5dd10bd587a9f52f3e7115b797b27ca593768d65 refs/pull/150/head +c791a72b89b585a19e2705348eacd48be84f7f1b refs/pull/161/head +be764ed3413d1b1c409c18d3d8e0d3b3a49773e1 refs/pull/162/head +9ec606f7520fbd562722e825050560933dc6917d refs/pull/163/head +cc4bae656df4848b4f8f2bc8aa6072e8bf07c0e6 refs/pull/165/head +edf96d712fd3d781134eabc7eba49729201a8058 refs/pull/166/head +86dbcc708650c25ed7eaba85f2f6cd090e89d1bd refs/pull/168/head +5c68f292483210a359ad7f1288762ffe0c044f7f refs/pull/17/head +8c573a5d1f09a493e48271c7eb8cbf1dda55629e refs/pull/170/head +d954edfce07bd6bd7d342997275080174862a0a3 refs/pull/172/head +1f9e68d881b6f85880c37f3bc08c9a85c2ad3630 refs/pull/173/head +4c958e100cef3b269c90f6b0b8243f594bc3db91 refs/pull/174/head +1afb81de05be41e52958b6176a70fb6098ad2db6 refs/pull/175/head +3e52d2547a9d3b1a0e4f02ea7f69fc3853140868 refs/pull/176/head +5f662e82aa49583a2db576c90fa96f6802365b11 refs/pull/177/head +c963050608e77737168aff4940a2d155ac884858 refs/pull/178/head +10c5d9ea586bd5ddbaa1f2816091a0c5f43955bd refs/pull/179/head +35b003732c7ea2275be67196cd9ded65ed462388 refs/pull/181/head +1cb6cf6e44cd1643a1bfc8fbd434bb26e071632e refs/pull/183/head +532d935c4c5da7dd427f2cd693d034fc37ed49d6 refs/pull/185/head +0c95758ce526761a82c50d144dc927bf2b42dd6b refs/pull/186/head +bea6bdf5d1bfe6038734eca55ca3ae2ac675b266 refs/pull/187/head +422e154fdcd49d1c1459b01bfca092c1e365440d refs/pull/188/head +6c8c2ecc55eea14765bda464324eb38138a96558 refs/pull/189/head +208a2e3c4522415ab8836f6c0700d68c9d8d78b4 refs/pull/19/head +beee0fa083823916c2d050f17910693da2c12475 refs/pull/191/head +9d623a2a22b5df03cef9ef4aff5fc681b366b167 refs/pull/193/head +28d80d1aec76e767810bc75998af33fc5fab57b1 refs/pull/194/head +5c25e13a80e58d342f90acd35fc7d3dd8da9b357 refs/pull/195/head +5ab91b619b03f2f77cc77b90f22739fda9dc6c17 refs/pull/196/head +04d117b3f7bdc2d6149bfb346f7c4ad005b70732 refs/pull/197/head +4039384e0dbec011f5cb2385676331ad16966e3f refs/pull/198/head +e49c6173f46ceb267798b77e387444f81d903c94 refs/pull/20/head +5c232eb6d0826f73b303ceaed74a156d2b103b4b refs/pull/201/head +c6b49cf1c7eb9d81496a5d270ed5e599f66ba123 refs/pull/205/head +27aa98b1eec902b2983c4b827804b93bff05e4a7 refs/pull/207/head +3211da82b2b614e1b4db88b07dbcf13c80e7f244 refs/pull/209/head +c8ce91a86edca252cabe62912a32807ccbd2cda4 refs/pull/21/head +c5fd31a5522049b1faa5348102886220bfd2ca9b refs/pull/210/head +0268b52310bc46b5691c7d8284e61849ba410598 refs/pull/211/head +bb4db8593aa9fdde2ccaab7ea1aee56992c10fde refs/pull/212/head +d5cf53c49a698e463905e389d0e74d6795471f38 refs/pull/213/head +32b32ac241801034accbd970e2bea6164b2e25f0 refs/pull/216/head +b8e78e15d89ac0fc35ff94bc6986c7c87a8d2560 refs/pull/217/head +11e6d838c3d1a16157d958c6a5d4f1416119df8b refs/pull/219/head +acfd13d32d6a1bfe2722be3490d03c99ecd9ed5f refs/pull/22/head +bb487d047d0ea3a8d1a28c838242ae71807bf16a refs/pull/222/head +b11e40db0240a5eed70b233e0b45ad6c96c8c81e refs/pull/223/head +7c988cb25b184d1f620660490f15bc8c0d41866a refs/pull/224/head +f66d7c2030343c164aeb1f15451c569e86c65fc5 refs/pull/225/head +c0e0021811bafed728601a621bc50274434f5621 refs/pull/226/head +60901bf7d77802d2aaa0e956fcd6ab8d888dc1e7 refs/pull/228/head +bdf97bebb0e196e49d44e77f44474123238152a1 refs/pull/229/head +5af710cbaaeb673a6236569a13128a89dcb1ff8d refs/pull/232/head +ce8c2ac725c4f2627247ffdfc98903d7ab0cc0c3 refs/pull/233/head +220e97d85519e73142057f44042e8f0e5a66a123 refs/pull/234/head +695d1037f4befeefc68e2678fc5071e5c80cd323 refs/pull/235/head +28428f848564fc1cf4c23015fd62ccf2be4892f2 refs/pull/236/head +4102665517009f0213111acbffe894b1664e7f5d refs/pull/237/head +5a54dc06b9073403b0842b3bd4a66e6d54f3808b refs/pull/238/head +6a1fa3ebeddd76fefcd8a924fb8ea3fa53d6e323 refs/pull/239/head +d4d2fc29fdf2ce8646c28f0d85972fe531a867a7 refs/pull/240/head +2344ed9fc9078a93509ab08d8da294517cebb8fa refs/pull/242/head +2fab7a4ac6a9924fc27ed4bb334405bd6d90e83c refs/pull/244/head +7f4fb092a5a1da18e2dc9aa82beb0d2f4327554f refs/pull/245/head +124de2d6a8a6807f23570b6bd772ed5db10bfc34 refs/pull/246/head +0ceed804cde1e8f7e3fa153e0aab5c2060fb74e2 refs/pull/247/head +3c0431c88d972ab92c4eb13505339546a58bc54d refs/pull/247/merge +12c967ee5bca80acda81c70b9986fe010b9d3215 refs/pull/249/head +7c9747399257d9bb7f2075e72bc9003dfa91d47a refs/pull/250/head +c3be971b30c4581a58168b508b0766249f4fb1b8 refs/pull/251/head +43e761a23549e0dac8ba2ad962fd6b12ac576bd7 refs/pull/252/head +7302cb11bc493c0a0b99e278b791282dd4851fb5 refs/pull/253/head +50644fc0722fd7c82f67d9a1f295c79043cc306e refs/pull/256/head +e7dd9f97ce0a4c713cafccb236a55a577a8a4494 refs/pull/257/head +50f3e9048f67733540343d8ee541ceefe1fa4f9f refs/pull/258/head +7db394caafe172dcc658e560548005ac9da9bc58 refs/pull/261/head +1571a6c15c5cc50c3f1d1b35d9d7eb38618b5405 refs/pull/262/head +7d48902916e7cdcac5345b560089b8e8a75ff9f5 refs/pull/263/head +df268c5b9b03083db916e23c5b435775e8a906e2 refs/pull/268/head +78f32c4eb509fdc46d54a88e89e74ba880dcf38b refs/pull/271/head +a13105cb937f1a8fa6745faefc9e15dc8af40e06 refs/pull/272/head +6c9c974d849d4f41e18d9f67eec9c453c8a83a92 refs/pull/273/head +c1eab329e144b933b8b55c50e7e927bbbc9b8e43 refs/pull/275/head +70c7e2162e58222c0e216d30a5a81930e583b8ba refs/pull/276/head +2051e1bfcb47f15c1813ea2d454182eb1b497d1c refs/pull/28/head +4cc06d6207cceaa28301487f954fad7dc32376c6 refs/pull/280/head +4cb4ae8ce128df8c59c9cbad61607f36eb8c5901 refs/pull/281/head +11df8d8e74c5691cbb62b5d924125a7db14de1e3 refs/pull/283/head +2239419e98cc435b4fe81ea427fbfdcd604ebf30 refs/pull/284/head +5a891e288db8ad3f189b250d7a4f05727afa1b4b refs/pull/286/head +3135b85cadec386b3fa48788842b5d77c88f8b2a refs/pull/287/head +4d091d4f73a5703bca2dda56b14e62c208d314bf refs/pull/288/head +470ae6706607868f576a19ddbe327478bdfe76d4 refs/pull/289/head +b15c77787764d1694ca6956265077df4d4f2ec23 refs/pull/29/head +331a8abb8f82440c1c9ded9fbdc0571650adc972 refs/pull/290/head +ad016f061cd8a8a6e0ea875124ff50f0dcbe3139 refs/pull/291/head +c076175efa9f323cae2c52d2479ec41fcae5b852 refs/pull/292/head +1b7aba401ebb8ca41d758418cc44f677465de5fa refs/pull/298/head +0eb045e417aab4e04bb2ca0b0e156b165e6237e9 refs/pull/299/head +f086616474252deef796d7daae3dcfb4edf2a0c1 refs/pull/3/head +a8dd790703594e3266a42773cc6b3f922b8a38ee refs/pull/30/head +d52ae71ab466941c93f829fac38a57da284e23f5 refs/pull/300/head +6428e27105ae80eb4800d4c7432e6858885b2b66 refs/pull/301/head +d982be31f17f8ccf13d47ed6b2d9467842a2f1aa refs/pull/302/head +8a0863847d77f8a9de62eb47f53b5c1625b77abf refs/pull/303/head +548eba80de5910d63f8aac2f1b1e329031074f49 refs/pull/304/head +742c3b915dcac5afe2bd12a38cdd067605fcda17 refs/pull/305/head +9fa8a910893b5f6b5e0adeac2bfd4bb382aae1fd refs/pull/306/head +f59991a166335a9ddd18fc37f6a72a5bf3f23102 refs/pull/308/head +08f2140095f5328a75c0df9dd3f3cbf4439ce04b refs/pull/309/head +c69f4b738bc61886d4816772a6ea9b2a258333d6 refs/pull/310/head +98929255336867690629f3bd04b757eecdce6f18 refs/pull/311/head +07533ce12f480be3f341db823efa6ff27d19a525 refs/pull/312/head +807752e0e1a66777da3ac7ecb66978238bef1c3f refs/pull/315/head +a9be190dda7d531917300d7ddd1c5ffc20f2485f refs/pull/316/head +de8dd84d734c4504e020ddcd0fbb2f1f729826e8 refs/pull/317/head +8fdac7495db2c65917569c07078427d39d9e3819 refs/pull/317/merge +44d2ebbc064f17743e11c1740961df4c7f986eb6 refs/pull/318/head +929bb38a40346f88724fd58e148447f13e3024f6 refs/pull/319/head +b5f18cae5cd0c40cb92506a96f83ee79db54dbe8 refs/pull/320/head +7a9d92341fcfe530662e4250fca62f3b092c0882 refs/pull/321/head +450c59f52c2628570892a1bdca14bbff58063270 refs/pull/323/head +86a75cb10bfbd88fcd368913c842047575119ddc refs/pull/324/head +72f8f6f9d9e3aad1562dc7ce3bbba6c1b6aa0e15 refs/pull/329/head +b5f78ee114c1f99fac057de29a9d888b4e5208ab refs/pull/33/head +0f09ac901672a89df2e41f74880ce93b988fc842 refs/pull/332/head +7a2cb6b824bcf5965f65e692fd18f923a9f4b5c1 refs/pull/333/head +78bbbcde19f7e907d24ef04e70e3b98442989c5e refs/pull/334/head +e3c0b9a7775e481f02f3f156b2dc2cd0d82ebc0d refs/pull/335/head +5c701302011549a7cac158c4c1b87cc405c10d17 refs/pull/336/head +0da21d675c03ca71f695625add2deb5d640c0707 refs/pull/339/head +4a11cb4130a601cb9b10ed948bd27893044dcb4f refs/pull/341/head +749f5f25d9d42c4e86b3b67fafa4f98a5db9c84d refs/pull/342/head +747d66953cd1c49e8f6110d2be9a9c51a07fd272 refs/pull/346/head +f24df59f1856421206eab20650badd877f7bf22f refs/pull/347/head +a1c47f33012d17038b80ffb867f5cb2e7f0a5548 refs/pull/349/head +d48003c514756de07b0454724b4ca81265e964a7 refs/pull/350/head +da242dc01eef6497f4ba37b4f5af6392633c6d99 refs/pull/351/head +ad7a872a0e6249f75b5174906bf8827afe9aa017 refs/pull/352/head +6090fe9bdaece9f6e8944e046d2d899f99ab80cf refs/pull/353/head +f740123a8befd2e72a96eb33767c6a527034594c refs/pull/354/head +690eaf8e2ef2e1b6772936abf1619d630e71c7f4 refs/pull/355/head +af6b887cac7e169d7c504376d9be21c5166b044a refs/pull/356/head +2f84b9adcb8cd0bd2e205e0e369b31cbb25ca401 refs/pull/357/head +7fc5893d5c6438da87d29054ba12f28c003a07c3 refs/pull/360/head +0ce33cf9109b42c5239c9970d2ef1f2b6f596fd3 refs/pull/362/head +ea34a6dce60839977c7e89180002892e4016e2bb refs/pull/363/head +70043e4732f949ec18ce165fce97ebdf8831c3c8 refs/pull/364/head +6b3dcf68d2cd684193394184159cf7a2419ee2b2 refs/pull/365/head +3d47bdd83ab6bcae5868081b016c84b6dd7c0309 refs/pull/366/head +364db51bfad2dd8698a4ecfd2ced64626ec00113 refs/pull/367/head +bded88c9d7f88c328d0e5c32e873ce0cafd0f2fa refs/pull/372/head +599949c0670f58bb4bc43400398d5f079162ead0 refs/pull/373/head +fcba6f23b58bef5a08e9ae7dd22d3b1d67426f90 refs/pull/374/head +407c88250a30b09b5e5834c14cebe46247764510 refs/pull/377/head +e0b04db9bfa2b6c29df103aa0e0ac212471107e5 refs/pull/379/head +3bb99048492f0c9982e43264e0f01d8795f9fd8f refs/pull/38/head +e2cd3f33527ec49c160e2a5f151a86b39a09a363 refs/pull/382/head +ac527551005d1334a7b678ae22c6a61c079af7d1 refs/pull/383/head +1497140cac16751221e867233c9813d7e5f2347d refs/pull/385/head +6f40d78d4383b3808de4c7c4c07d90a5063ef92d refs/pull/386/head +65165a2e7248c1cb7f739ae1940646c0d4f405f0 refs/pull/387/head +ef56a31410496dfb4b93a518a9bd57e022fc1d9f refs/pull/388/head +90fce20e727b5d3e0c11b086a7bdced299d09a28 refs/pull/389/head +6357b67651e1a61156ffe3f26804f45437e7af32 refs/pull/390/head +870285fec4d4cd2884fbb7348222d4ceed8720df refs/pull/391/head +f238be5506630e87782fe2a73c7ea184ac2c34f7 refs/pull/392/head +d7b01ddcd54b447d370ac61798e17e7aef6c2f33 refs/pull/395/head +fce74480f32ca7d714718b78797b2da06f20250d refs/pull/396/head +47115a348f200bd786139c38be11a087409e3e3e refs/pull/397/head +311f8614217c7b166a4c890969f87c12bec0cb9b refs/pull/399/head +7803cf71ceb6af1c268c6b9175c2a1d6e475e086 refs/pull/40/head +00853edbbf5d0b98e1887a9edddd5f468ea74da2 refs/pull/400/head +0435df77f04d49e64f555e0c04c52fc763acd42d refs/pull/402/head +1830d73403f1c61f28d140ced3ecf81f8f3ca6e0 refs/pull/404/head +a8107e786e92cb9b176f3ba93554c5b52d083b46 refs/pull/405/head +32fe8b87c56160ed238beadfb562570fedca9796 refs/pull/406/head +55c46cfa0c2a7178ccae24c16180536d9ae8eb22 refs/pull/407/head +8322c155300ecd4868098840eb7aa718d4385c5c refs/pull/408/head +d29a28a8566267e702033e1dba56c44215c311b6 refs/pull/409/head +6edce4f7e65f6c23545c9d3f95db18ccb3c15d8b refs/pull/410/head +6fef98bbb1dd7f96e5df5bc0e63c6c6944f037f7 refs/pull/411/head +6b975778483da237e18b821db3743ad017b9dbaa refs/pull/412/head +17df02f7a79607ad5ba906e4de2a5cf9237a2f6a refs/pull/413/head +057839cc73f8f00e240686a9ad28bf42dc6408d0 refs/pull/414/head +5b5400e11a3a0a9f85b3d1609f8be04a99bda7a2 refs/pull/415/head +3df7139bb4ad46f061525f6e646cbec79bf168d3 refs/pull/416/head +c9f33ffb5e689a7bef2e88747fadaa5a8868fe6b refs/pull/417/head +69dad210167a66cc4acd21d49d07467968eba6b7 refs/pull/418/head +82371bae9a6552af4b8805b88e523bbbf47d98d5 refs/pull/419/head +f2af25c5c12f2c8fe7212f2ee060ec33f7bad918 refs/pull/42/head +db625c71bcd0921b4611c1eab14e1bfee5dd756f refs/pull/420/head +f991f3c5ec63ad304d6cb9b640989e9e189ca5ec refs/pull/421/head +7456dba8218696312ce450e4665515c68650a2b4 refs/pull/422/head +10cbbdf84194856e7914cc0f9da8ef3c2e5d582b refs/pull/423/head +05076bc7e8e5bc56f1cbb3c50021de8c168a7cd9 refs/pull/424/head +7e7d943f4102810527a6451f8eb6d643adbcc53a refs/pull/425/head +e08c5ba3f442b6d6362987dd02d94d0afb4b9db3 refs/pull/427/head +8b5b5bcb8ddecd5e812b0d4175edd667d11328cd refs/pull/428/head +7aba0b88d3b2fdfe8d43c3d7df5b466d484548c0 refs/pull/43/head +b3f2d88d85344b1b0f7018a95c7427c7ac719ad5 refs/pull/430/head +e13b73bea97b08c811a082ef701719f168782355 refs/pull/431/head +0ee64ac310c1fd16a4d7cbb6cb1d7142fd444908 refs/pull/431/merge +82905286cc3f0fa8adc4674bf49437cab65a8373 refs/pull/432/head +011459e4d915590c4acd82d930735177363e42f7 refs/pull/435/head +7cbdef9cd9af1acec4a1435e34376be42f4ee965 refs/pull/436/head +1b639f0c933d93e7b71fc8aff4d3209d23284d79 refs/pull/437/head +a6580c0e468b898a9e12b5c0ad11441531034880 refs/pull/438/head +8f825a83eea91e2b461960629a9c870b3086349e refs/pull/439/head +cf90cc18b2d05fb58e0aedf9adca0473fdde9406 refs/pull/44/head +6c8ca3f0da34831257a794e458c789d6d40d08ea refs/pull/440/head +2ed768385d7b77c819403ba70cea32a63b4f96b7 refs/pull/441/head +4174530d6b565414ea486678a3ca0bc6b04baa34 refs/pull/443/head +4077519a21adbe6c08695f34c3d8f7c1bf102fda refs/pull/445/head +d5d8d9752606a55983be73153664c0f89f75959a refs/pull/446/head +eb8348ed9d9573895ec665914453fbfb16d39791 refs/pull/451/head +2d154a57a4289806ae01b67f05384813faa34a41 refs/pull/452/head +03f70fd97507388fcf92c2cb8c82a52c10449b71 refs/pull/454/head +4bfb3caa7797d1e9a91661b459262c64befaa859 refs/pull/456/head +03f70fd97507388fcf92c2cb8c82a52c10449b71 refs/pull/457/head +63a2ffae576f79b932f9ef69597f19a5b9762e63 refs/pull/458/head +7bfe7a16c69567ceb59b022e33788ac364d3dbad refs/pull/460/head +d9b7c63d9a666b5808f0e1a56d5db23bf5299b40 refs/pull/464/head +135e60ff62d488c9ce440d105dad2b05d4ef9523 refs/pull/468/head +7fe56eff146cd94e98a6fa8270c5bdb288b5c082 refs/pull/47/head +5c9037f4fa10e04db46078c9b011652165835551 refs/pull/470/head +5ac41a7d79ad031862348d208fdd0a2ff3ced5dc refs/pull/471/head +8526a0fb4d00362d817a6ef0baaaa5e0797eab34 refs/pull/472/head +ca4a7dd5a26477c27abf3c0a1b67cae21b010542 refs/pull/473/head +12a74f95232d0f9058747c1ec96f6e9dd53b88c6 refs/pull/474/head +12a73d6ac56056afb549476ef5d3f9c712f82866 refs/pull/475/head +1a13cf48a0b1922360bc9e1f6f4be859912c44c6 refs/pull/476/head +bebda5b4dbff9bc8c4d040184beea23c7b805bde refs/pull/477/head +c9bc06d01f06bdc52275bd30c09a22d47b6a5bae refs/pull/478/head +ede9fca5a2fd2cb8a40ed88feec93a7b79aae28d refs/pull/479/head +0e1aa0546f99c749f5f3612bb5cd68ef80a0ec8b refs/pull/479/merge +38676227f0fd39c0feace15736b646721eed9402 refs/pull/48/head +ffc1c213adc32d441ce147c1fccd4d400cbaa3b1 refs/pull/480/head +60f763bf8ddb91ae198d2ee9333f3af765506d16 refs/pull/481/head +5ab2ccc2ef09ac79883639e4442414a377534005 refs/pull/484/head +74683da747f4034450713f43782f4e67cf4cf5d7 refs/pull/485/head +471d891b89da22d52efe6af04bbbfa0cdb725326 refs/pull/486/head +a671685a8f809e3e713fc65fe0c6a34027aa9f1a refs/pull/487/head +90eabb16886aa5966697561cf803b1908796fffb refs/pull/490/head +47188c7446949569e9ba78c520bc5e036b0c6780 refs/pull/492/head +38f0df6455dfe9297deb029f0f44213010018952 refs/pull/494/head +80fc0df3b5215aab2da6fe41a7ec9d4cd1047439 refs/pull/495/head +543522cf4b9f9b48e00f9cd886014edeaa631fbc refs/pull/496/head +497d1bc25262a6e54ab18d10eceec4ed27868651 refs/pull/498/head +d84fb0daa97ea4f410a6b1304cb4cb3dda14de56 refs/pull/501/head +82c08cd1e93e3b3ba1562077be1b2da45460cabf refs/pull/501/merge +d76260e0094e33c25a5709098695dc47d819ea4a refs/pull/502/head +b3b3a1e07c0cc423d8da69863f0b8a1b697e0522 refs/pull/503/head +c1d089c104e1ea15735749b3ac9cf1ce8a46214b refs/pull/504/head +2e83b612b3ef9fdfd095c814c227266bb7bd6b16 refs/pull/505/head +e7c7c9310f2040905c3b16329a0c360d73e1c326 refs/pull/506/head +b90966040c9fcde0699ca94b16dd5d3fec2d8e09 refs/pull/507/head +1fcd308cc4f339d03f2c1198190aca3ed1fcf4fc refs/pull/51/head +6cc556e3b75dca5275b2d2bd2967ba0abc07ab4b refs/pull/510/head +6e73763eab3e25e668a2c9ddfba8acfb842fb6a5 refs/pull/511/head +8f9013c3269a69a39b9f65bdcdd9d6ad08ca43d6 refs/pull/512/head +ebc64b84a9acbf3a7ef59745383e877c2e0ac54f refs/pull/514/head +9ec88cf5a1922db78b05b1d1388a90fa90193692 refs/pull/516/head +2a81ee18461317d2bd0694fa010dd7eab666c36c refs/pull/518/head +4559384a4feab121eee982cb5f017efc1ecc51a5 refs/pull/519/head +7c642ec96fa0bc0efbfec4a48330020317b3daa6 refs/pull/52/head +3768463959297b1becf001537067f28515a5e15f refs/pull/520/head +5885806319e66309bffa0e4199af1f5e4f4cb268 refs/pull/521/head +19d03dff4efefc0a6e155100b082c26109361261 refs/pull/522/head +5262bbf5748f23e0700f8c2811754613ff379c6c refs/pull/525/head +585c667856295be0935349a6e1e634186de31474 refs/pull/526/head +7ea69bcab4da74b66c1337b8c559ca30206a1918 refs/pull/527/head +2b8aad49c96045d27a284ccd7cbe6841d4ebd817 refs/pull/528/head +d2aa1698cd848c2018675d7a7097b8a648f4e746 refs/pull/529/head +729232d90c77d2a84a229c50512afe823b0472d0 refs/pull/53/head +a5f4912a58ba33adb865a77239b7102335b8ca82 refs/pull/530/head +368b77f36828e175ed93a4de62d1da6a367d5d84 refs/pull/531/head +2559db9f7c12bd6b8c10b63740ac08a795025f7b refs/pull/532/head +fb7eddd73c28745a4eea9a43515786032523d612 refs/pull/533/head +ce840b9dcdcf9b8d137a62677d2e5d7d8263aafd refs/pull/535/head +3cd854b723e9b4bee11df1c08615b61522036c92 refs/pull/539/head +84dbc649d99114c9f5e19b50b2bfeff7ded49180 refs/pull/54/head +de2bb7d15d882a6b6baf3aa1b0792928afadb830 refs/pull/540/head +439da3de6703acec8326f78578f5f8b3536303c0 refs/pull/542/head +da71e2e56b46850b2455ecfabbdfb18653f40630 refs/pull/543/head +a408ac35a05b9236a761319a31f825a7ff51cd73 refs/pull/544/head +541f7c6e66e2a2f3c2949c3ba9f929ee1d0784a6 refs/pull/546/head +0aa7e05779b63fa5efb2e2e4fa9511499c2eee0b refs/pull/547/head +a077ca597804d167c860f2cae891d105e90049a6 refs/pull/548/head +3e0212d870f70e94cf425ccdc31ef66b464db597 refs/pull/549/head +83f15d9a63346d10da312dd5788cf07fa5c776f0 refs/pull/55/head +15b67c5c50400b06e7054705e4cc93931eb72822 refs/pull/550/head +b0111ed9f5583848053bc2107c6a61f021ce71f5 refs/pull/552/head +16c6c432b9783b0b12132fcf2763ba7f162bb3e1 refs/pull/554/head +14cb0997bc6b8748ee4263587e90a024cb7a684b refs/pull/557/head +89e35eddcd5c2c68ab8ad6a6376729583c7963d9 refs/pull/557/merge +c500150b8ef8434bb8710b866a2a5f378f930918 refs/pull/565/head +92d63f4abc7dcfa8b3bd0c2aed439e011bc2e6d9 refs/pull/568/head +5eec59801a271b404ee284a3c8d46df14d67604d refs/pull/572/head +fed6a9b62560a4c5d2e56a5b25611c0034de39d5 refs/pull/573/head +64aeb4e4895c3e1a2a459c182a1440e425813c56 refs/pull/574/head +cc4a03d7bcce0f8876f8f160c0769ef7caf6e56b refs/pull/575/head +6fbf7efb4efb173e8456c49e617a815f6a076699 refs/pull/576/head +1d074987c8f5c2d0200ba7c122c847e916462f8d refs/pull/579/head +c2f4512ff10191dbc33f277865df2be435fb7b8a refs/pull/58/head +964cc9e7dfd8a5961660cb3cbba5b67ec589d0a0 refs/pull/580/head +6e81834e1bccd2d68f2f7b09d86c9f05f6a121a2 refs/pull/582/head +d2f30b6e3edb0431c37828c6a57a884e4893dcca refs/pull/583/head +39401ccb92ad39a6c38cbfbf231517d42129dc29 refs/pull/586/head +4ed1094589da3a5853dd9a04a30ee7b508f35ddb refs/pull/588/head +95cc0122d6ed281cceb57d8e5bae44c8b8309324 refs/pull/589/head +cb862e236c14d6076d0cd7cc50a495971fca7427 refs/pull/590/head +cec82b9fa2e94cf37e766df2fcb4a3dca12e632f refs/pull/592/head +d9c4ebf13c2929fb402e6c100d8d2fc14f9ee016 refs/pull/593/head +cffff99d46d572da47ff401baa8b08a60eb6e7bb refs/pull/594/head +3f7cb81ce135a225a1cd4270bfe283fe21dd5d3b refs/pull/595/head +a950fb509501eb328a9bf3072b47f72971030bdb refs/pull/596/head +eecb91cf9eafdad30ae203f886853a7481c39713 refs/pull/598/head +a76f59f4469b567bc346e2d6c0ac6ef721da07ea refs/pull/599/head +64d1e8a7be0d74122881c27d47e4c1b230396958 refs/pull/6/head +c06631d635e786a3150e33890c3f52c924626325 refs/pull/600/head +28f2f754df68f6b47e9161a51263827b859174d9 refs/pull/601/head +da097b8c1f46c06578d867560eac251aa9d8b30d refs/pull/602/head +867b23e59e7f2aede3e039327a448b04b8a073a0 refs/pull/603/head +5668634002d318d45153a99f194c1fac9fcf37c9 refs/pull/604/head +4b1e6bc6f3c5c575f3960449214c932bb7958ec4 refs/pull/606/head +058b8577d62157655e7ee7f82adf3faf432da2df refs/pull/607/head +9ecde8be24c9c601ed5c264e5ff92f8980c6801a refs/pull/608/head +698ae118bbf69b6bef88777cea276a10bdcc88ba refs/pull/610/head +5041f185a219fc5e4d7e9e50eb2dc5428f3e0b22 refs/pull/611/head +00b4a71e4589c1ddf601f55cf54e23e51f903fd7 refs/pull/612/head +505902f2b22cd462d84512ae050c6584b12dddd5 refs/pull/613/head +b60c9d2ffd622cc143f21fdcf4be5d43dbff7285 refs/pull/614/head +01618a3a754e765e5a66f357556416c54c2840b2 refs/pull/615/head +51e348bc3434a8050d5d578a36b6efb05c52ab5f refs/pull/616/head +4f274ed37fa14553ae282892a54a24dfd4cccc4b refs/pull/617/head +e7fba0d41d719f78519045b252621a1895251c55 refs/pull/619/head +c616875542cd674c8311a8ad635bc1a1e9300fa5 refs/pull/62/head +286c60630eeef0c5ac0d60d96472a55c624b26ea refs/pull/620/head +3d96ca1947efef196693bc2486bbff17d9245911 refs/pull/620/merge +376e3196c9b841ae74badbf064e959ff55b523a5 refs/pull/621/head +4d1244f043f361f576fa1fea69fe86a318d2bbe0 refs/pull/624/head +e04f101be4349267c090311d679143760da25d6f refs/pull/625/head +891e893561947fd3422ff4936132a9ea8164c313 refs/pull/627/head +49133c95d4bbda5e0bb4b90b80410779b6f22667 refs/pull/628/head +daea52b508b2dc91414c0624de4b70935f3e3ba6 refs/pull/628/merge +241162e26cb4f812176200415cd1f6d38d90fe99 refs/pull/629/head +749cb6f4a26060c8325f1ac96090757775349acd refs/pull/63/head +6b79ae626249ec6e1b031710bcf1ae1179bb13a2 refs/pull/634/head +04e55ac566ceb2cef0704dbfae443b84b5b2d4d8 refs/pull/636/head +46a0ae77d7adc45e8072a0c01218f651b842fbb3 refs/pull/638/head +40bed30eb3a2ecf447339f0ca96363c1a8899286 refs/pull/639/head +331cc67a7d823af71d5f59ca536bd718dc8ddb13 refs/pull/640/head +59f35b25a70254b8188cb5994bfe4cf0b951c0a4 refs/pull/641/head +6c2ab1a475a980a46a2363738eb651bdd599c27f refs/pull/644/head +0ff4b13607465f14a3cb92c3f290a4578e76d538 refs/pull/645/head +6f73d3bac2ef59e87d4eaefa1386584bb08c4c13 refs/pull/647/head +790feb26c99e0c89580be38f8b103344eabc226e refs/pull/648/head +1cbf422acadea36613e1ee2f013506e8fb5b5a0f refs/pull/649/head +089b6328bf4aa648e1c74e40112170c7963aa680 refs/pull/65/head +b8efa796a5eb1659a3553f967ef724b6fe0f9c2d refs/pull/650/head +420eb0775a6c89417fcb5416ce99a76616aa2a64 refs/pull/651/head +35b8e1824eea5c4de3a2441b3218730b7de7e9b4 refs/pull/654/head +423a9413227f8e934235248b4cb3320a11a7bb5a refs/pull/657/head +cdc09d36a3e7feeabf647d61ef655b390a70acb4 refs/pull/660/head +17bcbbd8c4ab02d9043212a3b7620d1e7e819ea3 refs/pull/660/merge +b752c8771a11eae2b3ed6d659e0cb82ed9b683ab refs/pull/663/head +ec28a0a02a236f4b6ae70bc539ebf71a5b2d414e refs/pull/666/head +26e7b9b1abeb41627c5624f7d2905f9a2a5ec1e2 refs/pull/667/head +96a91b4b2e72bab89394c5df4bc5370f0c245134 refs/pull/669/head +6e1b78408b119e1b2a1d7c7cc408e0623eb9bf33 refs/pull/67/head +87a00bb1eaf5b72603c7fcd3d99367dd98aa75d8 refs/pull/674/head +71840bd7861f01c7c2441a6d1a006acd58f48b2f refs/pull/674/merge +42de9a9b401501473ca41b36da800cee64c2dec2 refs/pull/676/head +b63295d074ade801c5b0140d127edb44be76e0c2 refs/pull/678/head +6bd8accfdf66546baefbb51f46dc223ac3550c12 refs/pull/68/head +8ba9caf1d83a30665d53b93d262bf2b20da2700d refs/pull/680/head +c95d63f1b1d01ef32ed08e79c325a0ee894ccd55 refs/pull/684/head +4e67f5cfaf293d21d55b0f664bdb87a771ba31c2 refs/pull/685/head +2bc97a09d8b9210969d7a64ceb863ac5756a89de refs/pull/69/head +8624697e15c07825cfa1d74f575bb0825f4c40cb refs/pull/690/head +78649e1f3de7344b55cc51a2080fff160f202713 refs/pull/691/head +897805a77a4f3a5dba55e718d62f74a9d5a8b8fb refs/pull/691/merge +c3b849754e071ad7eee554e9a5846a914bcef8f5 refs/pull/692/head +6fb3c7ff70984a195aeb10fcd74b550c82113abf refs/pull/693/head +6a08c97679cd7c613aeb4cd6f31630b5200f0268 refs/pull/694/head +d66a07b0831ee177b3b57e0c43784fc503ddcfef refs/pull/695/head +0c2f97a738b36acfc19a4aa6c5e8ba5f40bd64bd refs/pull/696/head +a2b3ccac8b522224713f6562786f9c21408fb945 refs/pull/697/head +ccc8c3aa815fc6cf6afeb8d7220f8a1798fa14ef refs/pull/698/head +6353f54520177e7f7ef027878f5a182c843490f6 refs/pull/699/head +c07d49322b2a1cc0cd4adc349fe29e0a6b74bb74 refs/pull/70/head +8b8bc61b335f4a7d9e6ff1f96693003e6598280b refs/pull/700/head +67ed40557ceebd5bdfcb436b2e235e20e9a9de1f refs/pull/701/head +fac54e227925328161cdaa17da9d7ba22274dfed refs/pull/705/head +a82abe34bf2a07f266a89340bdcc295eedfc45f1 refs/pull/707/head +cc3dc213eea2624552a61944f76e2efebc873cf9 refs/pull/708/head +849c4397e2298f706e6ef517ed7755c382916703 refs/pull/71/head +b90715e4572286c17cdb6f6d8fe90bab63d66eb7 refs/pull/711/head +af8249d021fbdc5981af984e9fc0bbe191115432 refs/pull/712/head +4b23e2a98e4bbe6c2d17211a0ae232944098e05b refs/pull/714/head +12b6991aa1f261a6749d5b14025d31e281ac9c3c refs/pull/716/head +5ce772e3e1d4055cc1c0b6a5e2671554567d4f0f refs/pull/718/head +fe0f0b5f8ef02ea43adbaa054b8f6c5993191a1a refs/pull/72/head +84fec1a20804ae98344cbd50f2741bcd71e7271b refs/pull/720/head +41d1d775c79a2eecebf6600b377cddeb9ef6dc27 refs/pull/724/head +6d32ef32e496b35cd1b1cf650f864aa2d7f9aa88 refs/pull/727/head +b47c5c7807d90ea5e0bd47d38b062597c06f8667 refs/pull/728/head +3929864aef455a81d786c4bf35b7ef5ee00e957e refs/pull/729/head +2d30237a80c74399f4a52fdb417256aa78408f11 refs/pull/73/head +262ac6d6142c4105cf22645b226b0011c1c67e07 refs/pull/730/head +52d0a843bacc31290f70888cd091e5891858c6c2 refs/pull/731/head +3c4cb733b18535b51af6275a33b0bff30b90d1b9 refs/pull/732/head +0ad79110d1c9b0506c9d608a17d122384a703d4b refs/pull/735/head +442d722675e756c21c7c921d530ab47362d2c020 refs/pull/736/head +6e987a610771504584ea57103484413c7639d901 refs/pull/738/head +7a9c440c1379ee52938f93c33e4443fc35573bd1 refs/pull/74/head +8fe89a9abb2bf07b5840337d885b78a1ac49cc97 refs/pull/740/head +7dfdf77cc241e17c3ec15eeb21b509288ebdc87d refs/pull/741/head +c1049634b78625231780a9a4d385390d06d21dba refs/pull/743/head +c9209bce3e5134df4e8f9ac96f7825073b385ef0 refs/pull/744/head +dc7ec065fe476e20f580bf51d637260a6182ca56 refs/pull/745/head +b70e8f0b2c8010d9c02bc949c60ff0830dccc7be refs/pull/745/merge +b47acb4cfced70787ead343e8581ccf74af031bb refs/pull/746/head +1144d46cbcad7006a850b001582dcda2de31aeff refs/pull/747/head +2e8148c9783b2e986b82415f0661ebbade49b8bc refs/pull/749/head +0fc5fccacb913f1bc9c021610e2251c658115187 refs/pull/749/merge +c54ac051578d61b764f93c734458e9a26b4e173e refs/pull/75/head +d67151befa39533a6a449136c7992537cbf8ec99 refs/pull/751/head +fc96cbe8cb99f81177079919afa3c51eac7804df refs/pull/753/head +068eff8a3653aba51236b27171e0fa9cace96302 refs/pull/753/merge +34fc135a51d0e9ebb54b2ec9d731b14c3894f1bb refs/pull/754/head +a88e35b2929e362143291779751019c8570347f8 refs/pull/760/head +74b5083a50a5a3a955f33c58cd9eb9ddb57e8672 refs/pull/762/head +2cd9d04ceb8a724a03bdfb00da48e4dc1a04289d refs/pull/763/head +246863b84d0fb7db0045ebd3f27aa4166d7bfa2c refs/pull/764/head +cea039077644283df7eb8500f7b666002454fc79 refs/pull/766/head +12b1fbf63dcf80cbda0ee0f0e63266a663e7cee4 refs/pull/767/head +01447f197c1f63ad8e32761b42a960a737bd779d refs/pull/77/head +f5ebfb553361c5cccafcca00fec9ab1cf9ccf7b1 refs/pull/770/head +3e95395d02cb673f95d091fd1edbcb3bbe34fc5e refs/pull/773/head +1bb7c110d6fdb3868ce4b50025b198b82df246a6 refs/pull/775/head +4f2b3b642a806bd2b5e45a48281e477986195a0c refs/pull/777/head +689c03f9146a25901c64710a59da66b2a03901aa refs/pull/78/head +6ff935729e1c4157e52d4a16bcfa5fd795541a6f refs/pull/781/head +df61e9ecd14bc2c43c3d9e0a8aa4e400c72d8788 refs/pull/782/head +a5796a3769bb32dc5989e26911ea89e6856333c6 refs/pull/783/head +1d12a852e78445b8a3613830a924d583870947eb refs/pull/784/head +563ba5ac47fd6959a4c821781ff9eded1235a1fb refs/pull/785/head +805da2f93ae2fafb3437188ab60782d6609bc891 refs/pull/787/head +a11509c39d02caa36651b9a26abfc774f60c9831 refs/pull/787/merge +ae258f809193200508b6bfa5eedbfa09540e3796 refs/pull/79/head +6aed41ed0879ae88c22f781a72d001d24d692c52 refs/pull/81/head +dd14a91db648de0874530b9d91ff92df20d60962 refs/pull/83/head +5a6a00497a2b029b4609d823530604dc8318bf04 refs/pull/86/head +df27fa79134783bc471c0da78ce6f285476211a1 refs/pull/89/head +f83b3d374f845da80a0ace9c8acc59a51c0e9cf3 refs/pull/9/head +2316411523dd900d293069eb5bc621f45d1271af refs/pull/91/head +f7a6b4c2f86f832e697ce9c00175550f4477753d refs/pull/94/head +44b6707bdb325ceba1f03f8d2b34df765e7dcd4b refs/pull/95/head +b66f637363a6b5577c8a3e3da5ba0d4187d6b824 refs/pull/96/head +34d764971eb449d1c1c0cffc779f4cb8d6ab56ff refs/pull/98/head +f6ac7b8118ff5d1bc0faee7f37bf6f8fd8f95602 refs/tags/0.0.1 +35b76bf577d3cc74820f8991894ce3bcdf024ddc refs/tags/0.0.2 +14c7622293ffbb7a235e896e37adf7eb089884a3 refs/tags/0.0.3 +8d31a0905c346a45c87773ad50862b5b3df8dff6 refs/tags/0.0.4 +9f04d1ff1afbccd02279338a2c91e5f27c45e93a refs/tags/0.0.5 +223d62adc52d51669ae2ee19bdb8b7d9fd6fcd9c refs/tags/0.0.6 +3d79b2b5a2e5af52c14e462044702ea7728f5770 refs/tags/0.1.0 +eb51f949cdd0c9d88abba9ce79d37eb7ea1231d0 refs/tags/0.2.0 +7255fd547f70468e19abbac5f7964f1ef309ad92 refs/tags/0.2.1 +3e7d2fe99da091dcc1e4a7dd22fc3cfc2dca7937 refs/tags/0.2.2 +15351c1cd009eba0b6e438bfef55ea9847a8dc4a refs/tags/0.3.0 +92646c0cdbaca076c8d3d0207891785b3379cbff refs/tags/0.3.1 +9564d61b08a5335ae0a36f789a7d71493eacadfc refs/tags/0.3.2 +69ddee8c323ed468539e3b05e8c01e3d5a37bf6a refs/tags/0.4.0 +831ed5e860a70e745bc1337830af4786b2576881 refs/tags/0.4.1 +47bd06ebeff8146ecd0020809e186218b46f465f refs/tags/0.4.2 +986d191f94cec88f6350056da59c2e59e83d1229 refs/tags/0.4.3 +83b23d940471b313427da226196661856f6ba3e0 refs/tags/0.4.4 +6b2aa2748a7881eebb9f84fb10c01293e15b52ca refs/tags/0.5.0 +fd4c3b68a0c04c4c6cda27f0213c3703d50080e8 refs/tags/1.0.0 +d2930e8fcf9c33162b9fcc1d522bc975e2d4179b refs/tags/1.0.1 +e1465042f195f374b94f915ba8ca49de24300a0d refs/tags/1.0.2 +e394bf350e38cb100b6bc4172834770ede1b7232 refs/tags/1.0.3 +554e7659eb5b4dff97158d531aabecf11d546e2d refs/tags/1.1.0 +82905286cc3f0fa8adc4674bf49437cab65a8373 refs/tags/1.1.1 +f3c9084a71ef4376f2fabbdf1d3d90a49f1fabdb refs/tags/1.1.2 +df9ee6676cd5b3bf5b330ec7568a5644f547201b refs/tags/1.1.3 +9f39744e025c7d377987f30b03770805dcb0bcd1 refs/tags/1.1.4 +fddd1c00396eed152c45a46bea9f47b98e59301d refs/tags/1.2.0 +4ad606ba5d7673ea60679a61ff867cc1ff8c8e86 refs/tags/1.2.1 +fee6933f37fde9a5e12a1e4aeaa93fe60116ff2a refs/tags/1.2.2 +8f4d2753f0e4778c76d5f05ad16c74f707390531 refs/tags/1.2.3 +c8ed701b513cf5177118a175d85fbbbcd707ab41 refs/tags/1.3.0 +46989693916f56d1186bd59ac15124caef896560 refs/tags/1.3.1 +0fbc8848e389af3bb55c182bc19ca9d5dc2f255b refs/tags/1.4.0 +41982a3656a71c768319979febd796c6fd111d5c refs/tags/1.5.0 +011f0c765fb46d9cac61bca19be0527e99c98c8b refs/tags/1.5.1 diff --git a/.build/repositories/swift-collections-9a58d5cf/FETCH_HEAD b/.build/repositories/swift-collections-9a58d5cf/FETCH_HEAD new file mode 100644 index 0000000..8e892da --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/FETCH_HEAD @@ -0,0 +1,375 @@ +7ae9880f0fb622992a8a5328fd4af78af5b6b26f not-for-merge branch 'dn/remove-retain-release-during-find' of https://github.com/apple/swift-collections +ebd51171f0e45788e2cdb3cc6d54233e11d7443c not-for-merge branch 'future' of https://github.com/apple/swift-collections +d402bec9342aa4ec19ad41a50a4d828454ee6410 not-for-merge branch 'main' of https://github.com/apple/swift-collections +762bc5757de4bcf86cc3b3266e3df93f76469089 not-for-merge branch 'nate/zip_dispatch_benchmarking' of https://github.com/apple/swift-collections +d029d9d39c87bed85b1c50adee7c41795261a192 not-for-merge branch 'release/1.0' of https://github.com/apple/swift-collections +671108c96644956dddcd89dd59c203dcdb36cec7 not-for-merge branch 'release/1.1' of https://github.com/apple/swift-collections +c1805596154bb3a265fd91b8ac0c4433b4348fb0 not-for-merge branch 'release/1.2' of https://github.com/apple/swift-collections +a26fc8e7e4c6e0d63b08951f5b7268044fb95c83 not-for-merge branch 'span-prototype' of https://github.com/apple/swift-collections +c65cd649fb91f64636f2f1ef5da4991987139f68 not-for-merge 'refs/pull/10/head' of https://github.com/apple/swift-collections +6a9703c3f13061291eff1baf8af4fce1e6ce35af not-for-merge 'refs/pull/100/head' of https://github.com/apple/swift-collections +8303a77bc2915be76777d6fc17b702146b6fb192 not-for-merge 'refs/pull/102/head' of https://github.com/apple/swift-collections +6cd03922372c85e2dca476f665527976911e7397 not-for-merge 'refs/pull/105/head' of https://github.com/apple/swift-collections +96100d4b6ad61bbfbf549ee42dc73239325b353f not-for-merge 'refs/pull/106/head' of https://github.com/apple/swift-collections +f69104b5071ef9a44112e3c4fef8904b5e8b6d73 not-for-merge 'refs/pull/107/head' of https://github.com/apple/swift-collections +5f255a887e51093f058e7ee9ea0b959051be38d4 not-for-merge 'refs/pull/108/head' of https://github.com/apple/swift-collections +c46c77f7f85f9efe83cc5cb8d54b32c538b06450 not-for-merge 'refs/pull/109/head' of https://github.com/apple/swift-collections +cfca1038b53eecd4fc50da15cc715f966904012e not-for-merge 'refs/pull/11/head' of https://github.com/apple/swift-collections +103008aca495f3b80a50713086d451b08cef9f50 not-for-merge 'refs/pull/110/head' of https://github.com/apple/swift-collections +39a16a15cc8c7e11486015d2deb78468b4a64c85 not-for-merge 'refs/pull/111/head' of https://github.com/apple/swift-collections +7f57a0ed1c8b1d44eacab95d3cfd57d87482b25a not-for-merge 'refs/pull/112/head' of https://github.com/apple/swift-collections +efefae56531b30d75553f234134e3c83bd26c6a6 not-for-merge 'refs/pull/113/head' of https://github.com/apple/swift-collections +565b1ab20bef052f52fad4ebe112803facb325e3 not-for-merge 'refs/pull/114/head' of https://github.com/apple/swift-collections +8b3af12ece11ea7b0e748749c39a59c59269ca25 not-for-merge 'refs/pull/115/head' of https://github.com/apple/swift-collections +8be0f192e8f120969427cb2645aabe6f5fdf15a1 not-for-merge 'refs/pull/116/head' of https://github.com/apple/swift-collections +771bca404c0ee603bb6cc2ea3a19cfc4ebc3d001 not-for-merge 'refs/pull/117/head' of https://github.com/apple/swift-collections +95be379a3ac1e4278d114a22501267065062b39a not-for-merge 'refs/pull/118/head' of https://github.com/apple/swift-collections +f41f2cae69dc6ffcc178227a0a46607561fa925c not-for-merge 'refs/pull/119/head' of https://github.com/apple/swift-collections +276ddee5df4ea0f44c5edea0dbe726cb74682498 not-for-merge 'refs/pull/121/head' of https://github.com/apple/swift-collections +1c1e6206fa1a4b0a6bf97ac979f841c1d1821ad7 not-for-merge 'refs/pull/122/head' of https://github.com/apple/swift-collections +074b0ad21387e767b5b3ff1cb014a118a3b80bde not-for-merge 'refs/pull/123/head' of https://github.com/apple/swift-collections +ddc8b9c66d07cb0af38e98ca160f1f7cc85c88d3 not-for-merge 'refs/pull/126/head' of https://github.com/apple/swift-collections +9dde4b560323d43ec2ca8225a6c5c79a9bc0735d not-for-merge 'refs/pull/128/head' of https://github.com/apple/swift-collections +453adb695f615886cd7a897d62676713aeb25bf9 not-for-merge 'refs/pull/13/head' of https://github.com/apple/swift-collections +286fedb1e8f6b2567cd214cf1127a9322dea1400 not-for-merge 'refs/pull/130/head' of https://github.com/apple/swift-collections +e77d82c71271b7848e3ac9e007a52f36f04a1c7e not-for-merge 'refs/pull/132/head' of https://github.com/apple/swift-collections +1bde9674f42e41bfb62deb96d8b247a537171ba7 not-for-merge 'refs/pull/132/merge' of https://github.com/apple/swift-collections +cee04e96ed96fefa5527e33a4a055482e4ea14e9 not-for-merge 'refs/pull/14/head' of https://github.com/apple/swift-collections +50e6a1ac71df96e5cd257c565e9a3299f491ba3e not-for-merge 'refs/pull/140/head' of https://github.com/apple/swift-collections +29120ea6406a856c36496b4f5d3b13ca381436a6 not-for-merge 'refs/pull/141/head' of https://github.com/apple/swift-collections +867231031ac792328eff9133a289ce9e693a03c3 not-for-merge 'refs/pull/15/head' of https://github.com/apple/swift-collections +6cb037037d45f78622fd7cab3f62e3c6a4ff5ddb not-for-merge 'refs/pull/153/head' of https://github.com/apple/swift-collections +7016a13f0e8d0d0a36f3566a6dc6acaf5b83fbf4 not-for-merge 'refs/pull/155/head' of https://github.com/apple/swift-collections +00a99aa77c4982a6e7343982220e44b15e4d5974 not-for-merge 'refs/pull/156/head' of https://github.com/apple/swift-collections +74a800ac534877875d5d1187ac04f35b31a0b98c not-for-merge 'refs/pull/159/head' of https://github.com/apple/swift-collections +b9d73a5bab8d71e121687f79ed4aabfbd73d016b not-for-merge 'refs/pull/16/head' of https://github.com/apple/swift-collections +ddb6d141b3e4e8726a15e3e9e916ee697bd310db not-for-merge 'refs/pull/160/head' of https://github.com/apple/swift-collections +3437abecc49cfbbb91893e3a0d0f124db163637f not-for-merge 'refs/pull/161/head' of https://github.com/apple/swift-collections +1071b372942289dbd3209ede40f613d339cca8e1 not-for-merge 'refs/pull/162/head' of https://github.com/apple/swift-collections +b9d91f4a9aa3cfd6c8589aee997c4399e6d7d83d not-for-merge 'refs/pull/163/head' of https://github.com/apple/swift-collections +ee1b2de06edf18545084d99a5c99995e9c1ff8d4 not-for-merge 'refs/pull/165/head' of https://github.com/apple/swift-collections +b379fa7aee604738bd0b4076984c934e242bb7a5 not-for-merge 'refs/pull/168/head' of https://github.com/apple/swift-collections +71aa4a39ae59addf40e9dd40e79a4968f1c857cc not-for-merge 'refs/pull/169/head' of https://github.com/apple/swift-collections +feca3b6f4c7bf7adf9fa4a0fd200f96cf1b5a4b5 not-for-merge 'refs/pull/170/head' of https://github.com/apple/swift-collections +9a9d7d87d844b2a14ec602792d9ae216ea57ea53 not-for-merge 'refs/pull/172/head' of https://github.com/apple/swift-collections +8cc0b1d43975a9d547053cf0e943498c0d6d7992 not-for-merge 'refs/pull/173/head' of https://github.com/apple/swift-collections +aa428d0489be5888c72de4a4327f0f316a586632 not-for-merge 'refs/pull/174/head' of https://github.com/apple/swift-collections +14f90620c89e311a067a1fa49813d8bbcd539950 not-for-merge 'refs/pull/175/head' of https://github.com/apple/swift-collections +77edbef16d24e657fc3d7b0bc9adb57e6b0567d9 not-for-merge 'refs/pull/176/head' of https://github.com/apple/swift-collections +9d9659a079644d300d3571fb64ac7bb14322e506 not-for-merge 'refs/pull/177/head' of https://github.com/apple/swift-collections +9f38e7424baa3497e4d481790fc6ec2950725de8 not-for-merge 'refs/pull/178/head' of https://github.com/apple/swift-collections +d45f264ef0dc625a37801ee6e05b764ccbef30b4 not-for-merge 'refs/pull/179/head' of https://github.com/apple/swift-collections +58579394fc929c1b89b762c3ef68a1657442ca7d not-for-merge 'refs/pull/18/head' of https://github.com/apple/swift-collections +39fc818e0efaa148e038e3d89cd78be64567849a not-for-merge 'refs/pull/180/head' of https://github.com/apple/swift-collections +4c4154ca2350d981cd6abeadbdcad18071fe3b95 not-for-merge 'refs/pull/181/head' of https://github.com/apple/swift-collections +59858a77210f506e622a68e5b92e36bae6fc9215 not-for-merge 'refs/pull/182/head' of https://github.com/apple/swift-collections +ba303dca1d72860f0b253778f193010af20f9b79 not-for-merge 'refs/pull/184/head' of https://github.com/apple/swift-collections +778b8ae977c420dfe323b27ed3a1cf3f747f936b not-for-merge 'refs/pull/185/head' of https://github.com/apple/swift-collections +0f92943ba349d0337d254789bc49e9a5c45ff74e not-for-merge 'refs/pull/187/head' of https://github.com/apple/swift-collections +f71ebd9494b3b0b8c1450017f8c30fb61e4dcc37 not-for-merge 'refs/pull/188/head' of https://github.com/apple/swift-collections +66651795d89e760188908bb65b3398aa30b84897 not-for-merge 'refs/pull/189/head' of https://github.com/apple/swift-collections +832e58027cdb86e618089ebdf2e3474da915c357 not-for-merge 'refs/pull/190/head' of https://github.com/apple/swift-collections +9b7c6ecb10599568876b1108005b189de54d9ce9 not-for-merge 'refs/pull/191/head' of https://github.com/apple/swift-collections +4604c1bc381c4d164a030d11830701b2897a0002 not-for-merge 'refs/pull/192/head' of https://github.com/apple/swift-collections +0b86bb11d24e187ab6ab930f582f75ae00bcabf9 not-for-merge 'refs/pull/193/head' of https://github.com/apple/swift-collections +c7c0a094f91bd5cce90b1dc1f3feeb9d2508e7f5 not-for-merge 'refs/pull/194/head' of https://github.com/apple/swift-collections +1b71d2cd942459049b870264b7db649ba7509046 not-for-merge 'refs/pull/195/head' of https://github.com/apple/swift-collections +7cec5d1ed71d0c29fc7515725401c8a711a01074 not-for-merge 'refs/pull/196/head' of https://github.com/apple/swift-collections +b83d06b43337cc2855c1b55ba1cdba854724110b not-for-merge 'refs/pull/197/head' of https://github.com/apple/swift-collections +6286cd0b99741db984e5c1115a4c748bc42efec1 not-for-merge 'refs/pull/198/head' of https://github.com/apple/swift-collections +8b06c61c7e4ecb6777895a8fba275a44ec8c5e01 not-for-merge 'refs/pull/199/head' of https://github.com/apple/swift-collections +5aed92655d73228211985c933e0d5141d8203a09 not-for-merge 'refs/pull/200/head' of https://github.com/apple/swift-collections +51604cd196265a1e4444cef0a7ac749e34f5e64e not-for-merge 'refs/pull/201/head' of https://github.com/apple/swift-collections +2a81cb1186ac3483183df32ba8c3e2fe7360cbcb not-for-merge 'refs/pull/202/head' of https://github.com/apple/swift-collections +6dbc8b8c4f36ff470060464d69066e2e094a194f not-for-merge 'refs/pull/203/head' of https://github.com/apple/swift-collections +6b428b5a7fadfae0120db4fc96a3d5b14f7b7c36 not-for-merge 'refs/pull/204/head' of https://github.com/apple/swift-collections +b1506b62250f074d23cddc6d0318277dda5d21dc not-for-merge 'refs/pull/205/head' of https://github.com/apple/swift-collections +2e872739d3a6201e2b888c73f08ef54ae4125d6d not-for-merge 'refs/pull/206/head' of https://github.com/apple/swift-collections +4c842df1b8cfc9611762bdf5fbd9023ab2d3d333 not-for-merge 'refs/pull/207/head' of https://github.com/apple/swift-collections +1228e9c1628925843575a11c1de8342e402c7c30 not-for-merge 'refs/pull/208/head' of https://github.com/apple/swift-collections +b6184b667bd8f636558522f18cc2fe993a825679 not-for-merge 'refs/pull/21/head' of https://github.com/apple/swift-collections +fc8092d0441e0073831d6b170c74b6cca0da9bf5 not-for-merge 'refs/pull/210/head' of https://github.com/apple/swift-collections +cfc3d4a5179e61c36d77babd9fd3029a0f85cff4 not-for-merge 'refs/pull/211/head' of https://github.com/apple/swift-collections +02ea4e849230bc2326c83c5560822a228d83afab not-for-merge 'refs/pull/212/head' of https://github.com/apple/swift-collections +1490835b289653b145b91a16fe5522d928509efb not-for-merge 'refs/pull/213/head' of https://github.com/apple/swift-collections +2b4ec22949acbfa99f9e22c390d850a650f3d298 not-for-merge 'refs/pull/214/head' of https://github.com/apple/swift-collections +5e0a0149a4c9b2ab407f65b257b5b36bc589307d not-for-merge 'refs/pull/215/head' of https://github.com/apple/swift-collections +734730d72460e7bd536e8021d4aa711cb3aa75b2 not-for-merge 'refs/pull/216/head' of https://github.com/apple/swift-collections +381cf5d17e46f2d3266bd1be7295118647443313 not-for-merge 'refs/pull/217/head' of https://github.com/apple/swift-collections +3c6cb8cd56d04392bf9f79a2d5020fc2abf1958d not-for-merge 'refs/pull/218/head' of https://github.com/apple/swift-collections +67fdff5a25539a51ce2a8bf574a7e4a6b72ebfb8 not-for-merge 'refs/pull/219/head' of https://github.com/apple/swift-collections +fbdf73e1b787a0ac113e930dff73382f612698d4 not-for-merge 'refs/pull/22/head' of https://github.com/apple/swift-collections +d3987c79a1214e279a49a09304c13322560c8a1b not-for-merge 'refs/pull/220/head' of https://github.com/apple/swift-collections +5783b82d72e620f37545924d46bdbfb429f03cbb not-for-merge 'refs/pull/221/head' of https://github.com/apple/swift-collections +2df7f6d3a8fe5f9bb12b5034da2e095424694d44 not-for-merge 'refs/pull/222/head' of https://github.com/apple/swift-collections +72e2df59e3ea600f4d5e67a324bd6df1a7acbd41 not-for-merge 'refs/pull/223/head' of https://github.com/apple/swift-collections +98d62d236bef8c30af5b7015ccbb7db66f43399e not-for-merge 'refs/pull/224/head' of https://github.com/apple/swift-collections +ba7e3927e76ff55b0579770fb036ffce6ea07b3c not-for-merge 'refs/pull/225/head' of https://github.com/apple/swift-collections +207029a613dca008e708370c09fc69010cf6a11d not-for-merge 'refs/pull/226/head' of https://github.com/apple/swift-collections +68bc6567be4c1ae96cfea1217b9e5cee63421c6a not-for-merge 'refs/pull/227/head' of https://github.com/apple/swift-collections +1c147e3b06edbe0b00217e38e94d2d3bc4b4c6a7 not-for-merge 'refs/pull/228/head' of https://github.com/apple/swift-collections +5aa603edfe8c13e0256141cb45f70ec427fe94c1 not-for-merge 'refs/pull/23/head' of https://github.com/apple/swift-collections +d19fb14c46266a20cba9c5362923c6a076e74407 not-for-merge 'refs/pull/230/head' of https://github.com/apple/swift-collections +a32048d44ee028b915565c3093ec5305e41aa6f1 not-for-merge 'refs/pull/231/head' of https://github.com/apple/swift-collections +4448454fbc79b8052acc6b6e7eb6c75c70d1ee2f not-for-merge 'refs/pull/232/head' of https://github.com/apple/swift-collections +14e86daeebe18bd32466a1f2bd2d8da936aa6508 not-for-merge 'refs/pull/233/head' of https://github.com/apple/swift-collections +581490a7351be07e465100628ded472aaa137a99 not-for-merge 'refs/pull/234/head' of https://github.com/apple/swift-collections +ff2d526c1baa53df478db47156bbdd68fcaed4df not-for-merge 'refs/pull/235/head' of https://github.com/apple/swift-collections +98d519ec12ec6bc209ad61fed2e7e2101e312566 not-for-merge 'refs/pull/237/head' of https://github.com/apple/swift-collections +339f1677450d7a8f43518d61cfd93be85fa080c3 not-for-merge 'refs/pull/238/head' of https://github.com/apple/swift-collections +ff85ea9e4f1cf6fd50fb758cde3dedf01a742f52 not-for-merge 'refs/pull/240/head' of https://github.com/apple/swift-collections +18c4f6dc5a771cd3f90ef3e7ae02a99e09e89115 not-for-merge 'refs/pull/241/head' of https://github.com/apple/swift-collections +3d66da5f5baa3585aa4b5fe8f9d9eaaee5e5a6ef not-for-merge 'refs/pull/242/head' of https://github.com/apple/swift-collections +2c33149e4e2cb9a5b2616cdbad9eabb5f51f0e0c not-for-merge 'refs/pull/243/head' of https://github.com/apple/swift-collections +a2f4b18ae02cd14a8488c357c75fef3f2c2a9013 not-for-merge 'refs/pull/244/head' of https://github.com/apple/swift-collections +69768b6eacd442681bc8424cc76516e7e24fdacc not-for-merge 'refs/pull/245/head' of https://github.com/apple/swift-collections +f8252436e5e4384eaa1a68560db380d83b7c71eb not-for-merge 'refs/pull/246/head' of https://github.com/apple/swift-collections +4311455909683513f17677dac7e7ad1c9dbede24 not-for-merge 'refs/pull/246/merge' of https://github.com/apple/swift-collections +b8ed4950368d4d54cefd2b8bfe14c329e057172c not-for-merge 'refs/pull/247/head' of https://github.com/apple/swift-collections +10a01bd9fb383668a987ec8f512da627dbe55f9e not-for-merge 'refs/pull/248/head' of https://github.com/apple/swift-collections +470bf29d014757caae7222f3a41aea0b86b6ee1c not-for-merge 'refs/pull/249/head' of https://github.com/apple/swift-collections +b43076ca7b46b8216590766fd446ae538ab91c5a not-for-merge 'refs/pull/25/head' of https://github.com/apple/swift-collections +c0853ebef8dad7eddb6a44b76dac0f42f699b96a not-for-merge 'refs/pull/251/head' of https://github.com/apple/swift-collections +089666b32ba82c06a166e072ebcdf988108b66b7 not-for-merge 'refs/pull/252/head' of https://github.com/apple/swift-collections +fef38395004569688a967b88c70d8774c63f5fc5 not-for-merge 'refs/pull/254/head' of https://github.com/apple/swift-collections +972578a44da6463eb8f88552cc7d30cf0b6de9a4 not-for-merge 'refs/pull/259/head' of https://github.com/apple/swift-collections +0c2071ecda7a50dcdc8ec435a45b3b830b3e5bcf not-for-merge 'refs/pull/259/merge' of https://github.com/apple/swift-collections +4e2f86b6cd24a124d69bf9257d2ffa751d11da8f not-for-merge 'refs/pull/26/head' of https://github.com/apple/swift-collections +580beb4c121a85f60aaf6f10403e7f457c81ccb9 not-for-merge 'refs/pull/260/head' of https://github.com/apple/swift-collections +5b4e4e032fc56ca77b888ca36b7a342e9932e5fa not-for-merge 'refs/pull/260/merge' of https://github.com/apple/swift-collections +3e6df33472d54ed83dffe3bca7a3c8f65bab4c43 not-for-merge 'refs/pull/263/head' of https://github.com/apple/swift-collections +fcd6800b9d1171fbe0a00f51a72afac32b0a1987 not-for-merge 'refs/pull/264/head' of https://github.com/apple/swift-collections +5dc7a8970eabcf6aaa49529b5ef6401f5128637e not-for-merge 'refs/pull/265/head' of https://github.com/apple/swift-collections +1666222de2200b2a614a0d5184751b8b6f7309b0 not-for-merge 'refs/pull/266/head' of https://github.com/apple/swift-collections +e6ecdac581c3f03f442111b87655702e0664df67 not-for-merge 'refs/pull/267/head' of https://github.com/apple/swift-collections +26de4aa094c87a9efd793f3ec37ec7facea24184 not-for-merge 'refs/pull/268/head' of https://github.com/apple/swift-collections +73936bba69bd49e025aa8113fa81caa7f76ed571 not-for-merge 'refs/pull/269/head' of https://github.com/apple/swift-collections +454c84b5e4253e462dac5472b853ee222ca93368 not-for-merge 'refs/pull/270/head' of https://github.com/apple/swift-collections +9c3328e235e5f17c06328f021a5d11e7221690f5 not-for-merge 'refs/pull/271/head' of https://github.com/apple/swift-collections +96d71628887275fc3010a0979cdebef15edde911 not-for-merge 'refs/pull/272/head' of https://github.com/apple/swift-collections +4b6978bf8b220c9c7d03d1f8124d537fbbddc32a not-for-merge 'refs/pull/273/head' of https://github.com/apple/swift-collections +7f63914a7161923e9af6889ed0f954de1ed4c7f0 not-for-merge 'refs/pull/275/head' of https://github.com/apple/swift-collections +ac0c075ccc0fe2754a41dd777bb39507e73efe5b not-for-merge 'refs/pull/276/head' of https://github.com/apple/swift-collections +a8dad62bc9c76f1f455a372c91759e7bb1e92e63 not-for-merge 'refs/pull/277/head' of https://github.com/apple/swift-collections +99adbe97af48017fb51d884936f6bb87c27166c2 not-for-merge 'refs/pull/278/head' of https://github.com/apple/swift-collections +b0fe7ca8bad02599faa6a308b561f71d4d5e3b4b not-for-merge 'refs/pull/279/head' of https://github.com/apple/swift-collections +dce7b156e7276d44c3641f05bf675d90fea16523 not-for-merge 'refs/pull/280/head' of https://github.com/apple/swift-collections +c4ad48826105dd299f45473784d22bf395b56863 not-for-merge 'refs/pull/281/head' of https://github.com/apple/swift-collections +1f204555aa1678c0aa01cfba5836920acb8c5537 not-for-merge 'refs/pull/282/head' of https://github.com/apple/swift-collections +992e0f3446b4f608f5ead9dd6edc92f6bbc0b0a0 not-for-merge 'refs/pull/283/head' of https://github.com/apple/swift-collections +3f4d8f9912c9c3f5bacef6e6543b3f5b93168f65 not-for-merge 'refs/pull/284/head' of https://github.com/apple/swift-collections +9befd06185369d287deee36f3d0de65f41edabb1 not-for-merge 'refs/pull/285/head' of https://github.com/apple/swift-collections +0c002200bbee27acc8a663075da69120f666b4e5 not-for-merge 'refs/pull/286/head' of https://github.com/apple/swift-collections +de0f59418503fc0c4866395751d930be3abbf17c not-for-merge 'refs/pull/287/head' of https://github.com/apple/swift-collections +a5fda7c368e06561fba87dd33c47443e879dd6da not-for-merge 'refs/pull/288/head' of https://github.com/apple/swift-collections +989bd7f2db6d9e7aa91881389359e369d621e3d9 not-for-merge 'refs/pull/29/head' of https://github.com/apple/swift-collections +03c9ef743ad9de4eea816225afa2fc52490339cc not-for-merge 'refs/pull/290/head' of https://github.com/apple/swift-collections +03e7f0c401e771f4a4c529eae4d3fde91f5bd355 not-for-merge 'refs/pull/291/head' of https://github.com/apple/swift-collections +9c88dce30d213e1844ce60476e7d3eba2b1f1e60 not-for-merge 'refs/pull/292/head' of https://github.com/apple/swift-collections +671cff0b3e579cbdad3a0818031063588d866ad2 not-for-merge 'refs/pull/296/head' of https://github.com/apple/swift-collections +b3d089e37d0d4adc07bdbf1ecd14e9be3786bf25 not-for-merge 'refs/pull/297/head' of https://github.com/apple/swift-collections +2f6606401781d32f3ffe3e245f2ba946acefe97e not-for-merge 'refs/pull/298/head' of https://github.com/apple/swift-collections +8fbc1d318cf4c48931ffc6d204123284087fad0c not-for-merge 'refs/pull/299/head' of https://github.com/apple/swift-collections +cf2cbd6ce39cbbdf7c60b76a8dca8e38b80486fc not-for-merge 'refs/pull/300/head' of https://github.com/apple/swift-collections +09c09f0f734c006186df57595dc823159e0d49ef not-for-merge 'refs/pull/302/head' of https://github.com/apple/swift-collections +a58628449c5e398433472b1bfd7e67e0acbe09fc not-for-merge 'refs/pull/303/head' of https://github.com/apple/swift-collections +a82138e714dcd28ef5b7bacc4b708acc118e87ac not-for-merge 'refs/pull/304/head' of https://github.com/apple/swift-collections +f15c276542595cb0f55368f8abf9f277e8eb51c9 not-for-merge 'refs/pull/304/merge' of https://github.com/apple/swift-collections +1cf3b88cb3d237183cacd6482e4adaec48b17bb5 not-for-merge 'refs/pull/307/head' of https://github.com/apple/swift-collections +5ecb761314ce02183ae34b4e50d95d8e5456c0f5 not-for-merge 'refs/pull/307/merge' of https://github.com/apple/swift-collections +ccd11e55dd4991055b260bb39d7e20ceb09046e9 not-for-merge 'refs/pull/31/head' of https://github.com/apple/swift-collections +9efa05c583441159bd505dfde340cf774d6144e0 not-for-merge 'refs/pull/314/head' of https://github.com/apple/swift-collections +bf742617f30870372ed235c6ccf4515ea0a204d3 not-for-merge 'refs/pull/315/head' of https://github.com/apple/swift-collections +b6e227b9d779fe7405dc410812cb3aba6d2b529a not-for-merge 'refs/pull/316/head' of https://github.com/apple/swift-collections +5c9ee680d20c4a758b0ffe06876fdca823f8068a not-for-merge 'refs/pull/316/merge' of https://github.com/apple/swift-collections +de2c8a90865dcdbd97defe3c2c7396a2400e455a not-for-merge 'refs/pull/318/head' of https://github.com/apple/swift-collections +bd1a62273592d5ad6ef388a70f53a61e33ffcba4 not-for-merge 'refs/pull/319/head' of https://github.com/apple/swift-collections +171edb86e347f70d85ac593c139d26d6b4d3bbea not-for-merge 'refs/pull/32/head' of https://github.com/apple/swift-collections +33f23b6a06f4a9f6b013fdef108cc1c82153afe4 not-for-merge 'refs/pull/320/head' of https://github.com/apple/swift-collections +b67553e0c27857bbc5310f40cd6e68daa2d585de not-for-merge 'refs/pull/321/head' of https://github.com/apple/swift-collections +b72a6cfd9384bc3ace8ea2412e79d5ec34c24934 not-for-merge 'refs/pull/322/head' of https://github.com/apple/swift-collections +90b67c44eae7277d57e79e3c25c5dc72939a3b93 not-for-merge 'refs/pull/323/head' of https://github.com/apple/swift-collections +19ec155f6089f6de453f8835aad46c09f5fd0b4d not-for-merge 'refs/pull/326/head' of https://github.com/apple/swift-collections +069dd4e5df442e813eb30e3216aafa1cc1696a5f not-for-merge 'refs/pull/327/head' of https://github.com/apple/swift-collections +53831b3a2264e24ca6c7ffcfe33c8653a72d51e1 not-for-merge 'refs/pull/328/head' of https://github.com/apple/swift-collections +0b7ebf49775a8e5177eeaea6513083363a20e08c not-for-merge 'refs/pull/330/head' of https://github.com/apple/swift-collections +3bd3d3ba28c6e72515e56b535b8a638144c12413 not-for-merge 'refs/pull/331/head' of https://github.com/apple/swift-collections +cd03e5b471755b00aa948f7de950932c2c5a5d79 not-for-merge 'refs/pull/332/head' of https://github.com/apple/swift-collections +e732790fde08a5e3d4f2347ac4a3e74399a5b457 not-for-merge 'refs/pull/333/head' of https://github.com/apple/swift-collections +d2662892cd218eec7b56e505e4a343e5c676f02c not-for-merge 'refs/pull/335/head' of https://github.com/apple/swift-collections +2bc657fad1def9519f88d851ef9e91bc01dc0e47 not-for-merge 'refs/pull/336/head' of https://github.com/apple/swift-collections +6e91291cb24b777f0db29a6d50a728a2183ab660 not-for-merge 'refs/pull/337/head' of https://github.com/apple/swift-collections +f9c400fb1c9bb8f2f76484b1a398135175d87a7f not-for-merge 'refs/pull/338/head' of https://github.com/apple/swift-collections +071a1011d1f02ac96f92164b0313c429a159ad80 not-for-merge 'refs/pull/339/head' of https://github.com/apple/swift-collections +85b00faba7071b5d7babb426bc06aa401ac8814d not-for-merge 'refs/pull/34/head' of https://github.com/apple/swift-collections +525bb545c4c1f7dfe3ca461136c072af11cb6e4f not-for-merge 'refs/pull/340/head' of https://github.com/apple/swift-collections +2122327782b71345cce48f23b688deebf582adc3 not-for-merge 'refs/pull/341/head' of https://github.com/apple/swift-collections +40e737cdaf9341d821cba518ee990406fdcfd7e3 not-for-merge 'refs/pull/342/head' of https://github.com/apple/swift-collections +8bfcaddd5fadea396620871451ca9ffc43b0985d not-for-merge 'refs/pull/343/head' of https://github.com/apple/swift-collections +9d4a1e5ad279e6bc1c4230f90208b0886608a387 not-for-merge 'refs/pull/346/head' of https://github.com/apple/swift-collections +cdcf9e606a12221e123a642353fbcfdc5d48bcf6 not-for-merge 'refs/pull/347/head' of https://github.com/apple/swift-collections +1a0ac8c06c5a27f330a55a61464eaebc840d89d1 not-for-merge 'refs/pull/348/head' of https://github.com/apple/swift-collections +258df0792818d6c331ccee923736ea234c24cf07 not-for-merge 'refs/pull/349/head' of https://github.com/apple/swift-collections +3c9df19f7da674295f58f07f6dffa5d9e114fbc8 not-for-merge 'refs/pull/351/head' of https://github.com/apple/swift-collections +c61e5e23c89b99d26aaaec6ec6c58bda1b502ebc not-for-merge 'refs/pull/352/head' of https://github.com/apple/swift-collections +8dd4e591b3789ea14e8bd8cfde3ed81aa6edfefe not-for-merge 'refs/pull/353/head' of https://github.com/apple/swift-collections +50f6307501712d87110f3f4d2e4959e84ace3bc8 not-for-merge 'refs/pull/354/head' of https://github.com/apple/swift-collections +8e64f064f562a918993b147a3872e92c157e8e01 not-for-merge 'refs/pull/355/head' of https://github.com/apple/swift-collections +ab744afc39dcd099948bfeb7fa4ac14f3f53dd36 not-for-merge 'refs/pull/356/head' of https://github.com/apple/swift-collections +75395832459d3e7a05ec51ca2ea081fe99be5e8e not-for-merge 'refs/pull/357/head' of https://github.com/apple/swift-collections +e004cd36fa3900c67d97f9944320a213e0d62c42 not-for-merge 'refs/pull/358/head' of https://github.com/apple/swift-collections +f6380bb6608eb7d43c199b3d0ab2f932d300a338 not-for-merge 'refs/pull/36/head' of https://github.com/apple/swift-collections +e424b487611d755ee5fe94271dd69677cc7688f0 not-for-merge 'refs/pull/360/head' of https://github.com/apple/swift-collections +a45e90653a50d7cd8813775cbf3d4ae546db1479 not-for-merge 'refs/pull/361/head' of https://github.com/apple/swift-collections +1e132acbb4f4aceea67ac8cdd5a4afdb1053e13d not-for-merge 'refs/pull/362/head' of https://github.com/apple/swift-collections +09566acb3a06bcb80147555395ae564402a4013f not-for-merge 'refs/pull/367/head' of https://github.com/apple/swift-collections +7425af3a9e29913aeb7cae881f9583f204ca5310 not-for-merge 'refs/pull/368/head' of https://github.com/apple/swift-collections +e9112f40dd90d800c46adf88c7ad58653276bb5b not-for-merge 'refs/pull/370/head' of https://github.com/apple/swift-collections +f46333d4a7c3a3f408131e268589203a68b84a09 not-for-merge 'refs/pull/371/head' of https://github.com/apple/swift-collections +37feda1bb815269044e98991edf011dd713eda6a not-for-merge 'refs/pull/372/head' of https://github.com/apple/swift-collections +ba5154b934dde320698eb31623e6c61eb63675e8 not-for-merge 'refs/pull/373/head' of https://github.com/apple/swift-collections +e3954cdae4f9e97fbd7fd3ec1e80f01abbd6c06c not-for-merge 'refs/pull/375/head' of https://github.com/apple/swift-collections +89b3ca0146f7371dd1008b0f6dd1d1452840deb2 not-for-merge 'refs/pull/377/head' of https://github.com/apple/swift-collections +8d9e1e32484fa7fbbfe49df058fee41304c47213 not-for-merge 'refs/pull/378/head' of https://github.com/apple/swift-collections +5d891350f44eecd7767b85259b1fd3068afe3c16 not-for-merge 'refs/pull/379/head' of https://github.com/apple/swift-collections +d46a563351a5785e7ece59366fb80d1ffc21885c not-for-merge 'refs/pull/38/head' of https://github.com/apple/swift-collections +ead6314a1cb17c2ecce50c80876f1998dcff6286 not-for-merge 'refs/pull/381/head' of https://github.com/apple/swift-collections +35d5746117b42a556f81cff9fe016fdff8a6ddaa not-for-merge 'refs/pull/382/head' of https://github.com/apple/swift-collections +a0b839d7de3278c5003836ad27d8ab75b994cbf5 not-for-merge 'refs/pull/384/head' of https://github.com/apple/swift-collections +d10a328f79966ada76c0f5e1f13922363e1d7da9 not-for-merge 'refs/pull/385/head' of https://github.com/apple/swift-collections +21264913c5162a74f58ef8af8d675417b188b8b9 not-for-merge 'refs/pull/386/head' of https://github.com/apple/swift-collections +dbf90bd36bcfdd3659670e26259e1a1cf40b053a not-for-merge 'refs/pull/388/head' of https://github.com/apple/swift-collections +5c2623b1a8d01d670455c739d07d94ba4f731f72 not-for-merge 'refs/pull/389/head' of https://github.com/apple/swift-collections +7d18b37a95732fa58da3863efb4f8f142524abdb not-for-merge 'refs/pull/390/head' of https://github.com/apple/swift-collections +094bf7ff2c87c735eb7ef41e1eeaedb41c8c0625 not-for-merge 'refs/pull/391/head' of https://github.com/apple/swift-collections +16fcea238788bd5d298d96a199ffbbeea9f0845a not-for-merge 'refs/pull/392/head' of https://github.com/apple/swift-collections +b7ccc7206cefa77e0139cd01af053895a5021fce not-for-merge 'refs/pull/393/head' of https://github.com/apple/swift-collections +79e3fee891cf132262e66a192424cc5a5892c732 not-for-merge 'refs/pull/394/head' of https://github.com/apple/swift-collections +7afbd7686e3ed22f4fff4f12721e944fb94c3476 not-for-merge 'refs/pull/394/merge' of https://github.com/apple/swift-collections +36d53620b57f2c90b897525049d50d327f174edf not-for-merge 'refs/pull/395/head' of https://github.com/apple/swift-collections +ce574378f856d15eec794157225005947534a6ca not-for-merge 'refs/pull/396/head' of https://github.com/apple/swift-collections +99b025049e3fd4f1a791349716d7e3a6e6742ea7 not-for-merge 'refs/pull/397/head' of https://github.com/apple/swift-collections +09f9340dcec6744e7238c0d966cad57e302a7419 not-for-merge 'refs/pull/398/head' of https://github.com/apple/swift-collections +f049c7ae66996b3be81be9688aecc313fb62d2bd not-for-merge 'refs/pull/399/head' of https://github.com/apple/swift-collections +3595ca05808ce018fb0fe6ca985a94d162cee300 not-for-merge 'refs/pull/4/head' of https://github.com/apple/swift-collections +ec1893ac2372b7f596f4bdcff9b3fdbf1017dddc not-for-merge 'refs/pull/40/head' of https://github.com/apple/swift-collections +105afd86fbc2a40752f4d522f7168c4f5c68f551 not-for-merge 'refs/pull/400/head' of https://github.com/apple/swift-collections +3dd72d1c289e56fac76e5a5416c397da4946e98d not-for-merge 'refs/pull/401/head' of https://github.com/apple/swift-collections +edb00bd980448f956a07b3d513f27fca32a1bb08 not-for-merge 'refs/pull/402/head' of https://github.com/apple/swift-collections +cf241c3b6c32196768d825f961fc9b00e7e6b53f not-for-merge 'refs/pull/402/merge' of https://github.com/apple/swift-collections +6b8276e2521d63ae1adc2cfd41d9e5a03e099ebe not-for-merge 'refs/pull/403/head' of https://github.com/apple/swift-collections +6f4d9d856088be4b13c96717e45e94f902bb3fbd not-for-merge 'refs/pull/404/head' of https://github.com/apple/swift-collections +5e1fe6e8f04e609273ee4fafe2fb77922ac2012f not-for-merge 'refs/pull/405/head' of https://github.com/apple/swift-collections +93efdb9e4e967a0ad0cb735721b0a67447cd12b2 not-for-merge 'refs/pull/406/head' of https://github.com/apple/swift-collections +effb33569a926c12dc8e7bae979ac2075c219189 not-for-merge 'refs/pull/408/head' of https://github.com/apple/swift-collections +e14970493019b12d03046f2fdd01b76fd4f9fa3c not-for-merge 'refs/pull/409/head' of https://github.com/apple/swift-collections +897b7c1a387e7afc2c95b4022c3b303137631c62 not-for-merge 'refs/pull/41/head' of https://github.com/apple/swift-collections +5dd817c33df1a62776320437413ad7afbeaab414 not-for-merge 'refs/pull/410/head' of https://github.com/apple/swift-collections +75aa5b075534ab11b77bc694f4c6d7cc29eab26f not-for-merge 'refs/pull/411/head' of https://github.com/apple/swift-collections +0f138be4021524c1b9b8fa2dcd343876695b8101 not-for-merge 'refs/pull/414/head' of https://github.com/apple/swift-collections +ca0c7a28b9b94243cac476dc4275db29f5d0be46 not-for-merge 'refs/pull/415/head' of https://github.com/apple/swift-collections +0030b455f42d9a8588cb9791fdf9e62a4d0e401c not-for-merge 'refs/pull/417/head' of https://github.com/apple/swift-collections +0030b455f42d9a8588cb9791fdf9e62a4d0e401c not-for-merge 'refs/pull/418/head' of https://github.com/apple/swift-collections +7f49fa5164ce43bd1bfcdfe2b43b56cdf6845bd6 not-for-merge 'refs/pull/419/head' of https://github.com/apple/swift-collections +ea4ab58dbc0a886c8a50752068de817ba1e49e81 not-for-merge 'refs/pull/42/head' of https://github.com/apple/swift-collections +fec5a5a6302e3bd30b71cbb8a22706d417eb5e72 not-for-merge 'refs/pull/421/head' of https://github.com/apple/swift-collections +a49afbe1be5e5d26f74b32d77057bf01ecee83bf not-for-merge 'refs/pull/422/head' of https://github.com/apple/swift-collections +ccff1fbf71b315e0eee2ba2b46b82dda44fac55d not-for-merge 'refs/pull/423/head' of https://github.com/apple/swift-collections +3f6522fef12acbebec4e425fec2a0d63a4bbac60 not-for-merge 'refs/pull/424/head' of https://github.com/apple/swift-collections +b33922ed298ce150cd04d0ee330d0c85b3cee104 not-for-merge 'refs/pull/426/head' of https://github.com/apple/swift-collections +84087c786e25744e47affbaae0b44415a973bdc9 not-for-merge 'refs/pull/427/head' of https://github.com/apple/swift-collections +ebe01ea88769ec788cdcd91bdd9d24ae5ceb4f55 not-for-merge 'refs/pull/43/head' of https://github.com/apple/swift-collections +2709b9694779797954b7bebb18764c2a85876e7e not-for-merge 'refs/pull/433/head' of https://github.com/apple/swift-collections +98d345bd66496d36a1d62506d405e6d7b07e8cde not-for-merge 'refs/pull/436/head' of https://github.com/apple/swift-collections +2d4df7d85dea6c6e81edb7a51de92c413318b6c9 not-for-merge 'refs/pull/438/head' of https://github.com/apple/swift-collections +550d9fdac1ee7099c64fc3aa8f7cbd30a7e82ceb not-for-merge 'refs/pull/438/merge' of https://github.com/apple/swift-collections +117c81053b70de031bac51b53288c001662c9305 not-for-merge 'refs/pull/44/head' of https://github.com/apple/swift-collections +4450b7c62274bc08f21b94269e0316e2799afe90 not-for-merge 'refs/pull/445/head' of https://github.com/apple/swift-collections +99db3179fcfab1add1a2418ed5f5392f25156aa0 not-for-merge 'refs/pull/446/head' of https://github.com/apple/swift-collections +40adeb7fd7e86a3d84779a2c43c2211ae805b804 not-for-merge 'refs/pull/447/head' of https://github.com/apple/swift-collections +1cb3ca50a63e8eac9dc503b3fba69ef56a99bce2 not-for-merge 'refs/pull/449/head' of https://github.com/apple/swift-collections +0f73f0ace74ea44f39ab10f23a3d2c03afd54a8f not-for-merge 'refs/pull/450/head' of https://github.com/apple/swift-collections +7ae9880f0fb622992a8a5328fd4af78af5b6b26f not-for-merge 'refs/pull/451/head' of https://github.com/apple/swift-collections +c5ac12e2bc1ad8df1df0ee9d1236ab6366a2c32d not-for-merge 'refs/pull/452/head' of https://github.com/apple/swift-collections +cfbebf4c80d0bc18609e7d603366f384dbdc8ef3 not-for-merge 'refs/pull/453/head' of https://github.com/apple/swift-collections +dbc2866bb5f564d3be3fa5efdda769f2946ee968 not-for-merge 'refs/pull/454/head' of https://github.com/apple/swift-collections +225159599d37106d63795d2df1bcbe0ccf7b3479 not-for-merge 'refs/pull/455/head' of https://github.com/apple/swift-collections +25509c0b883738629b6a13c013b6274538112fbe not-for-merge 'refs/pull/456/head' of https://github.com/apple/swift-collections +c42b4d1ebc5d198401f3efbcda36874b987e29d4 not-for-merge 'refs/pull/457/head' of https://github.com/apple/swift-collections +fd9ee69e0ba4e389a5ecdd85822a0932b0496e3c not-for-merge 'refs/pull/458/head' of https://github.com/apple/swift-collections +769bc7b07c3b986d928540d74d53bdd3d73f4374 not-for-merge 'refs/pull/459/head' of https://github.com/apple/swift-collections +ca939f84e132eb64a44db49c8092c8ec261b3092 not-for-merge 'refs/pull/46/head' of https://github.com/apple/swift-collections +75837a77174c0dd3243a599fae8c1675c64860d1 not-for-merge 'refs/pull/460/head' of https://github.com/apple/swift-collections +3fffe2ad2062eabe93dddb4d2e37bffe9bf278dc not-for-merge 'refs/pull/461/head' of https://github.com/apple/swift-collections +fea1d24e7be3284646858ef7bc9950f685adaa61 not-for-merge 'refs/pull/462/head' of https://github.com/apple/swift-collections +b765db28be0063341ef9048a8c4f6efb8b0e4cbd not-for-merge 'refs/pull/463/head' of https://github.com/apple/swift-collections +6385ebbe4d5fd7235dca833a4b041b14f06d46cf not-for-merge 'refs/pull/464/head' of https://github.com/apple/swift-collections +7ec497fb53a8d0a680576f1e0b0781fb71c99429 not-for-merge 'refs/pull/47/head' of https://github.com/apple/swift-collections +a7fec81fc4c4af5e49d2ce19f3b39ef51202fd22 not-for-merge 'refs/pull/470/head' of https://github.com/apple/swift-collections +117a1aad2d8194b8632bb46483573bb0b7aa50f1 not-for-merge 'refs/pull/471/head' of https://github.com/apple/swift-collections +0bd8dec08b8bb484f4a39e8d241a40c8e0c8a051 not-for-merge 'refs/pull/472/head' of https://github.com/apple/swift-collections +d5f3b81e690242c750deb4ede721539250297bd6 not-for-merge 'refs/pull/473/head' of https://github.com/apple/swift-collections +c25a388c1375c634d42a6f5608a863a4b6aace2c not-for-merge 'refs/pull/474/head' of https://github.com/apple/swift-collections +a09d7cdf458769f6f9586a2782b03d624d710428 not-for-merge 'refs/pull/475/head' of https://github.com/apple/swift-collections +e1be57c0f55f90d9489773dec69449bd86fce692 not-for-merge 'refs/pull/476/head' of https://github.com/apple/swift-collections +1812091001b264fc9b0db6a4b847ef9b330f5fd4 not-for-merge 'refs/pull/478/head' of https://github.com/apple/swift-collections +e337c2b936320f538fc8b9e8b66d51bff56646e4 not-for-merge 'refs/pull/479/head' of https://github.com/apple/swift-collections +137bd464c14792cadc721d90afd412c2e7735424 not-for-merge 'refs/pull/48/head' of https://github.com/apple/swift-collections +6819c6d1491caf6819649a0635d35956700cd165 not-for-merge 'refs/pull/480/head' of https://github.com/apple/swift-collections +c50c57f52eaae3f241dd3a4338d05f199d0bd94d not-for-merge 'refs/pull/481/head' of https://github.com/apple/swift-collections +3fe754c0804d97b446a8ca70b3e4aa8d9c17c831 not-for-merge 'refs/pull/49/head' of https://github.com/apple/swift-collections +dff2b1783badd696c3135abd8e26c3b7ad2e67fd not-for-merge 'refs/pull/51/head' of https://github.com/apple/swift-collections +5e6b95649be69c3e9d6c326f2a7c2ba88c25f460 not-for-merge 'refs/pull/52/head' of https://github.com/apple/swift-collections +4432aa8d79607328e6e96ae2a89f878ea58b27fe not-for-merge 'refs/pull/53/head' of https://github.com/apple/swift-collections +788c17c16b5bc88466d1a0a96f0bf7eaef8b9352 not-for-merge 'refs/pull/54/head' of https://github.com/apple/swift-collections +ff76bbdc775050687a8495f75122faa8fef37d84 not-for-merge 'refs/pull/55/head' of https://github.com/apple/swift-collections +b7d2cf8908b42f35b5a3929e18ab63d3a321a3a1 not-for-merge 'refs/pull/58/head' of https://github.com/apple/swift-collections +956ea437dfdfcc6b431315fe54a9388271f5b512 not-for-merge 'refs/pull/6/head' of https://github.com/apple/swift-collections +175e1eb6b3395e3808218e72910235658819bdc5 not-for-merge 'refs/pull/60/head' of https://github.com/apple/swift-collections +083102e1e2bad3bfc869f3072f134fc48a401550 not-for-merge 'refs/pull/61/head' of https://github.com/apple/swift-collections +0b963fe790c694a35c34b2b31caa84a681f74945 not-for-merge 'refs/pull/62/head' of https://github.com/apple/swift-collections +cfe64fa1f270ff99ae4c5bf36502656d5c77596f not-for-merge 'refs/pull/63/head' of https://github.com/apple/swift-collections +787c4fac1492d4d877127ccf086195b5051b5c01 not-for-merge 'refs/pull/64/head' of https://github.com/apple/swift-collections +478d3cc73fe173775883d35a2b0a073567da3b4b not-for-merge 'refs/pull/65/head' of https://github.com/apple/swift-collections +2a60245369a3e88485ed4f8c92ca5c378ce77c06 not-for-merge 'refs/pull/76/head' of https://github.com/apple/swift-collections +b70b6fec29949244914e7501725deb52370da0b0 not-for-merge 'refs/pull/77/head' of https://github.com/apple/swift-collections +303e1990d6317fc39c5c072483d18e4f0235db60 not-for-merge 'refs/pull/78/head' of https://github.com/apple/swift-collections +cfaab9a73140595755a5bcc138c45ad817dc4f44 not-for-merge 'refs/pull/79/head' of https://github.com/apple/swift-collections +8de85365808b3d984148d0adb5dc36125a71c36f not-for-merge 'refs/pull/8/head' of https://github.com/apple/swift-collections +976a8c276338a00a436f620f9cb8d3c0f74f6d81 not-for-merge 'refs/pull/80/head' of https://github.com/apple/swift-collections +1146f2644c44ff629c5dfc8f5588d6d4cc734a22 not-for-merge 'refs/pull/80/merge' of https://github.com/apple/swift-collections +07134a5bce472917a2fc2f2a19401861a688530b not-for-merge 'refs/pull/81/head' of https://github.com/apple/swift-collections +3d4aca47308287244f2dd7b9c2085dea63c27b60 not-for-merge 'refs/pull/82/head' of https://github.com/apple/swift-collections +140a1752fdfa9788db9e5b23ee32d8bdbed4c9f7 not-for-merge 'refs/pull/83/head' of https://github.com/apple/swift-collections +40ab3405b25719a490abea591d80b7ce27ab8803 not-for-merge 'refs/pull/84/head' of https://github.com/apple/swift-collections +52f77c4486ea96a3c5ed373932ee0220d5a7ebee not-for-merge 'refs/pull/85/head' of https://github.com/apple/swift-collections +029dd258a1d19cbcd8e22523b0811c7dcb6d450a not-for-merge 'refs/pull/86/head' of https://github.com/apple/swift-collections +8ef7b779cd17e95baeef138a612c48b063036aca not-for-merge 'refs/pull/87/head' of https://github.com/apple/swift-collections +ace0073826e3e2bdc1b08d78e6fe6f1efc700aab not-for-merge 'refs/pull/9/head' of https://github.com/apple/swift-collections +e78605942c7fb08c3e8812a166e85bcae2ddd15e not-for-merge 'refs/pull/91/head' of https://github.com/apple/swift-collections +7c68b05ed94391100c1933770cd18e95533bd53d not-for-merge 'refs/pull/92/head' of https://github.com/apple/swift-collections +d6774be62f7f857f0b30dae49a3a6f02b58e5679 not-for-merge 'refs/pull/93/head' of https://github.com/apple/swift-collections +6192ad1fc8795b647f8fb9eec20257ae2cb4716d not-for-merge 'refs/pull/95/head' of https://github.com/apple/swift-collections +dcdd7ebabbdcac6442e45db68f6e3d10b96f0c88 not-for-merge 'refs/pull/96/head' of https://github.com/apple/swift-collections +41bfaaae0af3809b808405df0fab4a5e02ddd206 not-for-merge 'refs/pull/97/head' of https://github.com/apple/swift-collections +462fb1d3fc318f4e1f81d6945b87f1dc32dd8079 not-for-merge 'refs/pull/98/head' of https://github.com/apple/swift-collections +c1c9541a3b91ec076076ad8e9a4e28a00b80cb6b not-for-merge 'refs/pull/99/head' of https://github.com/apple/swift-collections +bd924007a25488900d2e3f3437a0388a97636020 not-for-merge tag '0.0.1' of https://github.com/apple/swift-collections +2d719d75a2065f213e58a5164384a3d2fcf9b59a not-for-merge tag '0.0.2' of https://github.com/apple/swift-collections +d45e63421d3dff834949ac69d3c37691e994bd69 not-for-merge tag '0.0.3' of https://github.com/apple/swift-collections +3426dba9ee5c9f8e4981b0fc9d39a818d36eec28 not-for-merge tag '0.0.4' of https://github.com/apple/swift-collections +0959ba76a1d4a98fd11163aa83fd49c25b93bfae not-for-merge tag '0.0.5' of https://github.com/apple/swift-collections +9d8719c8bebdc79740b6969c912ac706eb721d7a not-for-merge tag '0.0.7' of https://github.com/apple/swift-collections +07e47b1e93e5a1e0ef0c50fcb2d6739fb6be4003 not-for-merge tag '1.0.0' of https://github.com/apple/swift-collections +2d33a0ea89c961dcb2b3da2157963d9c0370347e not-for-merge tag '1.0.1' of https://github.com/apple/swift-collections +48254824bb4248676bf7ce56014ff57b142b77eb not-for-merge tag '1.0.2' of https://github.com/apple/swift-collections +f504716c27d2e5d4144fa4794b12129301d17729 not-for-merge tag '1.0.3' of https://github.com/apple/swift-collections +937e904258d22af6e447a0b72c0bc67583ef64a2 not-for-merge tag '1.0.4' of https://github.com/apple/swift-collections +a902f1823a7ff3c9ab2fba0f992396b948eda307 not-for-merge tag '1.0.5' of https://github.com/apple/swift-collections +d029d9d39c87bed85b1c50adee7c41795261a192 not-for-merge tag '1.0.6' of https://github.com/apple/swift-collections +94cf62b3ba8d4bed62680a282d4c25f9c63c2efb not-for-merge tag '1.1.0' of https://github.com/apple/swift-collections +ee97538f5b81ae89698fd95938896dec5217b148 not-for-merge tag '1.1.1' of https://github.com/apple/swift-collections +3d2dc41a01f9e49d84f0a3925fb858bed64f702d not-for-merge tag '1.1.2' of https://github.com/apple/swift-collections +9bf03ff58ce34478e66aaee630e491823326fd06 not-for-merge tag '1.1.3' of https://github.com/apple/swift-collections +671108c96644956dddcd89dd59c203dcdb36cec7 not-for-merge tag '1.1.4' of https://github.com/apple/swift-collections +c1805596154bb3a265fd91b8ac0c4433b4348fb0 not-for-merge tag '1.2.0' of https://github.com/apple/swift-collections diff --git a/.build/repositories/swift-collections-9a58d5cf/HEAD b/.build/repositories/swift-collections-9a58d5cf/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-collections-9a58d5cf/config b/.build/repositories/swift-collections-9a58d5cf/config new file mode 100644 index 0000000..0c56920 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/apple/swift-collections + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-collections-9a58d5cf/description b/.build/repositories/swift-collections-9a58d5cf/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/applypatch-msg.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/commit-msg.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/post-update.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/pre-applypatch.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/pre-commit.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/pre-merge-commit.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/pre-push.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/pre-rebase.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/pre-receive.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/prepare-commit-msg.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-collections-9a58d5cf/hooks/push-to-checkout.sample b/.build/repositories/swift-collections-9a58d5cf/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-collections-9a58d5cf/info/exclude b/.build/repositories/swift-collections-9a58d5cf/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-collections-9a58d5cf/objects/pack/pack-a703ebcf6b676a96e233b788c675ebffa4e9cfa1.idx b/.build/repositories/swift-collections-9a58d5cf/objects/pack/pack-a703ebcf6b676a96e233b788c675ebffa4e9cfa1.idx new file mode 100644 index 0000000..6bbae43 Binary files /dev/null and b/.build/repositories/swift-collections-9a58d5cf/objects/pack/pack-a703ebcf6b676a96e233b788c675ebffa4e9cfa1.idx differ diff --git a/.build/repositories/swift-collections-9a58d5cf/objects/pack/pack-a703ebcf6b676a96e233b788c675ebffa4e9cfa1.pack b/.build/repositories/swift-collections-9a58d5cf/objects/pack/pack-a703ebcf6b676a96e233b788c675ebffa4e9cfa1.pack new file mode 100644 index 0000000..80fc884 Binary files /dev/null and b/.build/repositories/swift-collections-9a58d5cf/objects/pack/pack-a703ebcf6b676a96e233b788c675ebffa4e9cfa1.pack differ diff --git a/.build/repositories/swift-collections-9a58d5cf/packed-refs b/.build/repositories/swift-collections-9a58d5cf/packed-refs new file mode 100644 index 0000000..10eaa4d --- /dev/null +++ b/.build/repositories/swift-collections-9a58d5cf/packed-refs @@ -0,0 +1,376 @@ +# pack-refs with: peeled fully-peeled sorted +7ae9880f0fb622992a8a5328fd4af78af5b6b26f refs/heads/dn/remove-retain-release-during-find +ebd51171f0e45788e2cdb3cc6d54233e11d7443c refs/heads/future +d402bec9342aa4ec19ad41a50a4d828454ee6410 refs/heads/main +762bc5757de4bcf86cc3b3266e3df93f76469089 refs/heads/nate/zip_dispatch_benchmarking +d029d9d39c87bed85b1c50adee7c41795261a192 refs/heads/release/1.0 +671108c96644956dddcd89dd59c203dcdb36cec7 refs/heads/release/1.1 +c1805596154bb3a265fd91b8ac0c4433b4348fb0 refs/heads/release/1.2 +a26fc8e7e4c6e0d63b08951f5b7268044fb95c83 refs/heads/span-prototype +c65cd649fb91f64636f2f1ef5da4991987139f68 refs/pull/10/head +6a9703c3f13061291eff1baf8af4fce1e6ce35af refs/pull/100/head +8303a77bc2915be76777d6fc17b702146b6fb192 refs/pull/102/head +6cd03922372c85e2dca476f665527976911e7397 refs/pull/105/head +96100d4b6ad61bbfbf549ee42dc73239325b353f refs/pull/106/head +f69104b5071ef9a44112e3c4fef8904b5e8b6d73 refs/pull/107/head +5f255a887e51093f058e7ee9ea0b959051be38d4 refs/pull/108/head +c46c77f7f85f9efe83cc5cb8d54b32c538b06450 refs/pull/109/head +cfca1038b53eecd4fc50da15cc715f966904012e refs/pull/11/head +103008aca495f3b80a50713086d451b08cef9f50 refs/pull/110/head +39a16a15cc8c7e11486015d2deb78468b4a64c85 refs/pull/111/head +7f57a0ed1c8b1d44eacab95d3cfd57d87482b25a refs/pull/112/head +efefae56531b30d75553f234134e3c83bd26c6a6 refs/pull/113/head +565b1ab20bef052f52fad4ebe112803facb325e3 refs/pull/114/head +8b3af12ece11ea7b0e748749c39a59c59269ca25 refs/pull/115/head +8be0f192e8f120969427cb2645aabe6f5fdf15a1 refs/pull/116/head +771bca404c0ee603bb6cc2ea3a19cfc4ebc3d001 refs/pull/117/head +95be379a3ac1e4278d114a22501267065062b39a refs/pull/118/head +f41f2cae69dc6ffcc178227a0a46607561fa925c refs/pull/119/head +276ddee5df4ea0f44c5edea0dbe726cb74682498 refs/pull/121/head +1c1e6206fa1a4b0a6bf97ac979f841c1d1821ad7 refs/pull/122/head +074b0ad21387e767b5b3ff1cb014a118a3b80bde refs/pull/123/head +ddc8b9c66d07cb0af38e98ca160f1f7cc85c88d3 refs/pull/126/head +9dde4b560323d43ec2ca8225a6c5c79a9bc0735d refs/pull/128/head +453adb695f615886cd7a897d62676713aeb25bf9 refs/pull/13/head +286fedb1e8f6b2567cd214cf1127a9322dea1400 refs/pull/130/head +e77d82c71271b7848e3ac9e007a52f36f04a1c7e refs/pull/132/head +1bde9674f42e41bfb62deb96d8b247a537171ba7 refs/pull/132/merge +cee04e96ed96fefa5527e33a4a055482e4ea14e9 refs/pull/14/head +50e6a1ac71df96e5cd257c565e9a3299f491ba3e refs/pull/140/head +29120ea6406a856c36496b4f5d3b13ca381436a6 refs/pull/141/head +867231031ac792328eff9133a289ce9e693a03c3 refs/pull/15/head +6cb037037d45f78622fd7cab3f62e3c6a4ff5ddb refs/pull/153/head +7016a13f0e8d0d0a36f3566a6dc6acaf5b83fbf4 refs/pull/155/head +00a99aa77c4982a6e7343982220e44b15e4d5974 refs/pull/156/head +74a800ac534877875d5d1187ac04f35b31a0b98c refs/pull/159/head +b9d73a5bab8d71e121687f79ed4aabfbd73d016b refs/pull/16/head +ddb6d141b3e4e8726a15e3e9e916ee697bd310db refs/pull/160/head +3437abecc49cfbbb91893e3a0d0f124db163637f refs/pull/161/head +1071b372942289dbd3209ede40f613d339cca8e1 refs/pull/162/head +b9d91f4a9aa3cfd6c8589aee997c4399e6d7d83d refs/pull/163/head +ee1b2de06edf18545084d99a5c99995e9c1ff8d4 refs/pull/165/head +b379fa7aee604738bd0b4076984c934e242bb7a5 refs/pull/168/head +71aa4a39ae59addf40e9dd40e79a4968f1c857cc refs/pull/169/head +feca3b6f4c7bf7adf9fa4a0fd200f96cf1b5a4b5 refs/pull/170/head +9a9d7d87d844b2a14ec602792d9ae216ea57ea53 refs/pull/172/head +8cc0b1d43975a9d547053cf0e943498c0d6d7992 refs/pull/173/head +aa428d0489be5888c72de4a4327f0f316a586632 refs/pull/174/head +14f90620c89e311a067a1fa49813d8bbcd539950 refs/pull/175/head +77edbef16d24e657fc3d7b0bc9adb57e6b0567d9 refs/pull/176/head +9d9659a079644d300d3571fb64ac7bb14322e506 refs/pull/177/head +9f38e7424baa3497e4d481790fc6ec2950725de8 refs/pull/178/head +d45f264ef0dc625a37801ee6e05b764ccbef30b4 refs/pull/179/head +58579394fc929c1b89b762c3ef68a1657442ca7d refs/pull/18/head +39fc818e0efaa148e038e3d89cd78be64567849a refs/pull/180/head +4c4154ca2350d981cd6abeadbdcad18071fe3b95 refs/pull/181/head +59858a77210f506e622a68e5b92e36bae6fc9215 refs/pull/182/head +ba303dca1d72860f0b253778f193010af20f9b79 refs/pull/184/head +778b8ae977c420dfe323b27ed3a1cf3f747f936b refs/pull/185/head +0f92943ba349d0337d254789bc49e9a5c45ff74e refs/pull/187/head +f71ebd9494b3b0b8c1450017f8c30fb61e4dcc37 refs/pull/188/head +66651795d89e760188908bb65b3398aa30b84897 refs/pull/189/head +832e58027cdb86e618089ebdf2e3474da915c357 refs/pull/190/head +9b7c6ecb10599568876b1108005b189de54d9ce9 refs/pull/191/head +4604c1bc381c4d164a030d11830701b2897a0002 refs/pull/192/head +0b86bb11d24e187ab6ab930f582f75ae00bcabf9 refs/pull/193/head +c7c0a094f91bd5cce90b1dc1f3feeb9d2508e7f5 refs/pull/194/head +1b71d2cd942459049b870264b7db649ba7509046 refs/pull/195/head +7cec5d1ed71d0c29fc7515725401c8a711a01074 refs/pull/196/head +b83d06b43337cc2855c1b55ba1cdba854724110b refs/pull/197/head +6286cd0b99741db984e5c1115a4c748bc42efec1 refs/pull/198/head +8b06c61c7e4ecb6777895a8fba275a44ec8c5e01 refs/pull/199/head +5aed92655d73228211985c933e0d5141d8203a09 refs/pull/200/head +51604cd196265a1e4444cef0a7ac749e34f5e64e refs/pull/201/head +2a81cb1186ac3483183df32ba8c3e2fe7360cbcb refs/pull/202/head +6dbc8b8c4f36ff470060464d69066e2e094a194f refs/pull/203/head +6b428b5a7fadfae0120db4fc96a3d5b14f7b7c36 refs/pull/204/head +b1506b62250f074d23cddc6d0318277dda5d21dc refs/pull/205/head +2e872739d3a6201e2b888c73f08ef54ae4125d6d refs/pull/206/head +4c842df1b8cfc9611762bdf5fbd9023ab2d3d333 refs/pull/207/head +1228e9c1628925843575a11c1de8342e402c7c30 refs/pull/208/head +b6184b667bd8f636558522f18cc2fe993a825679 refs/pull/21/head +fc8092d0441e0073831d6b170c74b6cca0da9bf5 refs/pull/210/head +cfc3d4a5179e61c36d77babd9fd3029a0f85cff4 refs/pull/211/head +02ea4e849230bc2326c83c5560822a228d83afab refs/pull/212/head +1490835b289653b145b91a16fe5522d928509efb refs/pull/213/head +2b4ec22949acbfa99f9e22c390d850a650f3d298 refs/pull/214/head +5e0a0149a4c9b2ab407f65b257b5b36bc589307d refs/pull/215/head +734730d72460e7bd536e8021d4aa711cb3aa75b2 refs/pull/216/head +381cf5d17e46f2d3266bd1be7295118647443313 refs/pull/217/head +3c6cb8cd56d04392bf9f79a2d5020fc2abf1958d refs/pull/218/head +67fdff5a25539a51ce2a8bf574a7e4a6b72ebfb8 refs/pull/219/head +fbdf73e1b787a0ac113e930dff73382f612698d4 refs/pull/22/head +d3987c79a1214e279a49a09304c13322560c8a1b refs/pull/220/head +5783b82d72e620f37545924d46bdbfb429f03cbb refs/pull/221/head +2df7f6d3a8fe5f9bb12b5034da2e095424694d44 refs/pull/222/head +72e2df59e3ea600f4d5e67a324bd6df1a7acbd41 refs/pull/223/head +98d62d236bef8c30af5b7015ccbb7db66f43399e refs/pull/224/head +ba7e3927e76ff55b0579770fb036ffce6ea07b3c refs/pull/225/head +207029a613dca008e708370c09fc69010cf6a11d refs/pull/226/head +68bc6567be4c1ae96cfea1217b9e5cee63421c6a refs/pull/227/head +1c147e3b06edbe0b00217e38e94d2d3bc4b4c6a7 refs/pull/228/head +5aa603edfe8c13e0256141cb45f70ec427fe94c1 refs/pull/23/head +d19fb14c46266a20cba9c5362923c6a076e74407 refs/pull/230/head +a32048d44ee028b915565c3093ec5305e41aa6f1 refs/pull/231/head +4448454fbc79b8052acc6b6e7eb6c75c70d1ee2f refs/pull/232/head +14e86daeebe18bd32466a1f2bd2d8da936aa6508 refs/pull/233/head +581490a7351be07e465100628ded472aaa137a99 refs/pull/234/head +ff2d526c1baa53df478db47156bbdd68fcaed4df refs/pull/235/head +98d519ec12ec6bc209ad61fed2e7e2101e312566 refs/pull/237/head +339f1677450d7a8f43518d61cfd93be85fa080c3 refs/pull/238/head +ff85ea9e4f1cf6fd50fb758cde3dedf01a742f52 refs/pull/240/head +18c4f6dc5a771cd3f90ef3e7ae02a99e09e89115 refs/pull/241/head +3d66da5f5baa3585aa4b5fe8f9d9eaaee5e5a6ef refs/pull/242/head +2c33149e4e2cb9a5b2616cdbad9eabb5f51f0e0c refs/pull/243/head +a2f4b18ae02cd14a8488c357c75fef3f2c2a9013 refs/pull/244/head +69768b6eacd442681bc8424cc76516e7e24fdacc refs/pull/245/head +f8252436e5e4384eaa1a68560db380d83b7c71eb refs/pull/246/head +4311455909683513f17677dac7e7ad1c9dbede24 refs/pull/246/merge +b8ed4950368d4d54cefd2b8bfe14c329e057172c refs/pull/247/head +10a01bd9fb383668a987ec8f512da627dbe55f9e refs/pull/248/head +470bf29d014757caae7222f3a41aea0b86b6ee1c refs/pull/249/head +b43076ca7b46b8216590766fd446ae538ab91c5a refs/pull/25/head +c0853ebef8dad7eddb6a44b76dac0f42f699b96a refs/pull/251/head +089666b32ba82c06a166e072ebcdf988108b66b7 refs/pull/252/head +fef38395004569688a967b88c70d8774c63f5fc5 refs/pull/254/head +972578a44da6463eb8f88552cc7d30cf0b6de9a4 refs/pull/259/head +0c2071ecda7a50dcdc8ec435a45b3b830b3e5bcf refs/pull/259/merge +4e2f86b6cd24a124d69bf9257d2ffa751d11da8f refs/pull/26/head +580beb4c121a85f60aaf6f10403e7f457c81ccb9 refs/pull/260/head +5b4e4e032fc56ca77b888ca36b7a342e9932e5fa refs/pull/260/merge +3e6df33472d54ed83dffe3bca7a3c8f65bab4c43 refs/pull/263/head +fcd6800b9d1171fbe0a00f51a72afac32b0a1987 refs/pull/264/head +5dc7a8970eabcf6aaa49529b5ef6401f5128637e refs/pull/265/head +1666222de2200b2a614a0d5184751b8b6f7309b0 refs/pull/266/head +e6ecdac581c3f03f442111b87655702e0664df67 refs/pull/267/head +26de4aa094c87a9efd793f3ec37ec7facea24184 refs/pull/268/head +73936bba69bd49e025aa8113fa81caa7f76ed571 refs/pull/269/head +454c84b5e4253e462dac5472b853ee222ca93368 refs/pull/270/head +9c3328e235e5f17c06328f021a5d11e7221690f5 refs/pull/271/head +96d71628887275fc3010a0979cdebef15edde911 refs/pull/272/head +4b6978bf8b220c9c7d03d1f8124d537fbbddc32a refs/pull/273/head +7f63914a7161923e9af6889ed0f954de1ed4c7f0 refs/pull/275/head +ac0c075ccc0fe2754a41dd777bb39507e73efe5b refs/pull/276/head +a8dad62bc9c76f1f455a372c91759e7bb1e92e63 refs/pull/277/head +99adbe97af48017fb51d884936f6bb87c27166c2 refs/pull/278/head +b0fe7ca8bad02599faa6a308b561f71d4d5e3b4b refs/pull/279/head +dce7b156e7276d44c3641f05bf675d90fea16523 refs/pull/280/head +c4ad48826105dd299f45473784d22bf395b56863 refs/pull/281/head +1f204555aa1678c0aa01cfba5836920acb8c5537 refs/pull/282/head +992e0f3446b4f608f5ead9dd6edc92f6bbc0b0a0 refs/pull/283/head +3f4d8f9912c9c3f5bacef6e6543b3f5b93168f65 refs/pull/284/head +9befd06185369d287deee36f3d0de65f41edabb1 refs/pull/285/head +0c002200bbee27acc8a663075da69120f666b4e5 refs/pull/286/head +de0f59418503fc0c4866395751d930be3abbf17c refs/pull/287/head +a5fda7c368e06561fba87dd33c47443e879dd6da refs/pull/288/head +989bd7f2db6d9e7aa91881389359e369d621e3d9 refs/pull/29/head +03c9ef743ad9de4eea816225afa2fc52490339cc refs/pull/290/head +03e7f0c401e771f4a4c529eae4d3fde91f5bd355 refs/pull/291/head +9c88dce30d213e1844ce60476e7d3eba2b1f1e60 refs/pull/292/head +671cff0b3e579cbdad3a0818031063588d866ad2 refs/pull/296/head +b3d089e37d0d4adc07bdbf1ecd14e9be3786bf25 refs/pull/297/head +2f6606401781d32f3ffe3e245f2ba946acefe97e refs/pull/298/head +8fbc1d318cf4c48931ffc6d204123284087fad0c refs/pull/299/head +cf2cbd6ce39cbbdf7c60b76a8dca8e38b80486fc refs/pull/300/head +09c09f0f734c006186df57595dc823159e0d49ef refs/pull/302/head +a58628449c5e398433472b1bfd7e67e0acbe09fc refs/pull/303/head +a82138e714dcd28ef5b7bacc4b708acc118e87ac refs/pull/304/head +f15c276542595cb0f55368f8abf9f277e8eb51c9 refs/pull/304/merge +1cf3b88cb3d237183cacd6482e4adaec48b17bb5 refs/pull/307/head +5ecb761314ce02183ae34b4e50d95d8e5456c0f5 refs/pull/307/merge +ccd11e55dd4991055b260bb39d7e20ceb09046e9 refs/pull/31/head +9efa05c583441159bd505dfde340cf774d6144e0 refs/pull/314/head +bf742617f30870372ed235c6ccf4515ea0a204d3 refs/pull/315/head +b6e227b9d779fe7405dc410812cb3aba6d2b529a refs/pull/316/head +5c9ee680d20c4a758b0ffe06876fdca823f8068a refs/pull/316/merge +de2c8a90865dcdbd97defe3c2c7396a2400e455a refs/pull/318/head +bd1a62273592d5ad6ef388a70f53a61e33ffcba4 refs/pull/319/head +171edb86e347f70d85ac593c139d26d6b4d3bbea refs/pull/32/head +33f23b6a06f4a9f6b013fdef108cc1c82153afe4 refs/pull/320/head +b67553e0c27857bbc5310f40cd6e68daa2d585de refs/pull/321/head +b72a6cfd9384bc3ace8ea2412e79d5ec34c24934 refs/pull/322/head +90b67c44eae7277d57e79e3c25c5dc72939a3b93 refs/pull/323/head +19ec155f6089f6de453f8835aad46c09f5fd0b4d refs/pull/326/head +069dd4e5df442e813eb30e3216aafa1cc1696a5f refs/pull/327/head +53831b3a2264e24ca6c7ffcfe33c8653a72d51e1 refs/pull/328/head +0b7ebf49775a8e5177eeaea6513083363a20e08c refs/pull/330/head +3bd3d3ba28c6e72515e56b535b8a638144c12413 refs/pull/331/head +cd03e5b471755b00aa948f7de950932c2c5a5d79 refs/pull/332/head +e732790fde08a5e3d4f2347ac4a3e74399a5b457 refs/pull/333/head +d2662892cd218eec7b56e505e4a343e5c676f02c refs/pull/335/head +2bc657fad1def9519f88d851ef9e91bc01dc0e47 refs/pull/336/head +6e91291cb24b777f0db29a6d50a728a2183ab660 refs/pull/337/head +f9c400fb1c9bb8f2f76484b1a398135175d87a7f refs/pull/338/head +071a1011d1f02ac96f92164b0313c429a159ad80 refs/pull/339/head +85b00faba7071b5d7babb426bc06aa401ac8814d refs/pull/34/head +525bb545c4c1f7dfe3ca461136c072af11cb6e4f refs/pull/340/head +2122327782b71345cce48f23b688deebf582adc3 refs/pull/341/head +40e737cdaf9341d821cba518ee990406fdcfd7e3 refs/pull/342/head +8bfcaddd5fadea396620871451ca9ffc43b0985d refs/pull/343/head +9d4a1e5ad279e6bc1c4230f90208b0886608a387 refs/pull/346/head +cdcf9e606a12221e123a642353fbcfdc5d48bcf6 refs/pull/347/head +1a0ac8c06c5a27f330a55a61464eaebc840d89d1 refs/pull/348/head +258df0792818d6c331ccee923736ea234c24cf07 refs/pull/349/head +3c9df19f7da674295f58f07f6dffa5d9e114fbc8 refs/pull/351/head +c61e5e23c89b99d26aaaec6ec6c58bda1b502ebc refs/pull/352/head +8dd4e591b3789ea14e8bd8cfde3ed81aa6edfefe refs/pull/353/head +50f6307501712d87110f3f4d2e4959e84ace3bc8 refs/pull/354/head +8e64f064f562a918993b147a3872e92c157e8e01 refs/pull/355/head +ab744afc39dcd099948bfeb7fa4ac14f3f53dd36 refs/pull/356/head +75395832459d3e7a05ec51ca2ea081fe99be5e8e refs/pull/357/head +e004cd36fa3900c67d97f9944320a213e0d62c42 refs/pull/358/head +f6380bb6608eb7d43c199b3d0ab2f932d300a338 refs/pull/36/head +e424b487611d755ee5fe94271dd69677cc7688f0 refs/pull/360/head +a45e90653a50d7cd8813775cbf3d4ae546db1479 refs/pull/361/head +1e132acbb4f4aceea67ac8cdd5a4afdb1053e13d refs/pull/362/head +09566acb3a06bcb80147555395ae564402a4013f refs/pull/367/head +7425af3a9e29913aeb7cae881f9583f204ca5310 refs/pull/368/head +e9112f40dd90d800c46adf88c7ad58653276bb5b refs/pull/370/head +f46333d4a7c3a3f408131e268589203a68b84a09 refs/pull/371/head +37feda1bb815269044e98991edf011dd713eda6a refs/pull/372/head +ba5154b934dde320698eb31623e6c61eb63675e8 refs/pull/373/head +e3954cdae4f9e97fbd7fd3ec1e80f01abbd6c06c refs/pull/375/head +89b3ca0146f7371dd1008b0f6dd1d1452840deb2 refs/pull/377/head +8d9e1e32484fa7fbbfe49df058fee41304c47213 refs/pull/378/head +5d891350f44eecd7767b85259b1fd3068afe3c16 refs/pull/379/head +d46a563351a5785e7ece59366fb80d1ffc21885c refs/pull/38/head +ead6314a1cb17c2ecce50c80876f1998dcff6286 refs/pull/381/head +35d5746117b42a556f81cff9fe016fdff8a6ddaa refs/pull/382/head +a0b839d7de3278c5003836ad27d8ab75b994cbf5 refs/pull/384/head +d10a328f79966ada76c0f5e1f13922363e1d7da9 refs/pull/385/head +21264913c5162a74f58ef8af8d675417b188b8b9 refs/pull/386/head +dbf90bd36bcfdd3659670e26259e1a1cf40b053a refs/pull/388/head +5c2623b1a8d01d670455c739d07d94ba4f731f72 refs/pull/389/head +7d18b37a95732fa58da3863efb4f8f142524abdb refs/pull/390/head +094bf7ff2c87c735eb7ef41e1eeaedb41c8c0625 refs/pull/391/head +16fcea238788bd5d298d96a199ffbbeea9f0845a refs/pull/392/head +b7ccc7206cefa77e0139cd01af053895a5021fce refs/pull/393/head +79e3fee891cf132262e66a192424cc5a5892c732 refs/pull/394/head +7afbd7686e3ed22f4fff4f12721e944fb94c3476 refs/pull/394/merge +36d53620b57f2c90b897525049d50d327f174edf refs/pull/395/head +ce574378f856d15eec794157225005947534a6ca refs/pull/396/head +99b025049e3fd4f1a791349716d7e3a6e6742ea7 refs/pull/397/head +09f9340dcec6744e7238c0d966cad57e302a7419 refs/pull/398/head +f049c7ae66996b3be81be9688aecc313fb62d2bd refs/pull/399/head +3595ca05808ce018fb0fe6ca985a94d162cee300 refs/pull/4/head +ec1893ac2372b7f596f4bdcff9b3fdbf1017dddc refs/pull/40/head +105afd86fbc2a40752f4d522f7168c4f5c68f551 refs/pull/400/head +3dd72d1c289e56fac76e5a5416c397da4946e98d refs/pull/401/head +edb00bd980448f956a07b3d513f27fca32a1bb08 refs/pull/402/head +cf241c3b6c32196768d825f961fc9b00e7e6b53f refs/pull/402/merge +6b8276e2521d63ae1adc2cfd41d9e5a03e099ebe refs/pull/403/head +6f4d9d856088be4b13c96717e45e94f902bb3fbd refs/pull/404/head +5e1fe6e8f04e609273ee4fafe2fb77922ac2012f refs/pull/405/head +93efdb9e4e967a0ad0cb735721b0a67447cd12b2 refs/pull/406/head +effb33569a926c12dc8e7bae979ac2075c219189 refs/pull/408/head +e14970493019b12d03046f2fdd01b76fd4f9fa3c refs/pull/409/head +897b7c1a387e7afc2c95b4022c3b303137631c62 refs/pull/41/head +5dd817c33df1a62776320437413ad7afbeaab414 refs/pull/410/head +75aa5b075534ab11b77bc694f4c6d7cc29eab26f refs/pull/411/head +0f138be4021524c1b9b8fa2dcd343876695b8101 refs/pull/414/head +ca0c7a28b9b94243cac476dc4275db29f5d0be46 refs/pull/415/head +0030b455f42d9a8588cb9791fdf9e62a4d0e401c refs/pull/417/head +0030b455f42d9a8588cb9791fdf9e62a4d0e401c refs/pull/418/head +7f49fa5164ce43bd1bfcdfe2b43b56cdf6845bd6 refs/pull/419/head +ea4ab58dbc0a886c8a50752068de817ba1e49e81 refs/pull/42/head +fec5a5a6302e3bd30b71cbb8a22706d417eb5e72 refs/pull/421/head +a49afbe1be5e5d26f74b32d77057bf01ecee83bf refs/pull/422/head +ccff1fbf71b315e0eee2ba2b46b82dda44fac55d refs/pull/423/head +3f6522fef12acbebec4e425fec2a0d63a4bbac60 refs/pull/424/head +b33922ed298ce150cd04d0ee330d0c85b3cee104 refs/pull/426/head +84087c786e25744e47affbaae0b44415a973bdc9 refs/pull/427/head +ebe01ea88769ec788cdcd91bdd9d24ae5ceb4f55 refs/pull/43/head +2709b9694779797954b7bebb18764c2a85876e7e refs/pull/433/head +98d345bd66496d36a1d62506d405e6d7b07e8cde refs/pull/436/head +2d4df7d85dea6c6e81edb7a51de92c413318b6c9 refs/pull/438/head +550d9fdac1ee7099c64fc3aa8f7cbd30a7e82ceb refs/pull/438/merge +117c81053b70de031bac51b53288c001662c9305 refs/pull/44/head +4450b7c62274bc08f21b94269e0316e2799afe90 refs/pull/445/head +99db3179fcfab1add1a2418ed5f5392f25156aa0 refs/pull/446/head +40adeb7fd7e86a3d84779a2c43c2211ae805b804 refs/pull/447/head +1cb3ca50a63e8eac9dc503b3fba69ef56a99bce2 refs/pull/449/head +0f73f0ace74ea44f39ab10f23a3d2c03afd54a8f refs/pull/450/head +7ae9880f0fb622992a8a5328fd4af78af5b6b26f refs/pull/451/head +c5ac12e2bc1ad8df1df0ee9d1236ab6366a2c32d refs/pull/452/head +cfbebf4c80d0bc18609e7d603366f384dbdc8ef3 refs/pull/453/head +dbc2866bb5f564d3be3fa5efdda769f2946ee968 refs/pull/454/head +225159599d37106d63795d2df1bcbe0ccf7b3479 refs/pull/455/head +25509c0b883738629b6a13c013b6274538112fbe refs/pull/456/head +c42b4d1ebc5d198401f3efbcda36874b987e29d4 refs/pull/457/head +fd9ee69e0ba4e389a5ecdd85822a0932b0496e3c refs/pull/458/head +769bc7b07c3b986d928540d74d53bdd3d73f4374 refs/pull/459/head +ca939f84e132eb64a44db49c8092c8ec261b3092 refs/pull/46/head +75837a77174c0dd3243a599fae8c1675c64860d1 refs/pull/460/head +3fffe2ad2062eabe93dddb4d2e37bffe9bf278dc refs/pull/461/head +fea1d24e7be3284646858ef7bc9950f685adaa61 refs/pull/462/head +b765db28be0063341ef9048a8c4f6efb8b0e4cbd refs/pull/463/head +6385ebbe4d5fd7235dca833a4b041b14f06d46cf refs/pull/464/head +7ec497fb53a8d0a680576f1e0b0781fb71c99429 refs/pull/47/head +a7fec81fc4c4af5e49d2ce19f3b39ef51202fd22 refs/pull/470/head +117a1aad2d8194b8632bb46483573bb0b7aa50f1 refs/pull/471/head +0bd8dec08b8bb484f4a39e8d241a40c8e0c8a051 refs/pull/472/head +d5f3b81e690242c750deb4ede721539250297bd6 refs/pull/473/head +c25a388c1375c634d42a6f5608a863a4b6aace2c refs/pull/474/head +a09d7cdf458769f6f9586a2782b03d624d710428 refs/pull/475/head +e1be57c0f55f90d9489773dec69449bd86fce692 refs/pull/476/head +1812091001b264fc9b0db6a4b847ef9b330f5fd4 refs/pull/478/head +e337c2b936320f538fc8b9e8b66d51bff56646e4 refs/pull/479/head +137bd464c14792cadc721d90afd412c2e7735424 refs/pull/48/head +6819c6d1491caf6819649a0635d35956700cd165 refs/pull/480/head +c50c57f52eaae3f241dd3a4338d05f199d0bd94d refs/pull/481/head +3fe754c0804d97b446a8ca70b3e4aa8d9c17c831 refs/pull/49/head +dff2b1783badd696c3135abd8e26c3b7ad2e67fd refs/pull/51/head +5e6b95649be69c3e9d6c326f2a7c2ba88c25f460 refs/pull/52/head +4432aa8d79607328e6e96ae2a89f878ea58b27fe refs/pull/53/head +788c17c16b5bc88466d1a0a96f0bf7eaef8b9352 refs/pull/54/head +ff76bbdc775050687a8495f75122faa8fef37d84 refs/pull/55/head +b7d2cf8908b42f35b5a3929e18ab63d3a321a3a1 refs/pull/58/head +956ea437dfdfcc6b431315fe54a9388271f5b512 refs/pull/6/head +175e1eb6b3395e3808218e72910235658819bdc5 refs/pull/60/head +083102e1e2bad3bfc869f3072f134fc48a401550 refs/pull/61/head +0b963fe790c694a35c34b2b31caa84a681f74945 refs/pull/62/head +cfe64fa1f270ff99ae4c5bf36502656d5c77596f refs/pull/63/head +787c4fac1492d4d877127ccf086195b5051b5c01 refs/pull/64/head +478d3cc73fe173775883d35a2b0a073567da3b4b refs/pull/65/head +2a60245369a3e88485ed4f8c92ca5c378ce77c06 refs/pull/76/head +b70b6fec29949244914e7501725deb52370da0b0 refs/pull/77/head +303e1990d6317fc39c5c072483d18e4f0235db60 refs/pull/78/head +cfaab9a73140595755a5bcc138c45ad817dc4f44 refs/pull/79/head +8de85365808b3d984148d0adb5dc36125a71c36f refs/pull/8/head +976a8c276338a00a436f620f9cb8d3c0f74f6d81 refs/pull/80/head +1146f2644c44ff629c5dfc8f5588d6d4cc734a22 refs/pull/80/merge +07134a5bce472917a2fc2f2a19401861a688530b refs/pull/81/head +3d4aca47308287244f2dd7b9c2085dea63c27b60 refs/pull/82/head +140a1752fdfa9788db9e5b23ee32d8bdbed4c9f7 refs/pull/83/head +40ab3405b25719a490abea591d80b7ce27ab8803 refs/pull/84/head +52f77c4486ea96a3c5ed373932ee0220d5a7ebee refs/pull/85/head +029dd258a1d19cbcd8e22523b0811c7dcb6d450a refs/pull/86/head +8ef7b779cd17e95baeef138a612c48b063036aca refs/pull/87/head +ace0073826e3e2bdc1b08d78e6fe6f1efc700aab refs/pull/9/head +e78605942c7fb08c3e8812a166e85bcae2ddd15e refs/pull/91/head +7c68b05ed94391100c1933770cd18e95533bd53d refs/pull/92/head +d6774be62f7f857f0b30dae49a3a6f02b58e5679 refs/pull/93/head +6192ad1fc8795b647f8fb9eec20257ae2cb4716d refs/pull/95/head +dcdd7ebabbdcac6442e45db68f6e3d10b96f0c88 refs/pull/96/head +41bfaaae0af3809b808405df0fab4a5e02ddd206 refs/pull/97/head +462fb1d3fc318f4e1f81d6945b87f1dc32dd8079 refs/pull/98/head +c1c9541a3b91ec076076ad8e9a4e28a00b80cb6b refs/pull/99/head +bd924007a25488900d2e3f3437a0388a97636020 refs/tags/0.0.1 +2d719d75a2065f213e58a5164384a3d2fcf9b59a refs/tags/0.0.2 +d45e63421d3dff834949ac69d3c37691e994bd69 refs/tags/0.0.3 +3426dba9ee5c9f8e4981b0fc9d39a818d36eec28 refs/tags/0.0.4 +0959ba76a1d4a98fd11163aa83fd49c25b93bfae refs/tags/0.0.5 +9d8719c8bebdc79740b6969c912ac706eb721d7a refs/tags/0.0.7 +07e47b1e93e5a1e0ef0c50fcb2d6739fb6be4003 refs/tags/1.0.0 +2d33a0ea89c961dcb2b3da2157963d9c0370347e refs/tags/1.0.1 +48254824bb4248676bf7ce56014ff57b142b77eb refs/tags/1.0.2 +f504716c27d2e5d4144fa4794b12129301d17729 refs/tags/1.0.3 +937e904258d22af6e447a0b72c0bc67583ef64a2 refs/tags/1.0.4 +a902f1823a7ff3c9ab2fba0f992396b948eda307 refs/tags/1.0.5 +d029d9d39c87bed85b1c50adee7c41795261a192 refs/tags/1.0.6 +94cf62b3ba8d4bed62680a282d4c25f9c63c2efb refs/tags/1.1.0 +ee97538f5b81ae89698fd95938896dec5217b148 refs/tags/1.1.1 +3d2dc41a01f9e49d84f0a3925fb858bed64f702d refs/tags/1.1.2 +9bf03ff58ce34478e66aaee630e491823326fd06 refs/tags/1.1.3 +671108c96644956dddcd89dd59c203dcdb36cec7 refs/tags/1.1.4 +c1805596154bb3a265fd91b8ac0c4433b4348fb0 refs/tags/1.2.0 diff --git a/.build/repositories/swift-http-types-ddff8b60/HEAD b/.build/repositories/swift-http-types-ddff8b60/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-http-types-ddff8b60/config b/.build/repositories/swift-http-types-ddff8b60/config new file mode 100644 index 0000000..d6e7aae --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true + symlinks = true + fsmonitor = false + longpaths = true +[remote "origin"] + url = https://github.com/apple/swift-http-types + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-http-types-ddff8b60/description b/.build/repositories/swift-http-types-ddff8b60/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/applypatch-msg.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/commit-msg.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/post-update.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/pre-applypatch.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/pre-commit.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/pre-merge-commit.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/pre-push.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/pre-rebase.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/pre-receive.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/prepare-commit-msg.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-http-types-ddff8b60/hooks/push-to-checkout.sample b/.build/repositories/swift-http-types-ddff8b60/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-http-types-ddff8b60/info/exclude b/.build/repositories/swift-http-types-ddff8b60/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-http-types-ddff8b60/objects/pack/pack-194538d4cf168ae73e4233dcc06a1e0771e8b1ee.idx b/.build/repositories/swift-http-types-ddff8b60/objects/pack/pack-194538d4cf168ae73e4233dcc06a1e0771e8b1ee.idx new file mode 100644 index 0000000..207e3e9 Binary files /dev/null and b/.build/repositories/swift-http-types-ddff8b60/objects/pack/pack-194538d4cf168ae73e4233dcc06a1e0771e8b1ee.idx differ diff --git a/.build/repositories/swift-http-types-ddff8b60/objects/pack/pack-194538d4cf168ae73e4233dcc06a1e0771e8b1ee.pack b/.build/repositories/swift-http-types-ddff8b60/objects/pack/pack-194538d4cf168ae73e4233dcc06a1e0771e8b1ee.pack new file mode 100644 index 0000000..9901afb Binary files /dev/null and b/.build/repositories/swift-http-types-ddff8b60/objects/pack/pack-194538d4cf168ae73e4233dcc06a1e0771e8b1ee.pack differ diff --git a/.build/repositories/swift-http-types-ddff8b60/packed-refs b/.build/repositories/swift-http-types-ddff8b60/packed-refs new file mode 100644 index 0000000..523940b --- /dev/null +++ b/.build/repositories/swift-http-types-ddff8b60/packed-refs @@ -0,0 +1,94 @@ +# pack-refs with: peeled fully-peeled sorted +3faa71f2b71af4be36bd64113edab62097bf058c refs/heads/main +549ff1bbb0810f79a661f652ec4c03ebdb284150 refs/pull/100/head +57140e3abc697722a713b2fcb6345760cdee720b refs/pull/11/head +14ecbebc65740a1d239619f14db140aa41feeaba refs/pull/14/head +4b54b0f29228a35de0d5877664bf4612be53a17d refs/pull/17/head +272fa890b559365c29513c4d10256c27e55b5d17 refs/pull/18/head +9ff7d8f4d651fe9a606a83139592a48524e78317 refs/pull/2/head +c726bb65925152ee8b167921d6399e65b2ab53bf refs/pull/21/head +4c7d1331a5fb613d13ca6180fc4dff9294283d0c refs/pull/22/head +e885fa315c7eba05c02f35aed7a8ea8dbe563b5e refs/pull/23/head +e6f8a18b0e84d2845bf23192b12c9826f8241ec8 refs/pull/25/head +4105126730a33e4da80f2f06cd9e8140654a4943 refs/pull/27/head +07d22eddc2ee91b1462c8258bb7918c9c01e3f9f refs/pull/28/head +d17b0cf6514cbcd2f988429a15c624daf56b0db6 refs/pull/29/head +bddc9f79ba4c6e92b3370b9ea8fe6ebb15f61f2e refs/pull/30/head +43107b6de15f0bd81b3c620b2ef12eccbb3aed57 refs/pull/31/head +ab6163b44c038bf88993a5dda77a53495559b45f refs/pull/32/head +e716d5d2bc2cc754e11560489278c917315f5f03 refs/pull/33/head +165e7ecdd393211855ac26be5781f5ed13190d68 refs/pull/34/head +37e6ccad1c644fa50bd7d639ec0dfb97b354ea75 refs/pull/37/head +fee45742962f41b636d17ab3db1895423ceafd0f refs/pull/38/head +a114507558bd1a6a7947cba8c7a6c9f8fea43c67 refs/pull/41/head +be3407abefe60749cce7298003edac868514d8fb refs/pull/43/head +363f7aee95888b8fcadff6d9aa463bfbfecd8d41 refs/pull/44/head +23b85b12462b939c3b0bdb038ae2a630b3045395 refs/pull/45/head +b133ee630c08d9268442c74b464f7804d874f9aa refs/pull/45/merge +8fb12e8d82c63d0ff6df969b82a0ae9c7b045161 refs/pull/47/head +c8357002a154177713885fa8ed1b5e5125557e17 refs/pull/48/head +146ca95fbbc0af0f4697d1ae88d3c4015fe81973 refs/pull/49/head +19a1dbe1b5f59a3b9b0f987717a6136d7847fd1d refs/pull/5/head +9afb2bd755b4c2de4bb36134e8e21756692050d8 refs/pull/50/head +ee8dda7b8157c06722f45562cd26017874c7ab36 refs/pull/53/head +b6db31de17d70b33ec2e552d74f2e7312e5c0d89 refs/pull/54/head +981c910492e7d6db741daa1a6965d0aed2052856 refs/pull/55/head +8fd0302d6e5932b25347a97c3713d11a3838f395 refs/pull/57/head +ae224e4bd26b8073c36bb71388ac118d1ae77c76 refs/pull/58/head +511d8280791efc5393a63f0244d16d5c27258cb8 refs/pull/59/head +0db8670e50b28ca6144c03fa2e2e924d4c8c4c61 refs/pull/60/head +716728627ffd636c146817f005b3990286ac53aa refs/pull/62/head +6c041fdbe7e684ecb43f73ba727b302da52705a3 refs/pull/62/merge +908f147b35cdffffb2e892f8909fe5c25b687ed0 refs/pull/63/head +f0d99d1413bd314d6e0d0263cd7ba97d13840ab3 refs/pull/64/head +f4791f24abc17b7502bad76ea383a82a1cf9fa68 refs/pull/64/merge +cf295bcf18d2dc5b6c7bb4c842de79cb8d614781 refs/pull/65/head +4f9ee4f272674b1ffb5293f60b0f6b706d8e0c20 refs/pull/66/head +7213c2d5d9fb47f1a1c9ed63912fb73dc153f317 refs/pull/67/head +5eeef940dd79964aacfd194ee64136375cba7701 refs/pull/68/head +4ba4e72b06f2dda5125bc4dce2c7d56e15ff62b0 refs/pull/69/head +79ea5d0bc564a39e95373130a30989a1fbc89a27 refs/pull/7/head +e44a8169279a83f80581fb4090a0c38f21283ebc refs/pull/70/head +74e4995e39d69bfa76d63be7c47fbc077a09909f refs/pull/71/head +51e4fd888f74c3490219078ac7264d51bfb0a644 refs/pull/72/head +ac909c1e990dd05c7250b7c6f52f8bf764f6c5e3 refs/pull/73/head +7b9ada1db0557656268d8f5117885b34988a897a refs/pull/74/head +d797509cc6f2206e5eb2a39aa9d2229d761630a5 refs/pull/75/head +978490073b4ef87dfc5211b3a9fe7cb52374df36 refs/pull/77/head +aa67c298348fd715027709912463be93843f76bd refs/pull/77/merge +a6808de8baee3574a1f8d0738e076c4bd3c71f7f refs/pull/78/head +c8db38bb7f112a48a0925da97407c750241633a4 refs/pull/79/head +038fe32089106803c60746b97529ffa90df2c1ba refs/pull/79/merge +ddf3eb1a630ced7389d7772e00a37a8200e3169b refs/pull/8/head +cbdce00c927594dd004171d445c1eaeffb60de44 refs/pull/80/head +ba487ef2f580428452e3e5009ae7f3978dd30769 refs/pull/81/head +cbef831be3ed8f71fab1ba7b4af4210076e587ca refs/pull/81/merge +a806d839558b8d340a8fd3428ee1dfe4a0ae54ce refs/pull/82/head +adcafaf852f8a0ab33b829799cf720aa84f59220 refs/pull/83/head +58d16c8a3c01db004c8d3fdf7b981af21893c8a5 refs/pull/84/head +727d96032302702a169a729945477731b59453d3 refs/pull/85/head +049967ab037474ca7f4d579ba46d40ed5c40f3f0 refs/pull/87/head +8057c4b07bc8cf910daf6b13e3421971b4ed9385 refs/pull/88/head +6e2d6046217849c7dfb792b48b2b8e1cdcc2dfd1 refs/pull/89/head +c57cbce65dd2d12016a30fc47c5b4702613c408f refs/pull/89/merge +419be7bd6a7118960eaa52751062d78ffaa82aab refs/pull/91/head +43d6a454735b3e48bef53a899d1960c959df28f5 refs/pull/92/head +1d0c1677ee3d74cc5d012323a8a8a0c0d59455f4 refs/pull/92/merge +4a50dd1eb1758d024a78546719bc2c57b3056e30 refs/pull/93/head +83a77dd8389c4fe74160e954b04c9cf83542b835 refs/pull/95/head +c59318411cb6d35c52e11bb330f9696d1d3689d2 refs/pull/96/head +25f841f9332d4978f2f91f2aeb960126e9dae995 refs/pull/97/head +cc07df96f4c838cc6f95feeb4ca7edd90a13b06f refs/pull/99/head +ae848811f9b1b0e79d429e1df8fa60eac5587d81 refs/tags/0.1.0 +39661f4ca82db8ad050cc060a471c8e2c542b24f refs/tags/0.1.1 +6861b096b0bd0cc339b9c5d34d55c665c7490703 refs/tags/0.2.0 +68deedb6b98837564cf0231fa1df48de35881993 refs/tags/0.2.1 +99d066e29effa8845e4761dd3f2f831edfdf8925 refs/tags/1.0.0 +4c542094de9b8316809a28ef51c434ee6ce6ee43 refs/tags/1.0.1 +1827dc94bdab2eb5f2fc804e9b0cb43574282566 refs/tags/1.0.2 +12358d55a3824bd5fed310b999ea8cf83a9a1a65 refs/tags/1.0.3 +9bee2fdb79cc740081abd8ebd80738063d632286 refs/tags/1.1.0 +1ddbea1ee34354a6a2532c60f98501c35ae8edfa refs/tags/1.2.0 +ae67c8178eb46944fd85e4dc6dd970e1f3ed6ccd refs/tags/1.3.0 +ef18d829e8b92d731ad27bb81583edd2094d1ce3 refs/tags/1.3.1 +a0a57e949a8903563aba4615869310c0ebf14c03 refs/tags/1.4.0 diff --git a/.build/repositories/swift-numerics-d936ec6c/FETCH_HEAD b/.build/repositories/swift-numerics-d936ec6c/FETCH_HEAD new file mode 100644 index 0000000..be1dccc --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/FETCH_HEAD @@ -0,0 +1,259 @@ +bab8d4eefaacde7c194c4d962e120ba24ca62f22 not-for-merge branch 'Quaternions' of https://github.com/apple/swift-numerics +0098c438ebc687aec80c7fef15482f4b38e3583d not-for-merge branch 'biginteger' of https://github.com/apple/swift-numerics +6356eb395bba8de12aa4c360b4203ac3a5df9f85 not-for-merge branch 'main' of https://github.com/apple/swift-numerics +876f439c4a165f01db8daf99f6ea71fa7546ebc7 not-for-merge branch 'release/1.0' of https://github.com/apple/swift-numerics +b97297c027d0332b4990d49306ac878f213667ae not-for-merge 'refs/pull/1/head' of https://github.com/apple/swift-numerics +33d10c02cd2026663220cf5e01a98e6f34c4fbfb not-for-merge 'refs/pull/104/head' of https://github.com/apple/swift-numerics +697e9351e82fd150fe178bc6e94fc247331163d7 not-for-merge 'refs/pull/105/head' of https://github.com/apple/swift-numerics +a35f5ba889a6a0e40292fcabf9072673225c2a77 not-for-merge 'refs/pull/106/head' of https://github.com/apple/swift-numerics +ff6a0ff2a57c6ecfe28a5f28cf47e42c3610bb48 not-for-merge 'refs/pull/107/head' of https://github.com/apple/swift-numerics +59444343c4cbdc5573931d0bf3a6871b1e8b3ea2 not-for-merge 'refs/pull/108/head' of https://github.com/apple/swift-numerics +c14381db8c797de4ec195b28c10f04143dd635b6 not-for-merge 'refs/pull/109/head' of https://github.com/apple/swift-numerics +6b4342cc7f57bdf24e00c0f5b8fe8ddccff86835 not-for-merge 'refs/pull/11/head' of https://github.com/apple/swift-numerics +d5ec70cd8c06476ddfebd9c9699ba2b2877a0be2 not-for-merge 'refs/pull/110/head' of https://github.com/apple/swift-numerics +488e250259a8362408a4db5e07e182f314528fc5 not-for-merge 'refs/pull/111/head' of https://github.com/apple/swift-numerics +750170404ad62d735cc5df9fb320799f9e52aab5 not-for-merge 'refs/pull/114/head' of https://github.com/apple/swift-numerics +c111cd001e40992dea1e85019957bbb12d267c72 not-for-merge 'refs/pull/115/head' of https://github.com/apple/swift-numerics +4297fbee6a208f05f6f1987c328f2a3ffd467538 not-for-merge 'refs/pull/116/head' of https://github.com/apple/swift-numerics +5f09b7ef22fbc282643f4b7ffb21cc2613c56bed not-for-merge 'refs/pull/117/head' of https://github.com/apple/swift-numerics +0cd1d1ea7303cba341fd677c8a89da5cb1031674 not-for-merge 'refs/pull/118/head' of https://github.com/apple/swift-numerics +e7c2ad694b84eba1e5c7c45eb49760c82db49a88 not-for-merge 'refs/pull/119/head' of https://github.com/apple/swift-numerics +775b898654b871ce8036098cb6e50ba60049b9c3 not-for-merge 'refs/pull/120/head' of https://github.com/apple/swift-numerics +bc84f2eaaa04b563e9d693978193ff38b6ef6fd9 not-for-merge 'refs/pull/120/merge' of https://github.com/apple/swift-numerics +86f0b33c65c4efc77fe71fe31eaa160d777b5a55 not-for-merge 'refs/pull/121/head' of https://github.com/apple/swift-numerics +7bb20af6844b1daf77c1b7214636f63e5ee8c3ed not-for-merge 'refs/pull/122/head' of https://github.com/apple/swift-numerics +e69f12617b2d717149c625ad90f96a7ed09bac0a not-for-merge 'refs/pull/123/head' of https://github.com/apple/swift-numerics +f26f167b572349349d92090833d4de6b39612b86 not-for-merge 'refs/pull/124/head' of https://github.com/apple/swift-numerics +e4f49d4c60b8b555dc889b7968a2ea3f24ef9a8e not-for-merge 'refs/pull/125/head' of https://github.com/apple/swift-numerics +11cc926ac4dd32c255ed5a58acf63493fcb87e1d not-for-merge 'refs/pull/126/head' of https://github.com/apple/swift-numerics +168beeef757fa253969bf03c285e446b7d6d59af not-for-merge 'refs/pull/128/head' of https://github.com/apple/swift-numerics +59e547f6f9c293fa8ca8695a347fcc26d5edb08b not-for-merge 'refs/pull/13/head' of https://github.com/apple/swift-numerics +e6a343a20598ba9364addfe00f69eec0a6c493fa not-for-merge 'refs/pull/132/head' of https://github.com/apple/swift-numerics +af3912cd4ac336492b1aedf8ccc9c3d814acf694 not-for-merge 'refs/pull/133/head' of https://github.com/apple/swift-numerics +844322cb1e17828022039c99eefd7af7f2ae5b2f not-for-merge 'refs/pull/134/head' of https://github.com/apple/swift-numerics +97824411d9c208ed1bb63c8898023c49b3957462 not-for-merge 'refs/pull/136/head' of https://github.com/apple/swift-numerics +7109a229726b1966f75310cee5873def4accc771 not-for-merge 'refs/pull/137/head' of https://github.com/apple/swift-numerics +ce58d083a1a543f6dcb8e89b69f210418e1a7910 not-for-merge 'refs/pull/138/head' of https://github.com/apple/swift-numerics +d32bb739d487e3713fe5897cc53b958a827ab27e not-for-merge 'refs/pull/139/head' of https://github.com/apple/swift-numerics +341671e000620f5beea8d0ec6c0986865d7acb93 not-for-merge 'refs/pull/14/head' of https://github.com/apple/swift-numerics +6af70e51eadc4e81acbbbf3ed3839c724b37fc07 not-for-merge 'refs/pull/140/head' of https://github.com/apple/swift-numerics +ecb69673b0808588fcb5c41748b45a2180cd5e2f not-for-merge 'refs/pull/142/head' of https://github.com/apple/swift-numerics +337be4044e9db2b418098f3177fcc4334a50dfce not-for-merge 'refs/pull/143/head' of https://github.com/apple/swift-numerics +a4372aa8d62c4270f893857aba696113e4962da8 not-for-merge 'refs/pull/144/head' of https://github.com/apple/swift-numerics +a0501be80ad3c44ec5060f76d0adb65bc2b0f04e not-for-merge 'refs/pull/145/head' of https://github.com/apple/swift-numerics +f49d1af281054fd917afb3aa38e25285c51c2861 not-for-merge 'refs/pull/146/head' of https://github.com/apple/swift-numerics +0f8ef268d01fe0e77dcb8da46a5aa64590aa9abf not-for-merge 'refs/pull/148/head' of https://github.com/apple/swift-numerics +298ea7d3f5102ea34787fea360d6f1a2331cd011 not-for-merge 'refs/pull/150/head' of https://github.com/apple/swift-numerics +ead8965cb2cc56a5102ed468ac5cdc29e70ff23e not-for-merge 'refs/pull/151/head' of https://github.com/apple/swift-numerics +0f02c6585465356cf5ba4d0937221dcc81fd7690 not-for-merge 'refs/pull/152/head' of https://github.com/apple/swift-numerics +ce66945457b16dc1fa05b9a1d3a7b1725fc8b7fb not-for-merge 'refs/pull/154/head' of https://github.com/apple/swift-numerics +2b4c6701f2f077faa4987573da905bb107b2004e not-for-merge 'refs/pull/155/head' of https://github.com/apple/swift-numerics +e07b39453b883f554f1154eedeecd948c11d5888 not-for-merge 'refs/pull/157/head' of https://github.com/apple/swift-numerics +0ee972ff9227b05207fa3f9b55aefe332c7fba1b not-for-merge 'refs/pull/159/head' of https://github.com/apple/swift-numerics +adefd8166a162e2cba8af7808bc0bf29ca570bb9 not-for-merge 'refs/pull/16/head' of https://github.com/apple/swift-numerics +16837299c16922ddd064695c837e0d75be7e85aa not-for-merge 'refs/pull/162/head' of https://github.com/apple/swift-numerics +00c6183670e7e5d94d2d020c08b5ee36cc4c3bfd not-for-merge 'refs/pull/164/head' of https://github.com/apple/swift-numerics +26c51aca1b66b23ed2c5eaf2e9c6cd45c69f45d6 not-for-merge 'refs/pull/165/head' of https://github.com/apple/swift-numerics +5a7eb37c19cccc6cac3d1620d603cf953d7bdece not-for-merge 'refs/pull/166/head' of https://github.com/apple/swift-numerics +6d866a89a677dc3a1bbfe16b35f78594e9d1d17f not-for-merge 'refs/pull/168/head' of https://github.com/apple/swift-numerics +83ba41baf945b820d2671c0a0c5378d36a66acfe not-for-merge 'refs/pull/169/head' of https://github.com/apple/swift-numerics +b3f761d8c6b900352dc2f47617c345c539f0ecbc not-for-merge 'refs/pull/169/merge' of https://github.com/apple/swift-numerics +63a129be1ae9f54bd15029c03b322a21bf6912c9 not-for-merge 'refs/pull/17/head' of https://github.com/apple/swift-numerics +97852afaf5fa2e807e439733fe2813feeccb5ff4 not-for-merge 'refs/pull/172/head' of https://github.com/apple/swift-numerics +5827f9a94384f7d9d49e646347b1bd7f58ec317d not-for-merge 'refs/pull/175/head' of https://github.com/apple/swift-numerics +eeba818da77cd5f1792bd1981b2025f58f2b1cdd not-for-merge 'refs/pull/176/head' of https://github.com/apple/swift-numerics +a2e874777119ac07b866f77a5d6add143e3c324a not-for-merge 'refs/pull/177/head' of https://github.com/apple/swift-numerics +5e1ca0268ad79c21c448f24b4eaf4dc0eab30057 not-for-merge 'refs/pull/177/merge' of https://github.com/apple/swift-numerics +d34cff5a13187e3ad357ad1d1e5131b0a88771f3 not-for-merge 'refs/pull/178/head' of https://github.com/apple/swift-numerics +50161d39dff29bd07d564f31045cef36d2632ee5 not-for-merge 'refs/pull/179/head' of https://github.com/apple/swift-numerics +d6a87be7da87030ecade202aa777759a3dbf69d0 not-for-merge 'refs/pull/18/head' of https://github.com/apple/swift-numerics +f60066e5f53f1341c65934bd65e7f52fa3110b1b not-for-merge 'refs/pull/180/head' of https://github.com/apple/swift-numerics +702c6fc1d8f05873b5ff5123aa855b28eb9f9771 not-for-merge 'refs/pull/181/head' of https://github.com/apple/swift-numerics +faf13772af439e4c501f3befcfa5b0bf750d0b70 not-for-merge 'refs/pull/182/head' of https://github.com/apple/swift-numerics +8e3d889b5f8c2dc660eb79d01d8097f400f0371b not-for-merge 'refs/pull/183/head' of https://github.com/apple/swift-numerics +419caa222fb01b8e8d97b682591fe1afaca3acb4 not-for-merge 'refs/pull/184/head' of https://github.com/apple/swift-numerics +12148ffa666c7816c5b7acb8c690f0ecec0e0ea0 not-for-merge 'refs/pull/185/head' of https://github.com/apple/swift-numerics +3d6bff6cae62c9aa1e0d2557cb97e7440e1ffc90 not-for-merge 'refs/pull/186/head' of https://github.com/apple/swift-numerics +988f1e1cea31760b9cf7db129048662bc3d85f35 not-for-merge 'refs/pull/187/head' of https://github.com/apple/swift-numerics +84474a34100c61f301671d89f28eede388fe3810 not-for-merge 'refs/pull/188/head' of https://github.com/apple/swift-numerics +f2cfa8d668428ae2e25ac3c15f09ece6cb324bac not-for-merge 'refs/pull/189/head' of https://github.com/apple/swift-numerics +fa9422ec6e790f0957bf1302961af970d4ab0855 not-for-merge 'refs/pull/19/head' of https://github.com/apple/swift-numerics +996cf7f5b98b998ae92efc3700a4163d1b1be3cf not-for-merge 'refs/pull/190/head' of https://github.com/apple/swift-numerics +21ff6d38fd6ff16633b5c73ff6756e1070aeaf4e not-for-merge 'refs/pull/191/head' of https://github.com/apple/swift-numerics +b9415c9ad2669fd8c4334c636f5749a1c7bdbefd not-for-merge 'refs/pull/192/head' of https://github.com/apple/swift-numerics +bcde4bc513f22a814f8cb62375a5a78f58f2936a not-for-merge 'refs/pull/193/head' of https://github.com/apple/swift-numerics +ed66862a2c0cc223382c40b4fd018f2c4ec3172f not-for-merge 'refs/pull/194/head' of https://github.com/apple/swift-numerics +b4ec7556e9b764c138a7194efa9c9a7264d8bd67 not-for-merge 'refs/pull/195/head' of https://github.com/apple/swift-numerics +5f28ad0e9720352b6f14731b53b3abf089b59162 not-for-merge 'refs/pull/196/head' of https://github.com/apple/swift-numerics +be0534a3e3d1525892d634201b028d1f56b14579 not-for-merge 'refs/pull/197/head' of https://github.com/apple/swift-numerics +d5607650477eca7a1669816ea76716a33d2b1ecc not-for-merge 'refs/pull/198/head' of https://github.com/apple/swift-numerics +4a2409ffcde32f21dbc4cf7a0c56bc5269a2feb1 not-for-merge 'refs/pull/20/head' of https://github.com/apple/swift-numerics +ae383701074be80501a6f5bf8f27b2b3faf5a10a not-for-merge 'refs/pull/200/head' of https://github.com/apple/swift-numerics +e22ff866a40e305aaa7f4f53338c7716cb919128 not-for-merge 'refs/pull/201/head' of https://github.com/apple/swift-numerics +c3806f23ff0450820ac38de6876f2cee48bf0ad1 not-for-merge 'refs/pull/202/head' of https://github.com/apple/swift-numerics +24d8f51bb3387e23ad0684f80434986397f3edbc not-for-merge 'refs/pull/203/head' of https://github.com/apple/swift-numerics +eb1771fac4e9205bbe1e210574d0370e68b32716 not-for-merge 'refs/pull/204/head' of https://github.com/apple/swift-numerics +67ddbbe8aa16599cdf20a83bc01194d773059be3 not-for-merge 'refs/pull/205/head' of https://github.com/apple/swift-numerics +3262d4d5c581886f2b76880c9520ec80800598f9 not-for-merge 'refs/pull/206/head' of https://github.com/apple/swift-numerics +63df3676802fef62cf39ded4070412a823866558 not-for-merge 'refs/pull/207/head' of https://github.com/apple/swift-numerics +05366d7f4a2525fafa80008c3180d268532ff0e3 not-for-merge 'refs/pull/208/head' of https://github.com/apple/swift-numerics +db932c9871088ab16a3b7a665605295258a247ca not-for-merge 'refs/pull/209/head' of https://github.com/apple/swift-numerics +4df760317900b155a74ba57e49b9e29f482eef0e not-for-merge 'refs/pull/21/head' of https://github.com/apple/swift-numerics +cdb092bb310fc43058501180e638118da0be24f4 not-for-merge 'refs/pull/210/head' of https://github.com/apple/swift-numerics +48099a09b41742745126959f86a7f431206da1ab not-for-merge 'refs/pull/211/head' of https://github.com/apple/swift-numerics +bfd905c9e4571fd8d8be096387652ededde46d08 not-for-merge 'refs/pull/212/head' of https://github.com/apple/swift-numerics +8983be89c7c93cced31d23c4b7689977a8b87794 not-for-merge 'refs/pull/213/head' of https://github.com/apple/swift-numerics +740cc5012f50cdce9308c1888cbedac05d4d6cf0 not-for-merge 'refs/pull/214/head' of https://github.com/apple/swift-numerics +a6bea6639ce83ccd9101ab512b0d583d04210283 not-for-merge 'refs/pull/215/head' of https://github.com/apple/swift-numerics +47a233758d19431bbef5bf3d2af46804aec82d81 not-for-merge 'refs/pull/217/head' of https://github.com/apple/swift-numerics +35e15a381f0a5f4fab33185996f5369bfc1f12b6 not-for-merge 'refs/pull/218/head' of https://github.com/apple/swift-numerics +d3296984982348d3e252ac059c56c7767e810de6 not-for-merge 'refs/pull/219/head' of https://github.com/apple/swift-numerics +8977e637f443abedec90135f92ad50762f351755 not-for-merge 'refs/pull/22/head' of https://github.com/apple/swift-numerics +445b0da15d1d4847bad597e73e14c8c26f57e4f0 not-for-merge 'refs/pull/220/head' of https://github.com/apple/swift-numerics +7f2d022d3d9b55bf812814f5d01896cbfa0fd4da not-for-merge 'refs/pull/222/head' of https://github.com/apple/swift-numerics +27f8192a63b4545439da104d4440666063ff39f7 not-for-merge 'refs/pull/223/head' of https://github.com/apple/swift-numerics +270972dd8a19da3baa01cba4af11e098016c7f77 not-for-merge 'refs/pull/224/head' of https://github.com/apple/swift-numerics +5803eaf5bbab64de0db9bd0783a316016039c796 not-for-merge 'refs/pull/225/head' of https://github.com/apple/swift-numerics +0d9f0b2a98c58ac49f8a60e283c586071098846c not-for-merge 'refs/pull/226/head' of https://github.com/apple/swift-numerics +1db31ebdf0dcd9b895db5bbb10fff55601012d88 not-for-merge 'refs/pull/227/head' of https://github.com/apple/swift-numerics +4f973441cd3bdbf1740b5e6eeab9a390594ae6e3 not-for-merge 'refs/pull/228/head' of https://github.com/apple/swift-numerics +ad734eb7d3c8099b1e541eacb0850287cac5ab67 not-for-merge 'refs/pull/229/head' of https://github.com/apple/swift-numerics +919f13ce2ee92cfb44b9c584e167b18437ec4f53 not-for-merge 'refs/pull/23/head' of https://github.com/apple/swift-numerics +f975305391c6c1607b7fc35437b0615776721121 not-for-merge 'refs/pull/230/head' of https://github.com/apple/swift-numerics +96f367ce741fb47103e41da9b450286f790efed9 not-for-merge 'refs/pull/230/merge' of https://github.com/apple/swift-numerics +0ea36c3109d133869fdac5d0bedda52802714f75 not-for-merge 'refs/pull/231/head' of https://github.com/apple/swift-numerics +7b46b4191b7d372a5fa9aa7d4b84fcad9bb829d5 not-for-merge 'refs/pull/232/head' of https://github.com/apple/swift-numerics +c8e3d9f54b305526ca35a1547281eb0e3eaa9c14 not-for-merge 'refs/pull/233/head' of https://github.com/apple/swift-numerics +2baff8fc30d9fc237a5a635a93f379f8145e1be7 not-for-merge 'refs/pull/235/head' of https://github.com/apple/swift-numerics +60a3edbaa944ce5a8fa71147e7441f58847540b7 not-for-merge 'refs/pull/236/head' of https://github.com/apple/swift-numerics +e601f16e20d58857c3fc75c3c5cd782b6648d35b not-for-merge 'refs/pull/237/head' of https://github.com/apple/swift-numerics +6908e3951af265adca76ab5652a080dcecd23594 not-for-merge 'refs/pull/24/head' of https://github.com/apple/swift-numerics +8353ce4c3d0e7751ad49ffdf1b4f89396773d7b6 not-for-merge 'refs/pull/240/head' of https://github.com/apple/swift-numerics +38a0f777fb7b6b05d596982d95c2258f3cbcf073 not-for-merge 'refs/pull/241/head' of https://github.com/apple/swift-numerics +3cf34b8b4ddfe3b7b9d6c76edba5839fcbc57c7e not-for-merge 'refs/pull/243/head' of https://github.com/apple/swift-numerics +149d7d794a15b168b521337fffa50854ab4638b4 not-for-merge 'refs/pull/243/merge' of https://github.com/apple/swift-numerics +1a7c352e006ac6e53528c74661745d952f60f547 not-for-merge 'refs/pull/244/head' of https://github.com/apple/swift-numerics +9b17a5989e8d75c386f76ee1e5e93ba95cfe8d25 not-for-merge 'refs/pull/244/merge' of https://github.com/apple/swift-numerics +40d08ee9c69bf16fc312e80820e4231250442cf3 not-for-merge 'refs/pull/245/head' of https://github.com/apple/swift-numerics +8d0f6cecc4cd965cfa82d66671e70632e12f2260 not-for-merge 'refs/pull/245/merge' of https://github.com/apple/swift-numerics +4543a060f144ed020bad034d74b0c8e63ddaca76 not-for-merge 'refs/pull/246/head' of https://github.com/apple/swift-numerics +354583f35d65159b832be3d90420a6a482cd322b not-for-merge 'refs/pull/246/merge' of https://github.com/apple/swift-numerics +5ed9046e7954575715f6f476fe91255f7c64203d not-for-merge 'refs/pull/247/head' of https://github.com/apple/swift-numerics +0ddf9628bfcf7196a89a461162b2aea2a168a591 not-for-merge 'refs/pull/247/merge' of https://github.com/apple/swift-numerics +768455920a2998c2cd604fe9bf3bc3f1d178f69b not-for-merge 'refs/pull/248/head' of https://github.com/apple/swift-numerics +109b68a08202ce620dc5481b4c8bf7429e22516c not-for-merge 'refs/pull/248/merge' of https://github.com/apple/swift-numerics +564837e9a62f2f978557949ca287cfd8afdd2c51 not-for-merge 'refs/pull/249/head' of https://github.com/apple/swift-numerics +f371c63358fac016b7d0a5ea092efb58ff9dfc59 not-for-merge 'refs/pull/249/merge' of https://github.com/apple/swift-numerics +eb76aa632b7a73c1b1c66ac17c6dec8bae57cde4 not-for-merge 'refs/pull/25/head' of https://github.com/apple/swift-numerics +7611234a92738347aa9e19a237bfe0b09bbf7d11 not-for-merge 'refs/pull/250/head' of https://github.com/apple/swift-numerics +081ead059ffca088f2eb967dee9fb5c25a389619 not-for-merge 'refs/pull/250/merge' of https://github.com/apple/swift-numerics +ff9e8a12b3f5304960d39e49193c7afb8ca2454e not-for-merge 'refs/pull/251/head' of https://github.com/apple/swift-numerics +b01fdb76549075a7dfbb9a469391d84dd7a5f7a0 not-for-merge 'refs/pull/251/merge' of https://github.com/apple/swift-numerics +a91be102b1bab20cef7a94227499466e2b0f6919 not-for-merge 'refs/pull/252/head' of https://github.com/apple/swift-numerics +1d3a1fdb5df7747543d40faff044154253ec7891 not-for-merge 'refs/pull/252/merge' of https://github.com/apple/swift-numerics +c386d5c738e90a02960ae5616dae869277f4cebf not-for-merge 'refs/pull/253/head' of https://github.com/apple/swift-numerics +903fde96c0f7fc9c2a55f6ec836bf763ca6427ea not-for-merge 'refs/pull/253/merge' of https://github.com/apple/swift-numerics +e0898e36a245679a57a0897fd10d87986b629ef8 not-for-merge 'refs/pull/254/head' of https://github.com/apple/swift-numerics +d063f7739f1f74161f2fa4b5263f1952329e110f not-for-merge 'refs/pull/254/merge' of https://github.com/apple/swift-numerics +9d2635621d08a624f11da7e399b3745bf9fab842 not-for-merge 'refs/pull/255/head' of https://github.com/apple/swift-numerics +84d19836b3cea348bf13baff54a889a2249b3bcf not-for-merge 'refs/pull/255/merge' of https://github.com/apple/swift-numerics +bbe94f7337fa98974e9197fde9b2ddbe1905c04a not-for-merge 'refs/pull/256/head' of https://github.com/apple/swift-numerics +b18b525a2d60dbbc154399bde4e77fb1eed44237 not-for-merge 'refs/pull/256/merge' of https://github.com/apple/swift-numerics +de3b10eea17c8331c7d19e63888091ebf46ecf38 not-for-merge 'refs/pull/258/head' of https://github.com/apple/swift-numerics +d72f68a47b199df5909955b88272d84ef886c78a not-for-merge 'refs/pull/258/merge' of https://github.com/apple/swift-numerics +f2e64582d78f3d2a536216626b26dfeba3eebffe not-for-merge 'refs/pull/259/head' of https://github.com/apple/swift-numerics +744ffd1ec99085c3c1e722f995d393d0a1d90acc not-for-merge 'refs/pull/259/merge' of https://github.com/apple/swift-numerics +9b3bd5af2662c295ddba9d7074b71d977cae4725 not-for-merge 'refs/pull/26/head' of https://github.com/apple/swift-numerics +67b17c2feccebbf3bf9c3ff91856ad51a427b4d7 not-for-merge 'refs/pull/261/head' of https://github.com/apple/swift-numerics +1fc9e13ca8b5d46cc70fe211130bd6e7a630fb48 not-for-merge 'refs/pull/262/head' of https://github.com/apple/swift-numerics +310e239e16c820f7c8b028a42bd17f85d34d7162 not-for-merge 'refs/pull/262/merge' of https://github.com/apple/swift-numerics +331da45acb970d1142b217267c2e74121d0ecab0 not-for-merge 'refs/pull/264/head' of https://github.com/apple/swift-numerics +e77a36abe0693ca1736b5509bb175ee39ef8e617 not-for-merge 'refs/pull/265/head' of https://github.com/apple/swift-numerics +fff603defe02cbc2c07d5c8ce3b9832b61275eca not-for-merge 'refs/pull/265/merge' of https://github.com/apple/swift-numerics +b38fcb77a6cf9e159743cb8e221b8b44f7f91799 not-for-merge 'refs/pull/268/head' of https://github.com/apple/swift-numerics +3d13ebaf94a5f21306971508e4ab3cdd885452be not-for-merge 'refs/pull/269/head' of https://github.com/apple/swift-numerics +78f1cf691edd98e30a7661b5310d45925f5e88ed not-for-merge 'refs/pull/27/head' of https://github.com/apple/swift-numerics +a85dd8c2bba15bb78dd89a890515e4a40365671b not-for-merge 'refs/pull/270/head' of https://github.com/apple/swift-numerics +b3867a91551ca2bc35cc0201fc0fe6585f4dce07 not-for-merge 'refs/pull/271/head' of https://github.com/apple/swift-numerics +a7e27e16e15842aa8f8685494f67cfe83068c312 not-for-merge 'refs/pull/273/head' of https://github.com/apple/swift-numerics +e8a3ddbb3e405c8f32432701267f49ae43de0ea6 not-for-merge 'refs/pull/274/head' of https://github.com/apple/swift-numerics +b8571e14f147cc77698ca17c45e88772093777c7 not-for-merge 'refs/pull/276/head' of https://github.com/apple/swift-numerics +d6753217510fb5cd2bca1015b61e1589fbb612f1 not-for-merge 'refs/pull/276/merge' of https://github.com/apple/swift-numerics +349fdf1e0176c0c6016df9eaa8e79c8e3afb48ca not-for-merge 'refs/pull/277/head' of https://github.com/apple/swift-numerics +faa65e8842aafe159e98599aef8f4f51101fb58d not-for-merge 'refs/pull/278/head' of https://github.com/apple/swift-numerics +c2bc7ba38a6b0aa1df42f4b837b47e14eeb41b15 not-for-merge 'refs/pull/28/head' of https://github.com/apple/swift-numerics +4e905b38b720bbba3d67b95ed02fc87dab1cdd4d not-for-merge 'refs/pull/280/head' of https://github.com/apple/swift-numerics +86000c159699d27f5331f6576ed23b2b36ad3e31 not-for-merge 'refs/pull/282/head' of https://github.com/apple/swift-numerics +42c2eb929cfd1ad616795df5fc48b856798d4d64 not-for-merge 'refs/pull/283/head' of https://github.com/apple/swift-numerics +907430bdadd2ff32e64f9c624ca4cdc11e1f0991 not-for-merge 'refs/pull/285/head' of https://github.com/apple/swift-numerics +347f1e31fe6adb1ffdf1f6b925060f9ef05988f5 not-for-merge 'refs/pull/286/head' of https://github.com/apple/swift-numerics +262cbea1f25f4ede2f0eaaea0e3495e6e0d5f327 not-for-merge 'refs/pull/289/head' of https://github.com/apple/swift-numerics +f2c0f1bcf5fb85fa81e8a427557af804907829cf not-for-merge 'refs/pull/29/head' of https://github.com/apple/swift-numerics +155cfc306cb42a7e597bc0eccea6bba5ba6a4786 not-for-merge 'refs/pull/292/head' of https://github.com/apple/swift-numerics +53efe07eacf92f4963f217416e1be667fb103c10 not-for-merge 'refs/pull/293/head' of https://github.com/apple/swift-numerics +2ea11a6d18c5ec944f2f47c243b08f522a18a29c not-for-merge 'refs/pull/293/merge' of https://github.com/apple/swift-numerics +da661919b91a8ca16572b7dc66951bd034e254f8 not-for-merge 'refs/pull/294/head' of https://github.com/apple/swift-numerics +1043e9ed38e8b5fa3016bae66dba6372221d9027 not-for-merge 'refs/pull/295/head' of https://github.com/apple/swift-numerics +683c8f210af6f9c42dc6b223207471a5f3051c2f not-for-merge 'refs/pull/296/head' of https://github.com/apple/swift-numerics +ddc8ce302bd8e2420660046db4334627981263de not-for-merge 'refs/pull/297/head' of https://github.com/apple/swift-numerics +77b98fab7506049f9d830fd6ad7784423a6cc56f not-for-merge 'refs/pull/299/head' of https://github.com/apple/swift-numerics +37253aa0b6fbd77402f79ad2759155f991a39ed2 not-for-merge 'refs/pull/30/head' of https://github.com/apple/swift-numerics +7b1e0db43786395636b112f41dd500163b58459b not-for-merge 'refs/pull/300/head' of https://github.com/apple/swift-numerics +1d23717b4748ee269e28769e3fc50b47e2d4d1c7 not-for-merge 'refs/pull/301/head' of https://github.com/apple/swift-numerics +9b36b1ce46cd9193218edbb144f1525fbbd52ede not-for-merge 'refs/pull/304/head' of https://github.com/apple/swift-numerics +31fe14d0849f14502a5a673832cdfefe1541b3da not-for-merge 'refs/pull/305/head' of https://github.com/apple/swift-numerics +46342fc917416d95a52969a9d363cfe4fd4a5a81 not-for-merge 'refs/pull/306/head' of https://github.com/apple/swift-numerics +1be6eb5b4743d3b81f342e7398b87b5fd7d78b85 not-for-merge 'refs/pull/307/head' of https://github.com/apple/swift-numerics +8b28aba87459eab3a481ab46e73e2a9a2dae6f5b not-for-merge 'refs/pull/308/head' of https://github.com/apple/swift-numerics +96df03d007a2b1a76f0b0b4479f2462a332cd38d not-for-merge 'refs/pull/309/head' of https://github.com/apple/swift-numerics +4bc7b7723914d89f02ba7e1efe95ad002b2b64bb not-for-merge 'refs/pull/31/head' of https://github.com/apple/swift-numerics +9d5e5021cb6f039d28b8716737449f458a108dbe not-for-merge 'refs/pull/310/head' of https://github.com/apple/swift-numerics +f982279a3ab9cad826e7a6bf190ca506b852f9b4 not-for-merge 'refs/pull/310/merge' of https://github.com/apple/swift-numerics +7169586e0286947bb540635b888e26ce2f7ab3f1 not-for-merge 'refs/pull/32/head' of https://github.com/apple/swift-numerics +67528d4a5398e3f420a02ef1be4501d72275d2f4 not-for-merge 'refs/pull/33/head' of https://github.com/apple/swift-numerics +6ac520ac59ec177fd45deafaac4b7c53b6ed9b30 not-for-merge 'refs/pull/34/head' of https://github.com/apple/swift-numerics +0cc4950453ab30d7015585f3dfc2eaf2579c7e19 not-for-merge 'refs/pull/36/head' of https://github.com/apple/swift-numerics +0308def714aeb125ec8f83cffd73d1a5c8f66410 not-for-merge 'refs/pull/43/head' of https://github.com/apple/swift-numerics +04151f701ba921a3ba1e2451568601f32b896353 not-for-merge 'refs/pull/44/head' of https://github.com/apple/swift-numerics +44e24547521b3acfb5d74b13b564cfb0b9d42509 not-for-merge 'refs/pull/45/head' of https://github.com/apple/swift-numerics +86e9087ab572b105145cbf6f5660859edd5e79e8 not-for-merge 'refs/pull/57/head' of https://github.com/apple/swift-numerics +cd4a8b41cf637c220a9fe8292a65954a3b4ca219 not-for-merge 'refs/pull/59/head' of https://github.com/apple/swift-numerics +6ac60de4577a087130e8f0444a4daac06591678f not-for-merge 'refs/pull/61/head' of https://github.com/apple/swift-numerics +ab19494638b1bc7ba12d6f1e214ddc5ecffe4b76 not-for-merge 'refs/pull/63/head' of https://github.com/apple/swift-numerics +0ddfd0ead7c38452685322ad4bf705fe5e0dfd12 not-for-merge 'refs/pull/65/head' of https://github.com/apple/swift-numerics +6195693e3ad1087330dcb41f62d8c77f9122ae8a not-for-merge 'refs/pull/66/head' of https://github.com/apple/swift-numerics +6d904ea56cd5dfae668b7e810471525c7eb58cc1 not-for-merge 'refs/pull/67/head' of https://github.com/apple/swift-numerics +6116a90748ec4abfc0b5b55b77c351bf2c95fd75 not-for-merge 'refs/pull/68/head' of https://github.com/apple/swift-numerics +5d783ce45866bdc43ab6f6bf62b44bd1c1849ec8 not-for-merge 'refs/pull/69/head' of https://github.com/apple/swift-numerics +0ed7e786b5fc6b7e1af9bdaecd97fdae087d90f1 not-for-merge 'refs/pull/72/head' of https://github.com/apple/swift-numerics +2760aa4ba47a68a962edd80cec3122725b185c66 not-for-merge 'refs/pull/73/head' of https://github.com/apple/swift-numerics +d875fdbd0b56f45142cc0956c23ac2e47aefaaf8 not-for-merge 'refs/pull/74/head' of https://github.com/apple/swift-numerics +5931d036ab5a213164906c5a42faa487cf4af417 not-for-merge 'refs/pull/77/head' of https://github.com/apple/swift-numerics +f6c2c34910a2f013283e601858a74cf4466d7b36 not-for-merge 'refs/pull/78/head' of https://github.com/apple/swift-numerics +5e978d85a26d2753d73699de0bf3a30fb25ae8ca not-for-merge 'refs/pull/81/head' of https://github.com/apple/swift-numerics +1b44581308d4c86fca6c098dbe2e3d6497c340a8 not-for-merge 'refs/pull/82/head' of https://github.com/apple/swift-numerics +de5399615c7ba8cec63b82617db4c9e30c0dc41a not-for-merge 'refs/pull/83/head' of https://github.com/apple/swift-numerics +f11ce9b248b23be98d7a79540548a42dd6c7f1de not-for-merge 'refs/pull/84/head' of https://github.com/apple/swift-numerics +6997e5a142d0f53586117c00dacd04f3d1ecd822 not-for-merge 'refs/pull/85/head' of https://github.com/apple/swift-numerics +b7e48c538cf0474eb9646ec2a7aaf0177dced021 not-for-merge 'refs/pull/86/head' of https://github.com/apple/swift-numerics +3d637e1302ffbd5d2d727badd75d5616d04134ab not-for-merge 'refs/pull/87/head' of https://github.com/apple/swift-numerics +323542cba1cc93c3e2f81e02c1aed9ff45f58ea8 not-for-merge 'refs/pull/91/head' of https://github.com/apple/swift-numerics +8cbda038677e41f45c8b48a76e17682ddeca0d51 not-for-merge 'refs/pull/93/head' of https://github.com/apple/swift-numerics +eda432142d465d15013ebdf487302e34544b13ea not-for-merge 'refs/pull/96/head' of https://github.com/apple/swift-numerics +014ce562a48bdeb6f5dcfb63dd9257b4815d4f84 not-for-merge 'refs/pull/97/head' of https://github.com/apple/swift-numerics +016cd6a2fcb2657c61f26b709bbb1ee50677047f not-for-merge 'refs/pull/99/head' of https://github.com/apple/swift-numerics +1b99c547b0293650516051a53b260ce4626ca76c not-for-merge tag '0.0.0' of https://github.com/apple/swift-numerics +4329602833699f30a9affaa94ab06d1934aac46c not-for-merge tag '0.0.1' of https://github.com/apple/swift-numerics +2b63fc844eee63bc95402465513c060b9962c3d9 not-for-merge tag '0.0.2' of https://github.com/apple/swift-numerics +7ff707f6f8c7d8aaac365475632892e2da581b6a not-for-merge tag '0.0.3' of https://github.com/apple/swift-numerics +a2aa24d236f7535236806190c91a88d791212a3b not-for-merge tag '0.0.4' of https://github.com/apple/swift-numerics +5dfc460876510988560170cee3702ab01b89587a not-for-merge tag '0.0.5' of https://github.com/apple/swift-numerics +110beefe0b9a4af05b09f2d33faf52740d9229a7 not-for-merge tag '0.0.6' of https://github.com/apple/swift-numerics +f764cdff4f9761262b014ffba3cff7b2710a7872 not-for-merge tag '0.0.7' of https://github.com/apple/swift-numerics +6b24333510e9044cf4716a07bed65eeed6bc6393 not-for-merge tag '0.0.8' of https://github.com/apple/swift-numerics +6583ac70c326c3ee080c1d42d9ca3361dca816cd not-for-merge tag '0.1.0' of https://github.com/apple/swift-numerics +1e5cbc4e2142677d6695036a748344c8edb83e5c not-for-merge tag '1.0.0' of https://github.com/apple/swift-numerics +0a23770641f65a4de61daf5425a37ae32a3fd00d not-for-merge tag '1.0.1' of https://github.com/apple/swift-numerics +0a5bc04095a675662cf24757cc0640aa2204253b not-for-merge tag '1.0.2' of https://github.com/apple/swift-numerics +e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8 not-for-merge tag '1.0.3' of https://github.com/apple/swift-numerics +e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8 not-for-merge tag '1.0.3-prerelease' of https://github.com/apple/swift-numerics diff --git a/.build/repositories/swift-numerics-d936ec6c/HEAD b/.build/repositories/swift-numerics-d936ec6c/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-numerics-d936ec6c/config b/.build/repositories/swift-numerics-d936ec6c/config new file mode 100644 index 0000000..4f53c93 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/apple/swift-numerics.git + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-numerics-d936ec6c/description b/.build/repositories/swift-numerics-d936ec6c/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/applypatch-msg.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/commit-msg.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/post-update.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/pre-applypatch.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/pre-commit.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/pre-merge-commit.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/pre-push.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/pre-rebase.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/pre-receive.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/prepare-commit-msg.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-numerics-d936ec6c/hooks/push-to-checkout.sample b/.build/repositories/swift-numerics-d936ec6c/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-numerics-d936ec6c/info/exclude b/.build/repositories/swift-numerics-d936ec6c/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-numerics-d936ec6c/objects/pack/pack-9858b2bfb0fa4cee2b57dabc9da7055c5342ecb3.idx b/.build/repositories/swift-numerics-d936ec6c/objects/pack/pack-9858b2bfb0fa4cee2b57dabc9da7055c5342ecb3.idx new file mode 100644 index 0000000..0ba2ec4 Binary files /dev/null and b/.build/repositories/swift-numerics-d936ec6c/objects/pack/pack-9858b2bfb0fa4cee2b57dabc9da7055c5342ecb3.idx differ diff --git a/.build/repositories/swift-numerics-d936ec6c/objects/pack/pack-9858b2bfb0fa4cee2b57dabc9da7055c5342ecb3.pack b/.build/repositories/swift-numerics-d936ec6c/objects/pack/pack-9858b2bfb0fa4cee2b57dabc9da7055c5342ecb3.pack new file mode 100644 index 0000000..a1deb2d Binary files /dev/null and b/.build/repositories/swift-numerics-d936ec6c/objects/pack/pack-9858b2bfb0fa4cee2b57dabc9da7055c5342ecb3.pack differ diff --git a/.build/repositories/swift-numerics-d936ec6c/packed-refs b/.build/repositories/swift-numerics-d936ec6c/packed-refs new file mode 100644 index 0000000..fdfb82d --- /dev/null +++ b/.build/repositories/swift-numerics-d936ec6c/packed-refs @@ -0,0 +1,261 @@ +# pack-refs with: peeled fully-peeled sorted +bab8d4eefaacde7c194c4d962e120ba24ca62f22 refs/heads/Quaternions +0098c438ebc687aec80c7fef15482f4b38e3583d refs/heads/biginteger +6356eb395bba8de12aa4c360b4203ac3a5df9f85 refs/heads/main +876f439c4a165f01db8daf99f6ea71fa7546ebc7 refs/heads/release/1.0 +b97297c027d0332b4990d49306ac878f213667ae refs/pull/1/head +33d10c02cd2026663220cf5e01a98e6f34c4fbfb refs/pull/104/head +697e9351e82fd150fe178bc6e94fc247331163d7 refs/pull/105/head +a35f5ba889a6a0e40292fcabf9072673225c2a77 refs/pull/106/head +ff6a0ff2a57c6ecfe28a5f28cf47e42c3610bb48 refs/pull/107/head +59444343c4cbdc5573931d0bf3a6871b1e8b3ea2 refs/pull/108/head +c14381db8c797de4ec195b28c10f04143dd635b6 refs/pull/109/head +6b4342cc7f57bdf24e00c0f5b8fe8ddccff86835 refs/pull/11/head +d5ec70cd8c06476ddfebd9c9699ba2b2877a0be2 refs/pull/110/head +488e250259a8362408a4db5e07e182f314528fc5 refs/pull/111/head +750170404ad62d735cc5df9fb320799f9e52aab5 refs/pull/114/head +c111cd001e40992dea1e85019957bbb12d267c72 refs/pull/115/head +4297fbee6a208f05f6f1987c328f2a3ffd467538 refs/pull/116/head +5f09b7ef22fbc282643f4b7ffb21cc2613c56bed refs/pull/117/head +0cd1d1ea7303cba341fd677c8a89da5cb1031674 refs/pull/118/head +e7c2ad694b84eba1e5c7c45eb49760c82db49a88 refs/pull/119/head +775b898654b871ce8036098cb6e50ba60049b9c3 refs/pull/120/head +bc84f2eaaa04b563e9d693978193ff38b6ef6fd9 refs/pull/120/merge +86f0b33c65c4efc77fe71fe31eaa160d777b5a55 refs/pull/121/head +7bb20af6844b1daf77c1b7214636f63e5ee8c3ed refs/pull/122/head +e69f12617b2d717149c625ad90f96a7ed09bac0a refs/pull/123/head +f26f167b572349349d92090833d4de6b39612b86 refs/pull/124/head +e4f49d4c60b8b555dc889b7968a2ea3f24ef9a8e refs/pull/125/head +11cc926ac4dd32c255ed5a58acf63493fcb87e1d refs/pull/126/head +168beeef757fa253969bf03c285e446b7d6d59af refs/pull/128/head +59e547f6f9c293fa8ca8695a347fcc26d5edb08b refs/pull/13/head +e6a343a20598ba9364addfe00f69eec0a6c493fa refs/pull/132/head +af3912cd4ac336492b1aedf8ccc9c3d814acf694 refs/pull/133/head +844322cb1e17828022039c99eefd7af7f2ae5b2f refs/pull/134/head +97824411d9c208ed1bb63c8898023c49b3957462 refs/pull/136/head +7109a229726b1966f75310cee5873def4accc771 refs/pull/137/head +ce58d083a1a543f6dcb8e89b69f210418e1a7910 refs/pull/138/head +d32bb739d487e3713fe5897cc53b958a827ab27e refs/pull/139/head +341671e000620f5beea8d0ec6c0986865d7acb93 refs/pull/14/head +6af70e51eadc4e81acbbbf3ed3839c724b37fc07 refs/pull/140/head +ecb69673b0808588fcb5c41748b45a2180cd5e2f refs/pull/142/head +337be4044e9db2b418098f3177fcc4334a50dfce refs/pull/143/head +a4372aa8d62c4270f893857aba696113e4962da8 refs/pull/144/head +a0501be80ad3c44ec5060f76d0adb65bc2b0f04e refs/pull/145/head +f49d1af281054fd917afb3aa38e25285c51c2861 refs/pull/146/head +0f8ef268d01fe0e77dcb8da46a5aa64590aa9abf refs/pull/148/head +298ea7d3f5102ea34787fea360d6f1a2331cd011 refs/pull/150/head +ead8965cb2cc56a5102ed468ac5cdc29e70ff23e refs/pull/151/head +0f02c6585465356cf5ba4d0937221dcc81fd7690 refs/pull/152/head +ce66945457b16dc1fa05b9a1d3a7b1725fc8b7fb refs/pull/154/head +2b4c6701f2f077faa4987573da905bb107b2004e refs/pull/155/head +e07b39453b883f554f1154eedeecd948c11d5888 refs/pull/157/head +0ee972ff9227b05207fa3f9b55aefe332c7fba1b refs/pull/159/head +adefd8166a162e2cba8af7808bc0bf29ca570bb9 refs/pull/16/head +16837299c16922ddd064695c837e0d75be7e85aa refs/pull/162/head +00c6183670e7e5d94d2d020c08b5ee36cc4c3bfd refs/pull/164/head +26c51aca1b66b23ed2c5eaf2e9c6cd45c69f45d6 refs/pull/165/head +5a7eb37c19cccc6cac3d1620d603cf953d7bdece refs/pull/166/head +6d866a89a677dc3a1bbfe16b35f78594e9d1d17f refs/pull/168/head +83ba41baf945b820d2671c0a0c5378d36a66acfe refs/pull/169/head +b3f761d8c6b900352dc2f47617c345c539f0ecbc refs/pull/169/merge +63a129be1ae9f54bd15029c03b322a21bf6912c9 refs/pull/17/head +97852afaf5fa2e807e439733fe2813feeccb5ff4 refs/pull/172/head +5827f9a94384f7d9d49e646347b1bd7f58ec317d refs/pull/175/head +eeba818da77cd5f1792bd1981b2025f58f2b1cdd refs/pull/176/head +a2e874777119ac07b866f77a5d6add143e3c324a refs/pull/177/head +5e1ca0268ad79c21c448f24b4eaf4dc0eab30057 refs/pull/177/merge +d34cff5a13187e3ad357ad1d1e5131b0a88771f3 refs/pull/178/head +50161d39dff29bd07d564f31045cef36d2632ee5 refs/pull/179/head +d6a87be7da87030ecade202aa777759a3dbf69d0 refs/pull/18/head +f60066e5f53f1341c65934bd65e7f52fa3110b1b refs/pull/180/head +702c6fc1d8f05873b5ff5123aa855b28eb9f9771 refs/pull/181/head +faf13772af439e4c501f3befcfa5b0bf750d0b70 refs/pull/182/head +8e3d889b5f8c2dc660eb79d01d8097f400f0371b refs/pull/183/head +419caa222fb01b8e8d97b682591fe1afaca3acb4 refs/pull/184/head +12148ffa666c7816c5b7acb8c690f0ecec0e0ea0 refs/pull/185/head +3d6bff6cae62c9aa1e0d2557cb97e7440e1ffc90 refs/pull/186/head +988f1e1cea31760b9cf7db129048662bc3d85f35 refs/pull/187/head +84474a34100c61f301671d89f28eede388fe3810 refs/pull/188/head +f2cfa8d668428ae2e25ac3c15f09ece6cb324bac refs/pull/189/head +fa9422ec6e790f0957bf1302961af970d4ab0855 refs/pull/19/head +996cf7f5b98b998ae92efc3700a4163d1b1be3cf refs/pull/190/head +21ff6d38fd6ff16633b5c73ff6756e1070aeaf4e refs/pull/191/head +b9415c9ad2669fd8c4334c636f5749a1c7bdbefd refs/pull/192/head +bcde4bc513f22a814f8cb62375a5a78f58f2936a refs/pull/193/head +ed66862a2c0cc223382c40b4fd018f2c4ec3172f refs/pull/194/head +b4ec7556e9b764c138a7194efa9c9a7264d8bd67 refs/pull/195/head +5f28ad0e9720352b6f14731b53b3abf089b59162 refs/pull/196/head +be0534a3e3d1525892d634201b028d1f56b14579 refs/pull/197/head +d5607650477eca7a1669816ea76716a33d2b1ecc refs/pull/198/head +4a2409ffcde32f21dbc4cf7a0c56bc5269a2feb1 refs/pull/20/head +ae383701074be80501a6f5bf8f27b2b3faf5a10a refs/pull/200/head +e22ff866a40e305aaa7f4f53338c7716cb919128 refs/pull/201/head +c3806f23ff0450820ac38de6876f2cee48bf0ad1 refs/pull/202/head +24d8f51bb3387e23ad0684f80434986397f3edbc refs/pull/203/head +eb1771fac4e9205bbe1e210574d0370e68b32716 refs/pull/204/head +67ddbbe8aa16599cdf20a83bc01194d773059be3 refs/pull/205/head +3262d4d5c581886f2b76880c9520ec80800598f9 refs/pull/206/head +63df3676802fef62cf39ded4070412a823866558 refs/pull/207/head +05366d7f4a2525fafa80008c3180d268532ff0e3 refs/pull/208/head +db932c9871088ab16a3b7a665605295258a247ca refs/pull/209/head +4df760317900b155a74ba57e49b9e29f482eef0e refs/pull/21/head +cdb092bb310fc43058501180e638118da0be24f4 refs/pull/210/head +48099a09b41742745126959f86a7f431206da1ab refs/pull/211/head +bfd905c9e4571fd8d8be096387652ededde46d08 refs/pull/212/head +8983be89c7c93cced31d23c4b7689977a8b87794 refs/pull/213/head +740cc5012f50cdce9308c1888cbedac05d4d6cf0 refs/pull/214/head +a6bea6639ce83ccd9101ab512b0d583d04210283 refs/pull/215/head +47a233758d19431bbef5bf3d2af46804aec82d81 refs/pull/217/head +35e15a381f0a5f4fab33185996f5369bfc1f12b6 refs/pull/218/head +d3296984982348d3e252ac059c56c7767e810de6 refs/pull/219/head +8977e637f443abedec90135f92ad50762f351755 refs/pull/22/head +445b0da15d1d4847bad597e73e14c8c26f57e4f0 refs/pull/220/head +7f2d022d3d9b55bf812814f5d01896cbfa0fd4da refs/pull/222/head +27f8192a63b4545439da104d4440666063ff39f7 refs/pull/223/head +270972dd8a19da3baa01cba4af11e098016c7f77 refs/pull/224/head +5803eaf5bbab64de0db9bd0783a316016039c796 refs/pull/225/head +0d9f0b2a98c58ac49f8a60e283c586071098846c refs/pull/226/head +1db31ebdf0dcd9b895db5bbb10fff55601012d88 refs/pull/227/head +4f973441cd3bdbf1740b5e6eeab9a390594ae6e3 refs/pull/228/head +ad734eb7d3c8099b1e541eacb0850287cac5ab67 refs/pull/229/head +919f13ce2ee92cfb44b9c584e167b18437ec4f53 refs/pull/23/head +f975305391c6c1607b7fc35437b0615776721121 refs/pull/230/head +96f367ce741fb47103e41da9b450286f790efed9 refs/pull/230/merge +0ea36c3109d133869fdac5d0bedda52802714f75 refs/pull/231/head +7b46b4191b7d372a5fa9aa7d4b84fcad9bb829d5 refs/pull/232/head +c8e3d9f54b305526ca35a1547281eb0e3eaa9c14 refs/pull/233/head +2baff8fc30d9fc237a5a635a93f379f8145e1be7 refs/pull/235/head +60a3edbaa944ce5a8fa71147e7441f58847540b7 refs/pull/236/head +e601f16e20d58857c3fc75c3c5cd782b6648d35b refs/pull/237/head +6908e3951af265adca76ab5652a080dcecd23594 refs/pull/24/head +8353ce4c3d0e7751ad49ffdf1b4f89396773d7b6 refs/pull/240/head +38a0f777fb7b6b05d596982d95c2258f3cbcf073 refs/pull/241/head +3cf34b8b4ddfe3b7b9d6c76edba5839fcbc57c7e refs/pull/243/head +149d7d794a15b168b521337fffa50854ab4638b4 refs/pull/243/merge +1a7c352e006ac6e53528c74661745d952f60f547 refs/pull/244/head +9b17a5989e8d75c386f76ee1e5e93ba95cfe8d25 refs/pull/244/merge +40d08ee9c69bf16fc312e80820e4231250442cf3 refs/pull/245/head +8d0f6cecc4cd965cfa82d66671e70632e12f2260 refs/pull/245/merge +4543a060f144ed020bad034d74b0c8e63ddaca76 refs/pull/246/head +354583f35d65159b832be3d90420a6a482cd322b refs/pull/246/merge +5ed9046e7954575715f6f476fe91255f7c64203d refs/pull/247/head +0ddf9628bfcf7196a89a461162b2aea2a168a591 refs/pull/247/merge +768455920a2998c2cd604fe9bf3bc3f1d178f69b refs/pull/248/head +109b68a08202ce620dc5481b4c8bf7429e22516c refs/pull/248/merge +564837e9a62f2f978557949ca287cfd8afdd2c51 refs/pull/249/head +f371c63358fac016b7d0a5ea092efb58ff9dfc59 refs/pull/249/merge +eb76aa632b7a73c1b1c66ac17c6dec8bae57cde4 refs/pull/25/head +7611234a92738347aa9e19a237bfe0b09bbf7d11 refs/pull/250/head +081ead059ffca088f2eb967dee9fb5c25a389619 refs/pull/250/merge +ff9e8a12b3f5304960d39e49193c7afb8ca2454e refs/pull/251/head +b01fdb76549075a7dfbb9a469391d84dd7a5f7a0 refs/pull/251/merge +a91be102b1bab20cef7a94227499466e2b0f6919 refs/pull/252/head +1d3a1fdb5df7747543d40faff044154253ec7891 refs/pull/252/merge +c386d5c738e90a02960ae5616dae869277f4cebf refs/pull/253/head +903fde96c0f7fc9c2a55f6ec836bf763ca6427ea refs/pull/253/merge +e0898e36a245679a57a0897fd10d87986b629ef8 refs/pull/254/head +d063f7739f1f74161f2fa4b5263f1952329e110f refs/pull/254/merge +9d2635621d08a624f11da7e399b3745bf9fab842 refs/pull/255/head +84d19836b3cea348bf13baff54a889a2249b3bcf refs/pull/255/merge +bbe94f7337fa98974e9197fde9b2ddbe1905c04a refs/pull/256/head +b18b525a2d60dbbc154399bde4e77fb1eed44237 refs/pull/256/merge +de3b10eea17c8331c7d19e63888091ebf46ecf38 refs/pull/258/head +d72f68a47b199df5909955b88272d84ef886c78a refs/pull/258/merge +f2e64582d78f3d2a536216626b26dfeba3eebffe refs/pull/259/head +744ffd1ec99085c3c1e722f995d393d0a1d90acc refs/pull/259/merge +9b3bd5af2662c295ddba9d7074b71d977cae4725 refs/pull/26/head +67b17c2feccebbf3bf9c3ff91856ad51a427b4d7 refs/pull/261/head +1fc9e13ca8b5d46cc70fe211130bd6e7a630fb48 refs/pull/262/head +310e239e16c820f7c8b028a42bd17f85d34d7162 refs/pull/262/merge +331da45acb970d1142b217267c2e74121d0ecab0 refs/pull/264/head +e77a36abe0693ca1736b5509bb175ee39ef8e617 refs/pull/265/head +fff603defe02cbc2c07d5c8ce3b9832b61275eca refs/pull/265/merge +b38fcb77a6cf9e159743cb8e221b8b44f7f91799 refs/pull/268/head +3d13ebaf94a5f21306971508e4ab3cdd885452be refs/pull/269/head +78f1cf691edd98e30a7661b5310d45925f5e88ed refs/pull/27/head +a85dd8c2bba15bb78dd89a890515e4a40365671b refs/pull/270/head +b3867a91551ca2bc35cc0201fc0fe6585f4dce07 refs/pull/271/head +a7e27e16e15842aa8f8685494f67cfe83068c312 refs/pull/273/head +e8a3ddbb3e405c8f32432701267f49ae43de0ea6 refs/pull/274/head +b8571e14f147cc77698ca17c45e88772093777c7 refs/pull/276/head +d6753217510fb5cd2bca1015b61e1589fbb612f1 refs/pull/276/merge +349fdf1e0176c0c6016df9eaa8e79c8e3afb48ca refs/pull/277/head +faa65e8842aafe159e98599aef8f4f51101fb58d refs/pull/278/head +c2bc7ba38a6b0aa1df42f4b837b47e14eeb41b15 refs/pull/28/head +4e905b38b720bbba3d67b95ed02fc87dab1cdd4d refs/pull/280/head +86000c159699d27f5331f6576ed23b2b36ad3e31 refs/pull/282/head +42c2eb929cfd1ad616795df5fc48b856798d4d64 refs/pull/283/head +907430bdadd2ff32e64f9c624ca4cdc11e1f0991 refs/pull/285/head +347f1e31fe6adb1ffdf1f6b925060f9ef05988f5 refs/pull/286/head +262cbea1f25f4ede2f0eaaea0e3495e6e0d5f327 refs/pull/289/head +f2c0f1bcf5fb85fa81e8a427557af804907829cf refs/pull/29/head +155cfc306cb42a7e597bc0eccea6bba5ba6a4786 refs/pull/292/head +53efe07eacf92f4963f217416e1be667fb103c10 refs/pull/293/head +2ea11a6d18c5ec944f2f47c243b08f522a18a29c refs/pull/293/merge +da661919b91a8ca16572b7dc66951bd034e254f8 refs/pull/294/head +1043e9ed38e8b5fa3016bae66dba6372221d9027 refs/pull/295/head +683c8f210af6f9c42dc6b223207471a5f3051c2f refs/pull/296/head +ddc8ce302bd8e2420660046db4334627981263de refs/pull/297/head +77b98fab7506049f9d830fd6ad7784423a6cc56f refs/pull/299/head +37253aa0b6fbd77402f79ad2759155f991a39ed2 refs/pull/30/head +7b1e0db43786395636b112f41dd500163b58459b refs/pull/300/head +1d23717b4748ee269e28769e3fc50b47e2d4d1c7 refs/pull/301/head +9b36b1ce46cd9193218edbb144f1525fbbd52ede refs/pull/304/head +31fe14d0849f14502a5a673832cdfefe1541b3da refs/pull/305/head +46342fc917416d95a52969a9d363cfe4fd4a5a81 refs/pull/306/head +1be6eb5b4743d3b81f342e7398b87b5fd7d78b85 refs/pull/307/head +8b28aba87459eab3a481ab46e73e2a9a2dae6f5b refs/pull/308/head +96df03d007a2b1a76f0b0b4479f2462a332cd38d refs/pull/309/head +4bc7b7723914d89f02ba7e1efe95ad002b2b64bb refs/pull/31/head +9d5e5021cb6f039d28b8716737449f458a108dbe refs/pull/310/head +f982279a3ab9cad826e7a6bf190ca506b852f9b4 refs/pull/310/merge +7169586e0286947bb540635b888e26ce2f7ab3f1 refs/pull/32/head +67528d4a5398e3f420a02ef1be4501d72275d2f4 refs/pull/33/head +6ac520ac59ec177fd45deafaac4b7c53b6ed9b30 refs/pull/34/head +0cc4950453ab30d7015585f3dfc2eaf2579c7e19 refs/pull/36/head +0308def714aeb125ec8f83cffd73d1a5c8f66410 refs/pull/43/head +04151f701ba921a3ba1e2451568601f32b896353 refs/pull/44/head +44e24547521b3acfb5d74b13b564cfb0b9d42509 refs/pull/45/head +86e9087ab572b105145cbf6f5660859edd5e79e8 refs/pull/57/head +cd4a8b41cf637c220a9fe8292a65954a3b4ca219 refs/pull/59/head +6ac60de4577a087130e8f0444a4daac06591678f refs/pull/61/head +ab19494638b1bc7ba12d6f1e214ddc5ecffe4b76 refs/pull/63/head +0ddfd0ead7c38452685322ad4bf705fe5e0dfd12 refs/pull/65/head +6195693e3ad1087330dcb41f62d8c77f9122ae8a refs/pull/66/head +6d904ea56cd5dfae668b7e810471525c7eb58cc1 refs/pull/67/head +6116a90748ec4abfc0b5b55b77c351bf2c95fd75 refs/pull/68/head +5d783ce45866bdc43ab6f6bf62b44bd1c1849ec8 refs/pull/69/head +0ed7e786b5fc6b7e1af9bdaecd97fdae087d90f1 refs/pull/72/head +2760aa4ba47a68a962edd80cec3122725b185c66 refs/pull/73/head +d875fdbd0b56f45142cc0956c23ac2e47aefaaf8 refs/pull/74/head +5931d036ab5a213164906c5a42faa487cf4af417 refs/pull/77/head +f6c2c34910a2f013283e601858a74cf4466d7b36 refs/pull/78/head +5e978d85a26d2753d73699de0bf3a30fb25ae8ca refs/pull/81/head +1b44581308d4c86fca6c098dbe2e3d6497c340a8 refs/pull/82/head +de5399615c7ba8cec63b82617db4c9e30c0dc41a refs/pull/83/head +f11ce9b248b23be98d7a79540548a42dd6c7f1de refs/pull/84/head +6997e5a142d0f53586117c00dacd04f3d1ecd822 refs/pull/85/head +b7e48c538cf0474eb9646ec2a7aaf0177dced021 refs/pull/86/head +3d637e1302ffbd5d2d727badd75d5616d04134ab refs/pull/87/head +323542cba1cc93c3e2f81e02c1aed9ff45f58ea8 refs/pull/91/head +8cbda038677e41f45c8b48a76e17682ddeca0d51 refs/pull/93/head +eda432142d465d15013ebdf487302e34544b13ea refs/pull/96/head +014ce562a48bdeb6f5dcfb63dd9257b4815d4f84 refs/pull/97/head +016cd6a2fcb2657c61f26b709bbb1ee50677047f refs/pull/99/head +1b99c547b0293650516051a53b260ce4626ca76c refs/tags/0.0.0 +4329602833699f30a9affaa94ab06d1934aac46c refs/tags/0.0.1 +2b63fc844eee63bc95402465513c060b9962c3d9 refs/tags/0.0.2 +7ff707f6f8c7d8aaac365475632892e2da581b6a refs/tags/0.0.3 +a2aa24d236f7535236806190c91a88d791212a3b refs/tags/0.0.4 +5dfc460876510988560170cee3702ab01b89587a refs/tags/0.0.5 +110beefe0b9a4af05b09f2d33faf52740d9229a7 refs/tags/0.0.6 +f764cdff4f9761262b014ffba3cff7b2710a7872 refs/tags/0.0.7 +^3d7462a834b58b10b1af4b1a1e0eeb784835681b +6b24333510e9044cf4716a07bed65eeed6bc6393 refs/tags/0.0.8 +6583ac70c326c3ee080c1d42d9ca3361dca816cd refs/tags/0.1.0 +1e5cbc4e2142677d6695036a748344c8edb83e5c refs/tags/1.0.0 +0a23770641f65a4de61daf5425a37ae32a3fd00d refs/tags/1.0.1 +0a5bc04095a675662cf24757cc0640aa2204253b refs/tags/1.0.2 +e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8 refs/tags/1.0.3 +e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8 refs/tags/1.0.3-prerelease diff --git a/.build/repositories/swift-openapi-generator-d5abee00/FETCH_HEAD b/.build/repositories/swift-openapi-generator-d5abee00/FETCH_HEAD new file mode 100644 index 0000000..df637f6 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/FETCH_HEAD @@ -0,0 +1,431 @@ +9d7b6e89b7fa1296abce3db41d4e7648bed9792e not-for-merge branch 'fb-gha-license-check' of https://github.com/apple/swift-openapi-generator +09ed6c489f88d06228a404a0313adeea743e6cad not-for-merge branch 'main' of https://github.com/apple/swift-openapi-generator +8cd55120aca9115fc9f0ed2b8121296f18d499a0 not-for-merge 'refs/pull/1/head' of https://github.com/apple/swift-openapi-generator +104b0269491a14cb27427a016521fea20d4bbe43 not-for-merge 'refs/pull/100/head' of https://github.com/apple/swift-openapi-generator +4b18a2b1a59de9e0cd31256d49e213b4c2721ccb not-for-merge 'refs/pull/103/head' of https://github.com/apple/swift-openapi-generator +16b5dc775da034a312a89179797cd0cfd4238652 not-for-merge 'refs/pull/108/head' of https://github.com/apple/swift-openapi-generator +0cb93a97282bc73188e598228d99b239743cdcbf not-for-merge 'refs/pull/109/head' of https://github.com/apple/swift-openapi-generator +c6644131dc40137acc7dbf2dcf18d58652e3a299 not-for-merge 'refs/pull/110/head' of https://github.com/apple/swift-openapi-generator +5d07fa2f6fe99c0e93af2a46253d1cac2a7b3be7 not-for-merge 'refs/pull/111/head' of https://github.com/apple/swift-openapi-generator +df2f1675ebb755643882dfec3a78b25bd81a2647 not-for-merge 'refs/pull/121/head' of https://github.com/apple/swift-openapi-generator +5f7b3a4f9db5553e1eea84d22fc4d62f69471705 not-for-merge 'refs/pull/122/head' of https://github.com/apple/swift-openapi-generator +3c957d228f3e3d3e58f097e8e5a441e17d616b3e not-for-merge 'refs/pull/123/head' of https://github.com/apple/swift-openapi-generator +3a88eb6463969c2cd4bf6e1138273e7409ed2f3a not-for-merge 'refs/pull/126/head' of https://github.com/apple/swift-openapi-generator +0f1441b8f0c0669ce2ddaa359bb43606fa39b5d9 not-for-merge 'refs/pull/130/head' of https://github.com/apple/swift-openapi-generator +756df29772256070cbe48fa707a11e12acde15af not-for-merge 'refs/pull/137/head' of https://github.com/apple/swift-openapi-generator +d81bd94eeb6c99b4a382b44ab90bdff3aea445ea not-for-merge 'refs/pull/139/head' of https://github.com/apple/swift-openapi-generator +b6882a43e86fced93477d8c6d2fc26804138a15c not-for-merge 'refs/pull/140/head' of https://github.com/apple/swift-openapi-generator +51a60f4f6b2f9576db6511405e4427a1dbbd5195 not-for-merge 'refs/pull/141/head' of https://github.com/apple/swift-openapi-generator +4555f8e998b24aa65a462a63828d9195c50dcc23 not-for-merge 'refs/pull/146/head' of https://github.com/apple/swift-openapi-generator +2a10248b9e88e040f803ecfae068dcad6879e13f not-for-merge 'refs/pull/147/head' of https://github.com/apple/swift-openapi-generator +e0544884685de7e69c352517c8a77c228998b396 not-for-merge 'refs/pull/148/head' of https://github.com/apple/swift-openapi-generator +f716e956b7107bc750af2276b450e3cf05eab065 not-for-merge 'refs/pull/150/head' of https://github.com/apple/swift-openapi-generator +c56d2ecb0c68708d60bded6855e2c96d6c0df97a not-for-merge 'refs/pull/152/head' of https://github.com/apple/swift-openapi-generator +0975cb009f223fb0ea9384376ec5f2b58f42be6f not-for-merge 'refs/pull/153/head' of https://github.com/apple/swift-openapi-generator +14e603f21658ff4442af32b052572ca06b8c681a not-for-merge 'refs/pull/154/head' of https://github.com/apple/swift-openapi-generator +cd9074ba6bcb6828e4e1660ea4e275f4b2aa2e7c not-for-merge 'refs/pull/155/head' of https://github.com/apple/swift-openapi-generator +3d47d495ff7c61844f1c794c78cb16010482bc2d not-for-merge 'refs/pull/156/head' of https://github.com/apple/swift-openapi-generator +c1238f93ce87a22ef5d261141c7d17b71014aea8 not-for-merge 'refs/pull/157/head' of https://github.com/apple/swift-openapi-generator +041bfb51122f8b47be8da394d740c29de362f83e not-for-merge 'refs/pull/159/head' of https://github.com/apple/swift-openapi-generator +94094a02da359dada035f5fada64f0f1fd5c3894 not-for-merge 'refs/pull/161/head' of https://github.com/apple/swift-openapi-generator +0acf2b3abfc9adf51ae9e08427fd3232d0a2ebd9 not-for-merge 'refs/pull/162/head' of https://github.com/apple/swift-openapi-generator +8544a2e87e5046f9bd92fd33ecc996309630e3f2 not-for-merge 'refs/pull/164/head' of https://github.com/apple/swift-openapi-generator +49c56b82d97ff31d86d27d455e69c86d83666e8d not-for-merge 'refs/pull/166/head' of https://github.com/apple/swift-openapi-generator +d5264b62aceeddea63b2d59cc1517f2142a1b53c not-for-merge 'refs/pull/167/head' of https://github.com/apple/swift-openapi-generator +e74848b7906706a3d414eb3f84bdae577a8f4685 not-for-merge 'refs/pull/169/head' of https://github.com/apple/swift-openapi-generator +5041f0f13b0630d917dbf4c5a0122b2a876993eb not-for-merge 'refs/pull/170/head' of https://github.com/apple/swift-openapi-generator +ce9440dabf1d72940a57f552cf54f86167e26ff4 not-for-merge 'refs/pull/171/head' of https://github.com/apple/swift-openapi-generator +cd076256f750fc21410b1eca86be15c19461ac29 not-for-merge 'refs/pull/173/head' of https://github.com/apple/swift-openapi-generator +7417cb2e1361f398f91d467822107fc32159eb9b not-for-merge 'refs/pull/174/head' of https://github.com/apple/swift-openapi-generator +06c04e651cdc33522b9b04f2775ff966b5d9ad3b not-for-merge 'refs/pull/176/head' of https://github.com/apple/swift-openapi-generator +c0657b3c9d083e898957615372e2aace14335d58 not-for-merge 'refs/pull/178/head' of https://github.com/apple/swift-openapi-generator +6535e7ecf9b64877cbef2c06f66af54cc2aec5dd not-for-merge 'refs/pull/179/head' of https://github.com/apple/swift-openapi-generator +76b6475d885c2cfaf364695f38ab28a3328e3612 not-for-merge 'refs/pull/183/head' of https://github.com/apple/swift-openapi-generator +a09dfb33f8ef937e39a04eda4fec883bb72b220b not-for-merge 'refs/pull/184/head' of https://github.com/apple/swift-openapi-generator +2f961231a965ee0aa71e28e6400d5266f6013d05 not-for-merge 'refs/pull/185/head' of https://github.com/apple/swift-openapi-generator +184bbb7167d8ee8980867f065cd31c2011d6e1a0 not-for-merge 'refs/pull/187/head' of https://github.com/apple/swift-openapi-generator +92326389db361745a42574842b3406f18bfc1587 not-for-merge 'refs/pull/188/head' of https://github.com/apple/swift-openapi-generator +d8951ac707bae1be5af99c45cf1487d55d37ee8e not-for-merge 'refs/pull/189/head' of https://github.com/apple/swift-openapi-generator +b5352295cb72b823fa91cc461253839d980ae3e7 not-for-merge 'refs/pull/191/head' of https://github.com/apple/swift-openapi-generator +963b2172f1c95bfb08cc0c5bb33429cacf4df8c6 not-for-merge 'refs/pull/194/head' of https://github.com/apple/swift-openapi-generator +23350f54a5e101c99ca759696adec043b73ae3f3 not-for-merge 'refs/pull/195/head' of https://github.com/apple/swift-openapi-generator +7e797ff43c48536319efc1fffbc2c6e65080663c not-for-merge 'refs/pull/196/head' of https://github.com/apple/swift-openapi-generator +7168e04b77fa86eae19de58cdf9b74d6689852b4 not-for-merge 'refs/pull/198/head' of https://github.com/apple/swift-openapi-generator +accc45665b6a23c81e337a59d2f33c923a6268c1 not-for-merge 'refs/pull/2/head' of https://github.com/apple/swift-openapi-generator +a46b1e1e4ee114d735342bb5eb506606fc78ce4b not-for-merge 'refs/pull/200/head' of https://github.com/apple/swift-openapi-generator +972ac9ad6e6007cb8b99c694b883fe90134b31a8 not-for-merge 'refs/pull/201/head' of https://github.com/apple/swift-openapi-generator +77358f9153e349d68a3371a40affb993392dfbda not-for-merge 'refs/pull/205/head' of https://github.com/apple/swift-openapi-generator +b943198963371937a3ad1d0af6f8b6a4cd0a6ca9 not-for-merge 'refs/pull/208/head' of https://github.com/apple/swift-openapi-generator +49b311571445c1fe03f774c02211c649f6ce629d not-for-merge 'refs/pull/209/head' of https://github.com/apple/swift-openapi-generator +44ba30952875f797c4f8c96fc0369d1636abb02a not-for-merge 'refs/pull/212/head' of https://github.com/apple/swift-openapi-generator +ee3119d91c0f7f185294170f915486cb934af2a0 not-for-merge 'refs/pull/213/head' of https://github.com/apple/swift-openapi-generator +5d44372f4ed60c825680172f818d40512f7e4fd5 not-for-merge 'refs/pull/214/head' of https://github.com/apple/swift-openapi-generator +68744e8a25e9fba9c78af64313da74c01818fe5a not-for-merge 'refs/pull/215/head' of https://github.com/apple/swift-openapi-generator +c420c4704d8c30d5fa4a96e071150f9a6c83c1e7 not-for-merge 'refs/pull/217/head' of https://github.com/apple/swift-openapi-generator +ff727abb6c50f7105511d82be67dca049a764b45 not-for-merge 'refs/pull/218/head' of https://github.com/apple/swift-openapi-generator +e669276c2ca1db217da24de38b2f0f098459cb1b not-for-merge 'refs/pull/219/head' of https://github.com/apple/swift-openapi-generator +cbc2854e23f16bea0efba82d61f0e523da634de0 not-for-merge 'refs/pull/224/head' of https://github.com/apple/swift-openapi-generator +f9ef418f28bbf4ab731144455c9a9f2cad3aee49 not-for-merge 'refs/pull/225/head' of https://github.com/apple/swift-openapi-generator +e8be09a353fc0d1a77b8440999cda475181a8c2e not-for-merge 'refs/pull/226/head' of https://github.com/apple/swift-openapi-generator +42f67e1e2c8ce577c61f7e809e07447d032aaab8 not-for-merge 'refs/pull/231/head' of https://github.com/apple/swift-openapi-generator +a115af3ebf7ab8e775b8217e8f9a89915385cfb3 not-for-merge 'refs/pull/233/head' of https://github.com/apple/swift-openapi-generator +b13f423e07fa5acb6ae41d637b1fc89564292496 not-for-merge 'refs/pull/235/head' of https://github.com/apple/swift-openapi-generator +f4d95b7abff3e7b2dd978302fc3f611eef8d5279 not-for-merge 'refs/pull/236/head' of https://github.com/apple/swift-openapi-generator +592174774eb56ca085cc45b7c4b521922cb6208f not-for-merge 'refs/pull/237/head' of https://github.com/apple/swift-openapi-generator +373990792dedc517fc032c8fe0592a0842dec149 not-for-merge 'refs/pull/238/head' of https://github.com/apple/swift-openapi-generator +82a6ac79b0bca7e959e3c84d5b70784e06410762 not-for-merge 'refs/pull/239/head' of https://github.com/apple/swift-openapi-generator +c3970163d39fb0c8a9ac2c9fa9975c7fc8e3f1bd not-for-merge 'refs/pull/240/head' of https://github.com/apple/swift-openapi-generator +8106647dc8e36bc9e190fb2cc59d0e009ef514ba not-for-merge 'refs/pull/242/head' of https://github.com/apple/swift-openapi-generator +8c110566cadf4de6a68a23d5794c26e9c6c4b6eb not-for-merge 'refs/pull/243/head' of https://github.com/apple/swift-openapi-generator +0d2e294fe1bf949c9f032063f9a798c6c44fad36 not-for-merge 'refs/pull/245/head' of https://github.com/apple/swift-openapi-generator +fc91e961fe5b105898a48b8d289fbcfc72dfddf1 not-for-merge 'refs/pull/248/head' of https://github.com/apple/swift-openapi-generator +5aa3746c168f8153782ad714e283192a97aaa4c4 not-for-merge 'refs/pull/254/head' of https://github.com/apple/swift-openapi-generator +9b05cde41b5d053b1239ae1340976745a45f8b7b not-for-merge 'refs/pull/255/head' of https://github.com/apple/swift-openapi-generator +2a3881fe73fe907b51075b6ae3b9d528945213fd not-for-merge 'refs/pull/256/head' of https://github.com/apple/swift-openapi-generator +7e4bdeecc70851c60b978293cef3e1d08074c4df not-for-merge 'refs/pull/264/head' of https://github.com/apple/swift-openapi-generator +d29efee65d24b772bed8ecc1acad521cd8a5a8d1 not-for-merge 'refs/pull/266/head' of https://github.com/apple/swift-openapi-generator +461575b41d0c319014bb9b77070314a2bdf25a63 not-for-merge 'refs/pull/267/head' of https://github.com/apple/swift-openapi-generator +eefd7f226ab3f520b42fe7984ee25f75c39a6b46 not-for-merge 'refs/pull/271/head' of https://github.com/apple/swift-openapi-generator +eca812a1db528aa26bcc466a25e6114878219c4c not-for-merge 'refs/pull/273/head' of https://github.com/apple/swift-openapi-generator +faf9c428ac8bad62c92501afbc8779b29babbe83 not-for-merge 'refs/pull/274/head' of https://github.com/apple/swift-openapi-generator +a219e6d0cf3c2484252d43d3323c3b0724c5b251 not-for-merge 'refs/pull/277/head' of https://github.com/apple/swift-openapi-generator +1a413eaaf77cdf3f157cac5828837b88203caab2 not-for-merge 'refs/pull/279/head' of https://github.com/apple/swift-openapi-generator +933342084720c77937e8cc4016c6f34ec96ed63d not-for-merge 'refs/pull/280/head' of https://github.com/apple/swift-openapi-generator +b4b074db602200e9b2f4bbc74628d22c58370b9d not-for-merge 'refs/pull/281/head' of https://github.com/apple/swift-openapi-generator +536af8f4a558f80454220e920d24c694a733224f not-for-merge 'refs/pull/282/head' of https://github.com/apple/swift-openapi-generator +9f1d5767beb092bbeee18b8945cc1ef81f5a99b9 not-for-merge 'refs/pull/283/head' of https://github.com/apple/swift-openapi-generator +bfc98ed9d7996ad7e0b9a16061bdfc22fac7bcb6 not-for-merge 'refs/pull/284/head' of https://github.com/apple/swift-openapi-generator +0b8638dc292ba6c76a81b5865036b482f7d57bd8 not-for-merge 'refs/pull/287/head' of https://github.com/apple/swift-openapi-generator +3afa84f4c5cedcc984328eb1c1255b4edbcd3282 not-for-merge 'refs/pull/289/head' of https://github.com/apple/swift-openapi-generator +d5c1a5df9b1110fec519ec691ba85a530140722f not-for-merge 'refs/pull/290/head' of https://github.com/apple/swift-openapi-generator +ca839d77ecd050c33cbb8dcae83547ad8394298d not-for-merge 'refs/pull/291/head' of https://github.com/apple/swift-openapi-generator +1726893aed3c128fbea3a86efc6439453850b81e not-for-merge 'refs/pull/293/head' of https://github.com/apple/swift-openapi-generator +13296692902624cefe2b84d1c6cb586891fdc61c not-for-merge 'refs/pull/295/head' of https://github.com/apple/swift-openapi-generator +7527e6660cdfc1715370472b282aaba9d8058d2f not-for-merge 'refs/pull/296/head' of https://github.com/apple/swift-openapi-generator +32ba22b9f69c1b0fb56ad095fa6b77e17bba7985 not-for-merge 'refs/pull/297/head' of https://github.com/apple/swift-openapi-generator +916b77f3ac8a6c1d899c445a558586d1ae19d797 not-for-merge 'refs/pull/298/head' of https://github.com/apple/swift-openapi-generator +d19e0bfa182fefd91259f95926b6f5d547857b40 not-for-merge 'refs/pull/3/head' of https://github.com/apple/swift-openapi-generator +a5f268116849ccb7f5f2edc642f1f65bb178651f not-for-merge 'refs/pull/300/head' of https://github.com/apple/swift-openapi-generator +6dc95c7a38269399b701a2b113bac36cdb27c2f2 not-for-merge 'refs/pull/303/head' of https://github.com/apple/swift-openapi-generator +0905ce001f665f8e696187be1a017fc6c8962a58 not-for-merge 'refs/pull/308/head' of https://github.com/apple/swift-openapi-generator +43167a275729763ff5bd234a6b9ef7bda55d0126 not-for-merge 'refs/pull/310/head' of https://github.com/apple/swift-openapi-generator +378b06ae486bc897e777509277c2504c8a875bf7 not-for-merge 'refs/pull/311/head' of https://github.com/apple/swift-openapi-generator +fcc3707e6fc99faea68e04dc8154a11671c1b8fd not-for-merge 'refs/pull/313/head' of https://github.com/apple/swift-openapi-generator +313bae08998a302033ea6f9c1c147ac5d75a872f not-for-merge 'refs/pull/314/head' of https://github.com/apple/swift-openapi-generator +df33169a32c2a1ad910ff6f9f3ad076f90033224 not-for-merge 'refs/pull/317/head' of https://github.com/apple/swift-openapi-generator +fc3574f702e4ede05818e55f9cd0019975102dcd not-for-merge 'refs/pull/319/head' of https://github.com/apple/swift-openapi-generator +905bfa75909fdf7b004df0d802c0cb66a50539c1 not-for-merge 'refs/pull/322/head' of https://github.com/apple/swift-openapi-generator +16d042d7f510b215a7c11acedf9d13aad38fab71 not-for-merge 'refs/pull/323/head' of https://github.com/apple/swift-openapi-generator +7ae6b5a7072736eea36999b7abf755a4f1cfc788 not-for-merge 'refs/pull/325/head' of https://github.com/apple/swift-openapi-generator +ab6dd25f141a6f70d4ab9359442da1424fb47077 not-for-merge 'refs/pull/326/head' of https://github.com/apple/swift-openapi-generator +57782e29a01c73b9f10bd073e5d38ea558cf1936 not-for-merge 'refs/pull/330/head' of https://github.com/apple/swift-openapi-generator +71834295a3b6fc84e8838d2a634cce258bfa2b8f not-for-merge 'refs/pull/331/head' of https://github.com/apple/swift-openapi-generator +14b9ec9ee35de57a6ea257e14cbf2cee459719ba not-for-merge 'refs/pull/334/head' of https://github.com/apple/swift-openapi-generator +727fdd5c06257bcfa792fc9546e9d375684433f1 not-for-merge 'refs/pull/335/head' of https://github.com/apple/swift-openapi-generator +eb7344a454fe592b9dcf6aab5bd9cfc0886c8d38 not-for-merge 'refs/pull/337/head' of https://github.com/apple/swift-openapi-generator +3986bc6ed7acbef75c84388e42b96996480c0fcd not-for-merge 'refs/pull/338/head' of https://github.com/apple/swift-openapi-generator +272f65b3815290165d44d12f66e2b72cd11d0ab3 not-for-merge 'refs/pull/339/head' of https://github.com/apple/swift-openapi-generator +37a763828af67487292e5c554ef6749b8fd69410 not-for-merge 'refs/pull/340/head' of https://github.com/apple/swift-openapi-generator +2f80e06c909ff7f21bd1503211968828c89968af not-for-merge 'refs/pull/343/head' of https://github.com/apple/swift-openapi-generator +193989e49c552c512ad6f39c601aa47aa4bbaa6f not-for-merge 'refs/pull/344/head' of https://github.com/apple/swift-openapi-generator +0dd1a4a146881d09eba22c1dc900b619e5543663 not-for-merge 'refs/pull/345/head' of https://github.com/apple/swift-openapi-generator +b71e986194c7b5e4f8b45301bd4e8857768b1870 not-for-merge 'refs/pull/346/head' of https://github.com/apple/swift-openapi-generator +fa91868884286059c94e53e4a4e23961abb11d87 not-for-merge 'refs/pull/347/head' of https://github.com/apple/swift-openapi-generator +5337b075bdf9200cef0a4bb1a35348dff9005725 not-for-merge 'refs/pull/348/head' of https://github.com/apple/swift-openapi-generator +414684b6ed563438414d48f8ad79eca4460ec029 not-for-merge 'refs/pull/349/head' of https://github.com/apple/swift-openapi-generator +5b275e190b367451f38df8ac483976dfa1ee7d28 not-for-merge 'refs/pull/350/head' of https://github.com/apple/swift-openapi-generator +39c7197fcda378cf2bf70a63028018e45cc58cc4 not-for-merge 'refs/pull/351/head' of https://github.com/apple/swift-openapi-generator +bb97d1b2fcf8c9c53550964efa07d5fd6e4ab045 not-for-merge 'refs/pull/352/head' of https://github.com/apple/swift-openapi-generator +e1d6e371988cc7c8f36b56122824168a87b03ddf not-for-merge 'refs/pull/353/head' of https://github.com/apple/swift-openapi-generator +16355908065796228c3311dc70fee15b3b821bc2 not-for-merge 'refs/pull/355/head' of https://github.com/apple/swift-openapi-generator +23e348edbd2c61bf2d2f7844bc50b4e4a50e169c not-for-merge 'refs/pull/356/head' of https://github.com/apple/swift-openapi-generator +04103d58342cfadd9e1c49b8849f905cd0202f08 not-for-merge 'refs/pull/357/head' of https://github.com/apple/swift-openapi-generator +0805fec9c0963b779de1722e793fe862d4432d6a not-for-merge 'refs/pull/359/head' of https://github.com/apple/swift-openapi-generator +af5e05c34179aed664b1d7e64807402aeb0c4659 not-for-merge 'refs/pull/361/head' of https://github.com/apple/swift-openapi-generator +bfdb4a851a5c45ab0dd73a9dc0231110ed4f1a55 not-for-merge 'refs/pull/362/head' of https://github.com/apple/swift-openapi-generator +ceb4ea965d611a5407af14a4d8a5c9b6e010c5e1 not-for-merge 'refs/pull/363/head' of https://github.com/apple/swift-openapi-generator +4c5767a946555a0471398084b6857201246c87c8 not-for-merge 'refs/pull/365/head' of https://github.com/apple/swift-openapi-generator +0e3ad45aef02638ba51a745fd68072b90fb0c9c7 not-for-merge 'refs/pull/366/head' of https://github.com/apple/swift-openapi-generator +5675f77b3e196690fba69d42dadbc5a2f14ed483 not-for-merge 'refs/pull/369/head' of https://github.com/apple/swift-openapi-generator +0414de8f3f1da66e72380e73aed5b18018ae54ce not-for-merge 'refs/pull/370/head' of https://github.com/apple/swift-openapi-generator +b565f8de827a2cf5606bc153f5049297b10e0b3b not-for-merge 'refs/pull/380/head' of https://github.com/apple/swift-openapi-generator +d3daf2cce3bb7a2e1f0080f708865d9cc04916a0 not-for-merge 'refs/pull/381/head' of https://github.com/apple/swift-openapi-generator +bd9b1996c282c62e86bd40c3cbd314dff5bcc939 not-for-merge 'refs/pull/384/head' of https://github.com/apple/swift-openapi-generator +b143565462d54a76e4629489a35d4d6ac1b25124 not-for-merge 'refs/pull/385/head' of https://github.com/apple/swift-openapi-generator +08aeb38c8ae0acb23f143ed62850edb917155bea not-for-merge 'refs/pull/391/head' of https://github.com/apple/swift-openapi-generator +6f0dc077c0c89322c5d61e319e50d108f75b5b02 not-for-merge 'refs/pull/393/head' of https://github.com/apple/swift-openapi-generator +26345f56fb86cfb49956ec0ab2ca28f12dbdd8b6 not-for-merge 'refs/pull/394/head' of https://github.com/apple/swift-openapi-generator +00408195e74825e15ed6b2342c93f6710b43f3ce not-for-merge 'refs/pull/395/head' of https://github.com/apple/swift-openapi-generator +1aaae4a98d4c38f70ff2d09b00e5a32da63decde not-for-merge 'refs/pull/396/head' of https://github.com/apple/swift-openapi-generator +cf35eda7640ae5b26263782c76314ec075ee38b2 not-for-merge 'refs/pull/398/head' of https://github.com/apple/swift-openapi-generator +bbdf1c5511c59c6c56495d947efec05954301d33 not-for-merge 'refs/pull/399/head' of https://github.com/apple/swift-openapi-generator +bbc564637d0f28738c2746597cc702e87efa3738 not-for-merge 'refs/pull/4/head' of https://github.com/apple/swift-openapi-generator +d62a96edadc493ecf966152cb10564ceff722623 not-for-merge 'refs/pull/400/head' of https://github.com/apple/swift-openapi-generator +b4c1002038f2ddb75292ec627d03f4a6ca8fe193 not-for-merge 'refs/pull/401/head' of https://github.com/apple/swift-openapi-generator +53098a355ce9d648877f9a899b6a1e8cb89a5550 not-for-merge 'refs/pull/404/head' of https://github.com/apple/swift-openapi-generator +07a1d43714d29621394b330583782360e35c890e not-for-merge 'refs/pull/408/head' of https://github.com/apple/swift-openapi-generator +6fdcdc5ee5266e04e0a6ac93fbeb18c83d7b7522 not-for-merge 'refs/pull/409/head' of https://github.com/apple/swift-openapi-generator +cce1bc5103b165308f0eb2955ec6ef9142c7ee71 not-for-merge 'refs/pull/411/head' of https://github.com/apple/swift-openapi-generator +de964af445482adad9d17ba9f7db8bc7d9b5e192 not-for-merge 'refs/pull/412/head' of https://github.com/apple/swift-openapi-generator +ca305fcbe9f3cdad1ce5889b9c89af5de575b738 not-for-merge 'refs/pull/413/head' of https://github.com/apple/swift-openapi-generator +47cc2297e387714d1cdefb62f00e82ed2c9ecc47 not-for-merge 'refs/pull/415/head' of https://github.com/apple/swift-openapi-generator +146b868a7d5fe551400138eac13e29f8b089befa not-for-merge 'refs/pull/418/head' of https://github.com/apple/swift-openapi-generator +f6205e6f663874712352bc078ac0821202f0afd9 not-for-merge 'refs/pull/420/head' of https://github.com/apple/swift-openapi-generator +19085aa2a22b485c90be64674512b3a78bf7c4cb not-for-merge 'refs/pull/421/head' of https://github.com/apple/swift-openapi-generator +dd7b532771f477601f6d48a78f5267d21564d564 not-for-merge 'refs/pull/422/head' of https://github.com/apple/swift-openapi-generator +2b009c638d63ec98c9439d4f47ce796b5bd40a39 not-for-merge 'refs/pull/426/head' of https://github.com/apple/swift-openapi-generator +ffe8af3ebd983c1a1e61cbbf35ac98afed8b4646 not-for-merge 'refs/pull/427/head' of https://github.com/apple/swift-openapi-generator +3738d5185637eff57324f9e870e2657474159c9e not-for-merge 'refs/pull/429/head' of https://github.com/apple/swift-openapi-generator +6a85d6c69f0a8ec91f1b2d4ff137e21b9b019b6c not-for-merge 'refs/pull/431/head' of https://github.com/apple/swift-openapi-generator +a100f73f01c4a745c3f9c529d97a16ba92a6b546 not-for-merge 'refs/pull/433/head' of https://github.com/apple/swift-openapi-generator +65e32693fb2eb2c0d9b453a8aa517057d0e3bdd3 not-for-merge 'refs/pull/434/head' of https://github.com/apple/swift-openapi-generator +7786db40927c9761284073e47fed0991185f828b not-for-merge 'refs/pull/435/head' of https://github.com/apple/swift-openapi-generator +7e8596d4687ef3e0a94708a676ace5b73bcb7f92 not-for-merge 'refs/pull/436/head' of https://github.com/apple/swift-openapi-generator +71b2567337476f268e81d9e04836d5a77e0b2ceb not-for-merge 'refs/pull/438/head' of https://github.com/apple/swift-openapi-generator +f7d3f614f2026fb35d7ef3943574fca1a7d9dcb6 not-for-merge 'refs/pull/439/head' of https://github.com/apple/swift-openapi-generator +731d61c38789c661fa9bf4cf7706665ca6f41c09 not-for-merge 'refs/pull/44/head' of https://github.com/apple/swift-openapi-generator +996b297e43624e8512756eef34f97c1aa5d87d76 not-for-merge 'refs/pull/440/head' of https://github.com/apple/swift-openapi-generator +5759957fdd8086778364cf81948009f4efaf401c not-for-merge 'refs/pull/441/head' of https://github.com/apple/swift-openapi-generator +e5c3b3272e5693374352497d6ee14e7cac609546 not-for-merge 'refs/pull/442/head' of https://github.com/apple/swift-openapi-generator +3ec57a78dee8db8c7c4131bc4358a2ac84f03dba not-for-merge 'refs/pull/443/head' of https://github.com/apple/swift-openapi-generator +fb4c01d39f68b6008a41638bdf9db50954fafbd4 not-for-merge 'refs/pull/445/head' of https://github.com/apple/swift-openapi-generator +978edfd3b4e780fe647a8d5982c94daec3cc49e6 not-for-merge 'refs/pull/446/head' of https://github.com/apple/swift-openapi-generator +ce09489092e40af65888aeb670ed5cf2e666d229 not-for-merge 'refs/pull/449/head' of https://github.com/apple/swift-openapi-generator +4c6501b5d24f0a9c26955b87f2c59860f572deee not-for-merge 'refs/pull/450/head' of https://github.com/apple/swift-openapi-generator +d77b4df800e413ea1572a9bee17cf06f5ac354da not-for-merge 'refs/pull/451/head' of https://github.com/apple/swift-openapi-generator +1090f40191e2c446b70daff1343140cc6ed03577 not-for-merge 'refs/pull/452/head' of https://github.com/apple/swift-openapi-generator +bd234d29bc95ebb9f43e8a84fe0c1c4ccad23d09 not-for-merge 'refs/pull/453/head' of https://github.com/apple/swift-openapi-generator +cc5ae1c69ec6fdd8615f6b876064d8e56a6fb564 not-for-merge 'refs/pull/456/head' of https://github.com/apple/swift-openapi-generator +133653918dd8270c311d5d270f7f2b6a73cbcd82 not-for-merge 'refs/pull/457/head' of https://github.com/apple/swift-openapi-generator +ae6da0d5d6a0c07289e6b3a76e773d788d56630a not-for-merge 'refs/pull/458/head' of https://github.com/apple/swift-openapi-generator +75b3119c0b947d62433de9761ef861f0a4fe260c not-for-merge 'refs/pull/459/head' of https://github.com/apple/swift-openapi-generator +22e19b5f61a95d1cf8faa52b176a938198c629c5 not-for-merge 'refs/pull/46/head' of https://github.com/apple/swift-openapi-generator +6e63c863c09fe306ee769b18821ad865eddb6961 not-for-merge 'refs/pull/463/head' of https://github.com/apple/swift-openapi-generator +000b61b753c7c8f214680cb249f56d88d9d71138 not-for-merge 'refs/pull/464/head' of https://github.com/apple/swift-openapi-generator +329e2a201a706280198a4096fd8fe725b191740e not-for-merge 'refs/pull/464/merge' of https://github.com/apple/swift-openapi-generator +31cf971dcff8a2af5947cff57c5d0c3ab4ad5a7c not-for-merge 'refs/pull/466/head' of https://github.com/apple/swift-openapi-generator +3aef5ed779b4e048b46be865f1356d3b4b96c235 not-for-merge 'refs/pull/467/head' of https://github.com/apple/swift-openapi-generator +6875f07915af0ecacaacf784d75d6348a6ed9347 not-for-merge 'refs/pull/468/head' of https://github.com/apple/swift-openapi-generator +69084953752b0137bafb07a2da6719d35b64130f not-for-merge 'refs/pull/469/head' of https://github.com/apple/swift-openapi-generator +c960a3fe381719db70b637e95eed91e7a3078c92 not-for-merge 'refs/pull/47/head' of https://github.com/apple/swift-openapi-generator +f66de7d110f011b0209b264bf9db72cac58ba658 not-for-merge 'refs/pull/471/head' of https://github.com/apple/swift-openapi-generator +99763b3e578ad1f46289bfcc1f81a381cc415c21 not-for-merge 'refs/pull/472/head' of https://github.com/apple/swift-openapi-generator +a52e268cb967300913267713ee55c7c7cd2b20fa not-for-merge 'refs/pull/473/head' of https://github.com/apple/swift-openapi-generator +7db80c9c9bbc751d3468d53fce3ded92b4c61104 not-for-merge 'refs/pull/477/head' of https://github.com/apple/swift-openapi-generator +579eb94e88d3f501f2805d2094f9eaf52a1600ba not-for-merge 'refs/pull/478/head' of https://github.com/apple/swift-openapi-generator +a2821f02ffb58445185d1a6fb0642f86fa30c29d not-for-merge 'refs/pull/479/head' of https://github.com/apple/swift-openapi-generator +a9c48f7275fada302ca496c2ec92ea7163f0341b not-for-merge 'refs/pull/48/head' of https://github.com/apple/swift-openapi-generator +beeddc1a35cf81b299c7b06719c235cc500cdf2d not-for-merge 'refs/pull/480/head' of https://github.com/apple/swift-openapi-generator +65c1853258b81164e7d789193cecabae038ea518 not-for-merge 'refs/pull/481/head' of https://github.com/apple/swift-openapi-generator +5b0a59c4a4c7d64a181ddc75cd1903cfd0e8d228 not-for-merge 'refs/pull/483/head' of https://github.com/apple/swift-openapi-generator +f9aaa60f26ca2298c98473f571e96c4933fd8421 not-for-merge 'refs/pull/484/head' of https://github.com/apple/swift-openapi-generator +9708029fd407327782558c1e6165948ba279464e not-for-merge 'refs/pull/485/head' of https://github.com/apple/swift-openapi-generator +f2b0f054fb220b9af17d44a85d835f74a7012378 not-for-merge 'refs/pull/486/head' of https://github.com/apple/swift-openapi-generator +8073bee16a787fd5b5934077313a0928c82706dd not-for-merge 'refs/pull/487/head' of https://github.com/apple/swift-openapi-generator +eafa9c29a88882b5ce19d1974bf16de6a39a4f33 not-for-merge 'refs/pull/488/head' of https://github.com/apple/swift-openapi-generator +bdbc03eaf11aa258ee0a20816d2a75b8e294e840 not-for-merge 'refs/pull/489/head' of https://github.com/apple/swift-openapi-generator +3fd97cd1e9cd5a8ad3ff90335f1b01f9b2627222 not-for-merge 'refs/pull/49/head' of https://github.com/apple/swift-openapi-generator +7270ab8fad89d0f87066dcee076c6c808cafd0ba not-for-merge 'refs/pull/491/head' of https://github.com/apple/swift-openapi-generator +d274082836fa009e53824fb95a1373eafbfdc11e not-for-merge 'refs/pull/492/head' of https://github.com/apple/swift-openapi-generator +2e82dcfcc975a31dedd03d4d3d1feb439ae7f6ea not-for-merge 'refs/pull/494/head' of https://github.com/apple/swift-openapi-generator +778c6461fc1f876dfec146879a619641d52e786b not-for-merge 'refs/pull/495/head' of https://github.com/apple/swift-openapi-generator +5de5ca73f7525cad3e10483d9a9a8da9b2049c18 not-for-merge 'refs/pull/496/head' of https://github.com/apple/swift-openapi-generator +ed1e0ec9426360c8bda312ac6cbba9f8e16fcb7e not-for-merge 'refs/pull/50/head' of https://github.com/apple/swift-openapi-generator +f433793cdf12a73aebd355bd95245f8020fabec3 not-for-merge 'refs/pull/500/head' of https://github.com/apple/swift-openapi-generator +2cbc5a62bdf5943ce2d7aec4bc0ca6117e13486c not-for-merge 'refs/pull/506/head' of https://github.com/apple/swift-openapi-generator +4398cfba042dd6d6f6db54ba047698ea81689575 not-for-merge 'refs/pull/509/head' of https://github.com/apple/swift-openapi-generator +8deac428305739c2369daa1b29b5a74467272c55 not-for-merge 'refs/pull/510/head' of https://github.com/apple/swift-openapi-generator +6a98026199720b3e23b238248d4444bc065061b2 not-for-merge 'refs/pull/519/head' of https://github.com/apple/swift-openapi-generator +58bde7e259bab3e1c20e1374431c4edee1965173 not-for-merge 'refs/pull/524/head' of https://github.com/apple/swift-openapi-generator +ee5fb0864188f019cbeadd1370eede546c6fbf5e not-for-merge 'refs/pull/53/head' of https://github.com/apple/swift-openapi-generator +728fb0df2767c49b4e6d663aa062ea47923993ee not-for-merge 'refs/pull/536/head' of https://github.com/apple/swift-openapi-generator +2b60c14d690a7c82e56f54b138b609874d076371 not-for-merge 'refs/pull/538/head' of https://github.com/apple/swift-openapi-generator +6da16403c8bdf514ada4abe7abff24c19437ca02 not-for-merge 'refs/pull/538/merge' of https://github.com/apple/swift-openapi-generator +dfb8c111db16f034ccdb9ae0df2b5385d4c9a343 not-for-merge 'refs/pull/539/head' of https://github.com/apple/swift-openapi-generator +ab323d73113e652abc5b04b2aad83779a788de67 not-for-merge 'refs/pull/544/head' of https://github.com/apple/swift-openapi-generator +318c0a68c82310cdcad927db9f0d32e84793d4e6 not-for-merge 'refs/pull/55/head' of https://github.com/apple/swift-openapi-generator +0378c652e59b8ea5cc8960fe17933fb3bdb653de not-for-merge 'refs/pull/554/head' of https://github.com/apple/swift-openapi-generator +b99db29f08df7160027cc69de92b8062e74a1bca not-for-merge 'refs/pull/555/head' of https://github.com/apple/swift-openapi-generator +86cff2f16189488ba84f4b3d7dcb7000183a016e not-for-merge 'refs/pull/557/head' of https://github.com/apple/swift-openapi-generator +280af2efb7f1f74909da40c67a78bb5ff2bb63a8 not-for-merge 'refs/pull/557/merge' of https://github.com/apple/swift-openapi-generator +ddfd63df1d52f720f5e9c12a28f8cd7933151618 not-for-merge 'refs/pull/558/head' of https://github.com/apple/swift-openapi-generator +969a16285e93d21e533352a1a99f3efe11fe562e not-for-merge 'refs/pull/558/merge' of https://github.com/apple/swift-openapi-generator +127c11f0b62b4cbd53372d373b4430c3ce11774a not-for-merge 'refs/pull/559/head' of https://github.com/apple/swift-openapi-generator +6057cac594c81e7862f4ecd59d6cbffc9a95fc03 not-for-merge 'refs/pull/56/head' of https://github.com/apple/swift-openapi-generator +5cc55c09e722a4b8291b570ae699908d11a54aae not-for-merge 'refs/pull/561/head' of https://github.com/apple/swift-openapi-generator +57970b7e7bd6a0fd6bfc4734008242480a9368c0 not-for-merge 'refs/pull/58/head' of https://github.com/apple/swift-openapi-generator +fb69e33e60b0f286479abb44dcf9f512ffe046d8 not-for-merge 'refs/pull/583/head' of https://github.com/apple/swift-openapi-generator +c2500322f73ffb455a2882d07f70968a56986d24 not-for-merge 'refs/pull/585/head' of https://github.com/apple/swift-openapi-generator +d2f62cbbcb43e05230c2d1d0bb994e1e09389f64 not-for-merge 'refs/pull/587/head' of https://github.com/apple/swift-openapi-generator +14a9d7cb2bf4e751360e359bebdc96e7b7509020 not-for-merge 'refs/pull/588/head' of https://github.com/apple/swift-openapi-generator +c520840027a9f45b2ffd336b520fe3f93f721e23 not-for-merge 'refs/pull/589/head' of https://github.com/apple/swift-openapi-generator +f7e39aa445f3896ba6a9f1987f4cf624957cf8d0 not-for-merge 'refs/pull/59/head' of https://github.com/apple/swift-openapi-generator +df9b035fa74590e2bf7fd2a6bf6e0b37fb77b701 not-for-merge 'refs/pull/590/head' of https://github.com/apple/swift-openapi-generator +9d7b6e89b7fa1296abce3db41d4e7648bed9792e not-for-merge 'refs/pull/591/head' of https://github.com/apple/swift-openapi-generator +05a7f6dff9f970e2a17dc1c722b91a383fadb2c9 not-for-merge 'refs/pull/592/head' of https://github.com/apple/swift-openapi-generator +9c4c41f90ba0c3e7cef08da5f4f25564ffe061ea not-for-merge 'refs/pull/593/head' of https://github.com/apple/swift-openapi-generator +9a49e805451115f6efca5e4223d6ae0b9d46c452 not-for-merge 'refs/pull/593/merge' of https://github.com/apple/swift-openapi-generator +41a86c584e5079b478694b0551b10c461e117a04 not-for-merge 'refs/pull/595/head' of https://github.com/apple/swift-openapi-generator +8fa9b63b72c70841118ff622af8ed0fadb529c23 not-for-merge 'refs/pull/597/head' of https://github.com/apple/swift-openapi-generator +bd3c60b69d870f0dbf6efa4602f1f5065e58ab38 not-for-merge 'refs/pull/60/head' of https://github.com/apple/swift-openapi-generator +13399fbf6083a9ba18031f1e28e601514e644278 not-for-merge 'refs/pull/600/head' of https://github.com/apple/swift-openapi-generator +413ac87f76ddb1509ae9a15aff4fcfa7ebd966b0 not-for-merge 'refs/pull/602/head' of https://github.com/apple/swift-openapi-generator +12d4c5f1585bb5bfb17cfddf4944770255143fb4 not-for-merge 'refs/pull/603/head' of https://github.com/apple/swift-openapi-generator +c2ad338a5aa15bfc1c1d3e179866b5f54e5d2388 not-for-merge 'refs/pull/604/head' of https://github.com/apple/swift-openapi-generator +c9fdec84d9f4efda09312552840e6599ad0e76a3 not-for-merge 'refs/pull/607/head' of https://github.com/apple/swift-openapi-generator +f7fcfe289770fed0ebdd940b6da13a87ce8b21f3 not-for-merge 'refs/pull/618/head' of https://github.com/apple/swift-openapi-generator +b0ac17ef4d8c9102e4461a7f297ba67a2aa2694b not-for-merge 'refs/pull/619/head' of https://github.com/apple/swift-openapi-generator +55bc9c778f8087e8019d972dbe13961648dcb60b not-for-merge 'refs/pull/625/head' of https://github.com/apple/swift-openapi-generator +42d625957acb105d6341c71945547ac4c681362d not-for-merge 'refs/pull/626/head' of https://github.com/apple/swift-openapi-generator +e96c3419fef32af13559e18020bd6baa9dd43e59 not-for-merge 'refs/pull/627/head' of https://github.com/apple/swift-openapi-generator +b7e65b2c9836c6e54ba1f36cfffbf19b0d6dc016 not-for-merge 'refs/pull/627/merge' of https://github.com/apple/swift-openapi-generator +aea0246f50edea33a27b106527e97484af270694 not-for-merge 'refs/pull/629/head' of https://github.com/apple/swift-openapi-generator +2e6973775290a4aae30d803678013357aa7ff154 not-for-merge 'refs/pull/63/head' of https://github.com/apple/swift-openapi-generator +ce76ec6c379ae36c8693958d1233f2329781aaa5 not-for-merge 'refs/pull/630/head' of https://github.com/apple/swift-openapi-generator +07c0e06280ac49551f362bbe4ef35e1f3298d4a6 not-for-merge 'refs/pull/632/head' of https://github.com/apple/swift-openapi-generator +c9923cbc0af30eea69f795a55efbff89f07183a6 not-for-merge 'refs/pull/633/head' of https://github.com/apple/swift-openapi-generator +b32cc049d59bd407d35438bd25762724a387a543 not-for-merge 'refs/pull/635/head' of https://github.com/apple/swift-openapi-generator +8861c6ba799b899c1ea61bb4df3b4616aef8a08e not-for-merge 'refs/pull/635/merge' of https://github.com/apple/swift-openapi-generator +06df319561cf113574b09e22dcd55bbdcc7efc03 not-for-merge 'refs/pull/636/head' of https://github.com/apple/swift-openapi-generator +3fd282b0d0cbf7cc305c50d302948dda2d802aed not-for-merge 'refs/pull/638/head' of https://github.com/apple/swift-openapi-generator +3ba44b2eb49e6cb6c23fc172f25ee522032213d0 not-for-merge 'refs/pull/639/head' of https://github.com/apple/swift-openapi-generator +7ad5ad69bb1212970b4f1927dc5afffe709dbc22 not-for-merge 'refs/pull/640/head' of https://github.com/apple/swift-openapi-generator +ba54fcec635f370e3991aba5d283a3ec89ff08bc not-for-merge 'refs/pull/641/head' of https://github.com/apple/swift-openapi-generator +895790259dc833df7a4d01a4362f3f1fc0363d98 not-for-merge 'refs/pull/642/head' of https://github.com/apple/swift-openapi-generator +1271f67547b6dc700fd1a8768ef70ef8ba642dbd not-for-merge 'refs/pull/643/head' of https://github.com/apple/swift-openapi-generator +14917d4ceaaad0601df496331188777c26bc1cf3 not-for-merge 'refs/pull/643/merge' of https://github.com/apple/swift-openapi-generator +60f1c75e106319675a01dbe2d8dcb815de666cff not-for-merge 'refs/pull/646/head' of https://github.com/apple/swift-openapi-generator +af07ce1f15b1b4a51641b51f6fdd70965cc1f90b not-for-merge 'refs/pull/647/head' of https://github.com/apple/swift-openapi-generator +e1a730ede6e6fd31425cce451f0bd33ca80309be not-for-merge 'refs/pull/648/head' of https://github.com/apple/swift-openapi-generator +381019519f1edde78bad11eb6d5d3be4609661e9 not-for-merge 'refs/pull/649/head' of https://github.com/apple/swift-openapi-generator +9c3939911103b29d897ec794c47911a9afc37208 not-for-merge 'refs/pull/649/merge' of https://github.com/apple/swift-openapi-generator +c8bd8e8a5b05acac3aadf7ec62f9d856a7750eaa not-for-merge 'refs/pull/650/head' of https://github.com/apple/swift-openapi-generator +39665375ad2d574bc66882696264e5fe14cccf6a not-for-merge 'refs/pull/652/head' of https://github.com/apple/swift-openapi-generator +9c1bb697fd602ed8e7966999ad310ad5f48f00cf not-for-merge 'refs/pull/653/head' of https://github.com/apple/swift-openapi-generator +730a60980c0af0a5257a459e14f8281f2243d95a not-for-merge 'refs/pull/654/head' of https://github.com/apple/swift-openapi-generator +4452d7c3be927bf74f35594c60c67b68bac5a5b1 not-for-merge 'refs/pull/656/head' of https://github.com/apple/swift-openapi-generator +e8c6a9b0c69aa066f7cf05408e1416d8215eba89 not-for-merge 'refs/pull/657/head' of https://github.com/apple/swift-openapi-generator +7fa14942becc2b251021509abeba68f3bd159afb not-for-merge 'refs/pull/658/head' of https://github.com/apple/swift-openapi-generator +f933fb9a7c6de764d86d03817b1ba1716679c3f2 not-for-merge 'refs/pull/659/head' of https://github.com/apple/swift-openapi-generator +e2d9e68a2cdcbf0c4e0b9ed55bf940f764dd2246 not-for-merge 'refs/pull/659/merge' of https://github.com/apple/swift-openapi-generator +3c25938e9841fa71344a64e4934fb3b09033fd02 not-for-merge 'refs/pull/662/head' of https://github.com/apple/swift-openapi-generator +20c58cb35e3e36bceb1f4d63940312aa951b8e28 not-for-merge 'refs/pull/664/head' of https://github.com/apple/swift-openapi-generator +a40a8d3e5bd887a3795da873f24299589604fdf6 not-for-merge 'refs/pull/664/merge' of https://github.com/apple/swift-openapi-generator +049854f8ce634b9360281c978a19bab575368159 not-for-merge 'refs/pull/665/head' of https://github.com/apple/swift-openapi-generator +1c09aedd4a4f8e736163f674ef2a6b3fe547edd0 not-for-merge 'refs/pull/67/head' of https://github.com/apple/swift-openapi-generator +0254f36e929591b5437eb700ac5190424ded691d not-for-merge 'refs/pull/670/head' of https://github.com/apple/swift-openapi-generator +3e5a839268d939fac4d3b26d0f3a9e3ff2596f8f not-for-merge 'refs/pull/671/head' of https://github.com/apple/swift-openapi-generator +a69d1c9c6287def688e1a8463cc98b9000571b2f not-for-merge 'refs/pull/672/head' of https://github.com/apple/swift-openapi-generator +0b6147b89d233cc05316e3ff4de4c4c49ba86e5e not-for-merge 'refs/pull/674/head' of https://github.com/apple/swift-openapi-generator +c67fa6413f7013c0e1e4bad465af142bb213d7e5 not-for-merge 'refs/pull/678/head' of https://github.com/apple/swift-openapi-generator +6763372a22fabb218a6ffa5c2e77d9a405a9fd2b not-for-merge 'refs/pull/679/head' of https://github.com/apple/swift-openapi-generator +82c56b3b1224c2f95847f77f906771153b84da25 not-for-merge 'refs/pull/68/head' of https://github.com/apple/swift-openapi-generator +b13a04e9510cce0cb80fdbc1d6ecd0db57911373 not-for-merge 'refs/pull/681/head' of https://github.com/apple/swift-openapi-generator +64c26098eb9722dc761b493748dcc6049b3c194a not-for-merge 'refs/pull/683/head' of https://github.com/apple/swift-openapi-generator +ec6e46d43b37edbd204dab0e01f59be3cb675bd4 not-for-merge 'refs/pull/684/head' of https://github.com/apple/swift-openapi-generator +6cb80934b840009148d84bca96bba45966a0b629 not-for-merge 'refs/pull/686/head' of https://github.com/apple/swift-openapi-generator +5d5638da28bbee14ce6fc9b89bb12071729584d9 not-for-merge 'refs/pull/688/head' of https://github.com/apple/swift-openapi-generator +d2001a265243a09bcadf4b00031c6b21f5d0caf9 not-for-merge 'refs/pull/69/head' of https://github.com/apple/swift-openapi-generator +c03989aa8d9791036af397dc0564054d69586eb4 not-for-merge 'refs/pull/694/head' of https://github.com/apple/swift-openapi-generator +f432b58704e8eea09300fc888e9c9e976a95832f not-for-merge 'refs/pull/696/head' of https://github.com/apple/swift-openapi-generator +ec168e41797e6c46d79cc54077ae43d867448549 not-for-merge 'refs/pull/697/head' of https://github.com/apple/swift-openapi-generator +951372aa89b991ae9e9969de7be9423e6f71b34c not-for-merge 'refs/pull/698/head' of https://github.com/apple/swift-openapi-generator +dc021d01fd26a8df8bb85d444cbb1a7e4a98d0ea not-for-merge 'refs/pull/699/head' of https://github.com/apple/swift-openapi-generator +f557fa9b2550a3be4905439aa8868cd5a455fae0 not-for-merge 'refs/pull/700/head' of https://github.com/apple/swift-openapi-generator +c9fd71ec9a76fba42c4515ed6953034f59ccaf23 not-for-merge 'refs/pull/703/head' of https://github.com/apple/swift-openapi-generator +5c6ff085c95016f68012f457f930bbdb2e73dcf4 not-for-merge 'refs/pull/704/head' of https://github.com/apple/swift-openapi-generator +9135e4cb1da0521c9d51350ee744b6669b838b58 not-for-merge 'refs/pull/705/head' of https://github.com/apple/swift-openapi-generator +6e08306d605b183374d20788009e12af0e7b79ce not-for-merge 'refs/pull/706/head' of https://github.com/apple/swift-openapi-generator +25a0433daf599c900e4c0a7043dd63afedccc400 not-for-merge 'refs/pull/708/head' of https://github.com/apple/swift-openapi-generator +2c54d600960b189211ab4ce2b3696aee1930ecc6 not-for-merge 'refs/pull/709/head' of https://github.com/apple/swift-openapi-generator +b2018c49e8d06d80c4d73b8731d5105024ee8edc not-for-merge 'refs/pull/713/head' of https://github.com/apple/swift-openapi-generator +45fd483476c1a978439f50eb682e12ac9769a509 not-for-merge 'refs/pull/714/head' of https://github.com/apple/swift-openapi-generator +0c4d749208826bb3d2e318a77bbf6ccdd351468a not-for-merge 'refs/pull/722/head' of https://github.com/apple/swift-openapi-generator +4709d50ba0827affe34bf8964a54aacf959622fc not-for-merge 'refs/pull/723/head' of https://github.com/apple/swift-openapi-generator +ff8f75d9c1a6c020f1277b7550534a7a17165885 not-for-merge 'refs/pull/725/head' of https://github.com/apple/swift-openapi-generator +efd55cb93b6648261b18d9121d42068eceb5b275 not-for-merge 'refs/pull/73/head' of https://github.com/apple/swift-openapi-generator +b9db8820b1dff5cd2e12c63e9dd0549e25f5cc4a not-for-merge 'refs/pull/731/head' of https://github.com/apple/swift-openapi-generator +cbd777f104c84ffe0f2b8e54dd8a712c72f9c326 not-for-merge 'refs/pull/733/head' of https://github.com/apple/swift-openapi-generator +28e427a8995a8b522cf9e42ae3b6763340314302 not-for-merge 'refs/pull/733/merge' of https://github.com/apple/swift-openapi-generator +da821c4e52cf99e4de195bc2ba4548a343089487 not-for-merge 'refs/pull/734/head' of https://github.com/apple/swift-openapi-generator +b9266f7bafcb66d81384f8f22314c68a0105783f not-for-merge 'refs/pull/734/merge' of https://github.com/apple/swift-openapi-generator +f5ecb980bad37bd07181f2447efe3bce9055feaf not-for-merge 'refs/pull/737/head' of https://github.com/apple/swift-openapi-generator +77c0a520b916c18634d640e9741ab734a4c0d461 not-for-merge 'refs/pull/74/head' of https://github.com/apple/swift-openapi-generator +852a29f1718c6372eecb27d3b2a4603301bdeb25 not-for-merge 'refs/pull/740/head' of https://github.com/apple/swift-openapi-generator +019fc708c16ead8d9fae2ae3e87a6f0661cc7b75 not-for-merge 'refs/pull/742/head' of https://github.com/apple/swift-openapi-generator +bed2ae78ac31d0f93169e024be898ad506a0a66c not-for-merge 'refs/pull/745/head' of https://github.com/apple/swift-openapi-generator +ed3eff68df9ef26ccd3f56ee9fae1a71cabffee9 not-for-merge 'refs/pull/745/merge' of https://github.com/apple/swift-openapi-generator +c2f6906b8bbf61adc8a2d8db6c29a7b105f450e6 not-for-merge 'refs/pull/750/head' of https://github.com/apple/swift-openapi-generator +de0d5ed9a3967ff31e95b8e9c997d469fb85ef95 not-for-merge 'refs/pull/751/head' of https://github.com/apple/swift-openapi-generator +f332998caa25fa0a963d878bddf15ea6afcf047c not-for-merge 'refs/pull/752/head' of https://github.com/apple/swift-openapi-generator +a294523aad8e2b41e497cce3b4cfc145596e3b1d not-for-merge 'refs/pull/753/head' of https://github.com/apple/swift-openapi-generator +e805933946ec11b935445f2db827823e371bf39b not-for-merge 'refs/pull/754/head' of https://github.com/apple/swift-openapi-generator +46582092b2710a140c8567e2c9992581f018ea0d not-for-merge 'refs/pull/758/head' of https://github.com/apple/swift-openapi-generator +8e148adfe387d96b409e36a7f20f74e6a923e05b not-for-merge 'refs/pull/759/head' of https://github.com/apple/swift-openapi-generator +319c622dc2d6cb4754d244cdf750fc306b2783bc not-for-merge 'refs/pull/76/head' of https://github.com/apple/swift-openapi-generator +7e688b2064c0f48a9c12c3c524746730bb185450 not-for-merge 'refs/pull/760/head' of https://github.com/apple/swift-openapi-generator +aa7af37b45bbc32eef1186a7cbb499fc86fd9937 not-for-merge 'refs/pull/761/head' of https://github.com/apple/swift-openapi-generator +c5ffb75afd88651dfe07a1463ad982ceff16d936 not-for-merge 'refs/pull/763/head' of https://github.com/apple/swift-openapi-generator +b2ea3fe2745295b15cd0f1bf7032db6b319ce1e3 not-for-merge 'refs/pull/764/head' of https://github.com/apple/swift-openapi-generator +5117034ebebe598bc4d68559ea52ffba2fa20344 not-for-merge 'refs/pull/764/merge' of https://github.com/apple/swift-openapi-generator +3a75ac1ef321a4bdd4bfd08515fff7f987cfe478 not-for-merge 'refs/pull/765/head' of https://github.com/apple/swift-openapi-generator +8ccac432035fee5495b6e62b4aa10b9145e52f0a not-for-merge 'refs/pull/77/head' of https://github.com/apple/swift-openapi-generator +51360a36639475d5077398bcb3c86d08b0cc5054 not-for-merge 'refs/pull/770/head' of https://github.com/apple/swift-openapi-generator +0964f1caf361552904dca9178c9e8324c3a53a35 not-for-merge 'refs/pull/773/head' of https://github.com/apple/swift-openapi-generator +fa0154547372837ce64ac7a359d6adbbbdeecf3c not-for-merge 'refs/pull/774/head' of https://github.com/apple/swift-openapi-generator +a01a845889baf83897445df3e1b48e91595db7da not-for-merge 'refs/pull/774/merge' of https://github.com/apple/swift-openapi-generator +bb7b17593a3ea1f73d70337cb58bb4f8624c9779 not-for-merge 'refs/pull/775/head' of https://github.com/apple/swift-openapi-generator +f6649614a0720fca007a5dbe9f572a31a41d3e23 not-for-merge 'refs/pull/775/merge' of https://github.com/apple/swift-openapi-generator +e135e43785e41ad8dc82fd7a171f6bbad4999624 not-for-merge 'refs/pull/80/head' of https://github.com/apple/swift-openapi-generator +a06e2fd1eb6952ae46a5cf7f003bbb3f70a2b33a not-for-merge 'refs/pull/81/head' of https://github.com/apple/swift-openapi-generator +667953e8bcaa78e5f871cf9b95360e2286343b37 not-for-merge 'refs/pull/85/head' of https://github.com/apple/swift-openapi-generator +8da21f9141ced903edb89ff6dbf19d0149024668 not-for-merge 'refs/pull/87/head' of https://github.com/apple/swift-openapi-generator +297bd8258dfef89ff888ce16b8bf78a5a6d45532 not-for-merge 'refs/pull/88/head' of https://github.com/apple/swift-openapi-generator +ed7afc6efbdc0b98cf6a0357fb960b3470c58a85 not-for-merge 'refs/pull/89/head' of https://github.com/apple/swift-openapi-generator +e4dc0ff656b17187e26f2d58e3d7ffdc4867ec02 not-for-merge 'refs/pull/90/head' of https://github.com/apple/swift-openapi-generator +0a5c6ba1bed22e802adba839d4ce162ff9e8ae44 not-for-merge 'refs/pull/91/head' of https://github.com/apple/swift-openapi-generator +234770eeea93672f0ee171defdd7077c5395eb11 not-for-merge 'refs/pull/92/head' of https://github.com/apple/swift-openapi-generator +dd931ec77c5124e1ebf00cf6560166021e5e37f3 not-for-merge 'refs/pull/93/head' of https://github.com/apple/swift-openapi-generator +4b31aa9ce81d20aacaba23fb729d93bb02b4b00f not-for-merge 'refs/pull/95/head' of https://github.com/apple/swift-openapi-generator +e0375651cae54bdde2aec250214ae284dad42170 not-for-merge 'refs/pull/96/head' of https://github.com/apple/swift-openapi-generator +a611ae23b4a068e870ff916ffe5a6976e8eb5b74 not-for-merge 'refs/pull/98/head' of https://github.com/apple/swift-openapi-generator +4d3a5129bcec3e912090eb1253c79ad8ff7ea8b1 not-for-merge 'refs/pull/99/head' of https://github.com/apple/swift-openapi-generator +924814b4d49008ab6637ea8d5eb7b08a78bb1ae5 not-for-merge tag '0.1.0' of https://github.com/apple/swift-openapi-generator +02924d14e50abe750a6bd194f2d652d0bd7ad60d not-for-merge tag '0.1.1' of https://github.com/apple/swift-openapi-generator +3b128349cb337b7f3dc5ca01277208160283a6f2 not-for-merge tag '0.1.10' of https://github.com/apple/swift-openapi-generator +640a58ce700e4b31dc7af307f914fbfd58262f47 not-for-merge tag '0.1.11' of https://github.com/apple/swift-openapi-generator +cf8e4374b5a05c2b4c8ca0c056a4dc29eff04541 not-for-merge tag '0.1.12' of https://github.com/apple/swift-openapi-generator +7ddef95a852300d82bfce9a1befb1e9feac7d156 not-for-merge tag '0.1.13' of https://github.com/apple/swift-openapi-generator +f530c906215528a7450fc7602b9f93d9236eb4c0 not-for-merge tag '0.1.2' of https://github.com/apple/swift-openapi-generator +1c07b5d805dec7f0e12d402d3da3413d59309bb6 not-for-merge tag '0.1.3' of https://github.com/apple/swift-openapi-generator +89b9d7b25be43772410b932b0146073aa01ea77a not-for-merge tag '0.1.4' of https://github.com/apple/swift-openapi-generator +31bb51799533e99e77fda5eef681571b975a39b5 not-for-merge tag '0.1.5' of https://github.com/apple/swift-openapi-generator +c181ed728f200af6c01d8412d7f0cba757d39ca7 not-for-merge tag '0.1.6' of https://github.com/apple/swift-openapi-generator +cb41d40414ed569aa238a33f37b31b637c709bbf not-for-merge tag '0.1.7' of https://github.com/apple/swift-openapi-generator +0ae57b9d3728b288fa8d917ffb8cbda55b2598ea not-for-merge tag '0.1.8' of https://github.com/apple/swift-openapi-generator +722c1ab2e011789412b10af15d9715ad725a21f6 not-for-merge tag '0.1.9' of https://github.com/apple/swift-openapi-generator +af2ab82fd6eaf27bb4cfaadedae32e41de5a1757 not-for-merge tag '0.2.0' of https://github.com/apple/swift-openapi-generator +99e31020c8654d72418f9033468ae496e3d0c21e not-for-merge tag '0.2.1' of https://github.com/apple/swift-openapi-generator +7da0f96bba4f40bec50273723e586c77f6323d6b not-for-merge tag '0.2.2' of https://github.com/apple/swift-openapi-generator +df985d77e98949d7913b798b8f9f8be10db4d704 not-for-merge tag '0.2.3' of https://github.com/apple/swift-openapi-generator +a919c658374bbe29e41104384eeeaf073cf27bf2 not-for-merge tag '0.3.0' of https://github.com/apple/swift-openapi-generator +c67892ab4a0c115c1c8703ca38a19ebe084c03ea not-for-merge tag '0.3.1' of https://github.com/apple/swift-openapi-generator +dfdbd72ade44a4bfc0e484c888967164b50cc19a not-for-merge tag '0.3.2' of https://github.com/apple/swift-openapi-generator +9e62a21c5cd08f7d2485f4d5c8c7337dee17546c not-for-merge tag '0.3.3' of https://github.com/apple/swift-openapi-generator +d2ead56bf9d241d8fb34a7728981964e433682a1 not-for-merge tag '0.3.4' of https://github.com/apple/swift-openapi-generator +7f6baf7227c897f09bad0252cccac2cd57202383 not-for-merge tag '0.3.5' of https://github.com/apple/swift-openapi-generator +81ea611369539630d9b8b7f1a3cbcfe8d338fabb not-for-merge tag '1.0.0' of https://github.com/apple/swift-openapi-generator +e30691e5d3613994b04b142df5c52158d066b0bb not-for-merge tag '1.0.0-alpha.1' of https://github.com/apple/swift-openapi-generator +76994bfc77061c6cfa3b82415613a9dfbfb47f28 not-for-merge tag '1.1.0' of https://github.com/apple/swift-openapi-generator +b18becec9d33b8a23d6252b47bb6bf1d45304244 not-for-merge tag '1.2.0' of https://github.com/apple/swift-openapi-generator +7992d77065f2787e7651cf6d9be9b99ad38f5166 not-for-merge tag '1.2.1' of https://github.com/apple/swift-openapi-generator +99859083e53912612b56b4b8713a971c20dab3ef not-for-merge tag '1.3.0' of https://github.com/apple/swift-openapi-generator +d5f6a6abf18549c8bae6526bf2c9d5773269c570 not-for-merge tag '1.3.1' of https://github.com/apple/swift-openapi-generator +9727261219af435e7e668b8813187e9bf5d61927 not-for-merge tag '1.4.0' of https://github.com/apple/swift-openapi-generator +e971af5c5374e4ea83c20d0ad0a0df2cc84d39ad not-for-merge tag '1.5.0' of https://github.com/apple/swift-openapi-generator +2e1b6fced9097cf3093591bace7a89fd5519e051 not-for-merge tag '1.5.1' of https://github.com/apple/swift-openapi-generator +ad7f0e73246f5083733dbc025097fcdf0fbee2a1 not-for-merge tag '1.6.0' of https://github.com/apple/swift-openapi-generator +84b693f9d0559dc488e691edb4837bafbce2aaea not-for-merge tag '1.7.0' of https://github.com/apple/swift-openapi-generator +755c0ec69bd667aa4e8ba50c8b710585d302879e not-for-merge tag '1.7.1' of https://github.com/apple/swift-openapi-generator +02cab48b66b4b412013827c2938adaf0eb67dc8d not-for-merge tag '1.7.2' of https://github.com/apple/swift-openapi-generator +09ed6c489f88d06228a404a0313adeea743e6cad not-for-merge tag '1.8.0' of https://github.com/apple/swift-openapi-generator diff --git a/.build/repositories/swift-openapi-generator-d5abee00/HEAD b/.build/repositories/swift-openapi-generator-d5abee00/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-openapi-generator-d5abee00/config b/.build/repositories/swift-openapi-generator-d5abee00/config new file mode 100644 index 0000000..6836621 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/config @@ -0,0 +1,10 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true +[remote "origin"] + url = https://github.com/apple/swift-openapi-generator.git + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-openapi-generator-d5abee00/description b/.build/repositories/swift-openapi-generator-d5abee00/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/applypatch-msg.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/commit-msg.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/post-update.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-applypatch.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-commit.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-merge-commit.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-push.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-rebase.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-receive.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/prepare-commit-msg.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-openapi-generator-d5abee00/hooks/push-to-checkout.sample b/.build/repositories/swift-openapi-generator-d5abee00/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-openapi-generator-d5abee00/info/exclude b/.build/repositories/swift-openapi-generator-d5abee00/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-openapi-generator-d5abee00/objects/pack/pack-79f9938f0c6d25a87000f8c7f41fe9593e513584.idx b/.build/repositories/swift-openapi-generator-d5abee00/objects/pack/pack-79f9938f0c6d25a87000f8c7f41fe9593e513584.idx new file mode 100644 index 0000000..3bad015 Binary files /dev/null and b/.build/repositories/swift-openapi-generator-d5abee00/objects/pack/pack-79f9938f0c6d25a87000f8c7f41fe9593e513584.idx differ diff --git a/.build/repositories/swift-openapi-generator-d5abee00/objects/pack/pack-79f9938f0c6d25a87000f8c7f41fe9593e513584.pack b/.build/repositories/swift-openapi-generator-d5abee00/objects/pack/pack-79f9938f0c6d25a87000f8c7f41fe9593e513584.pack new file mode 100644 index 0000000..e79ddb3 Binary files /dev/null and b/.build/repositories/swift-openapi-generator-d5abee00/objects/pack/pack-79f9938f0c6d25a87000f8c7f41fe9593e513584.pack differ diff --git a/.build/repositories/swift-openapi-generator-d5abee00/packed-refs b/.build/repositories/swift-openapi-generator-d5abee00/packed-refs new file mode 100644 index 0000000..f5b6863 --- /dev/null +++ b/.build/repositories/swift-openapi-generator-d5abee00/packed-refs @@ -0,0 +1,432 @@ +# pack-refs with: peeled fully-peeled sorted +9d7b6e89b7fa1296abce3db41d4e7648bed9792e refs/heads/fb-gha-license-check +09ed6c489f88d06228a404a0313adeea743e6cad refs/heads/main +8cd55120aca9115fc9f0ed2b8121296f18d499a0 refs/pull/1/head +104b0269491a14cb27427a016521fea20d4bbe43 refs/pull/100/head +4b18a2b1a59de9e0cd31256d49e213b4c2721ccb refs/pull/103/head +16b5dc775da034a312a89179797cd0cfd4238652 refs/pull/108/head +0cb93a97282bc73188e598228d99b239743cdcbf refs/pull/109/head +c6644131dc40137acc7dbf2dcf18d58652e3a299 refs/pull/110/head +5d07fa2f6fe99c0e93af2a46253d1cac2a7b3be7 refs/pull/111/head +df2f1675ebb755643882dfec3a78b25bd81a2647 refs/pull/121/head +5f7b3a4f9db5553e1eea84d22fc4d62f69471705 refs/pull/122/head +3c957d228f3e3d3e58f097e8e5a441e17d616b3e refs/pull/123/head +3a88eb6463969c2cd4bf6e1138273e7409ed2f3a refs/pull/126/head +0f1441b8f0c0669ce2ddaa359bb43606fa39b5d9 refs/pull/130/head +756df29772256070cbe48fa707a11e12acde15af refs/pull/137/head +d81bd94eeb6c99b4a382b44ab90bdff3aea445ea refs/pull/139/head +b6882a43e86fced93477d8c6d2fc26804138a15c refs/pull/140/head +51a60f4f6b2f9576db6511405e4427a1dbbd5195 refs/pull/141/head +4555f8e998b24aa65a462a63828d9195c50dcc23 refs/pull/146/head +2a10248b9e88e040f803ecfae068dcad6879e13f refs/pull/147/head +e0544884685de7e69c352517c8a77c228998b396 refs/pull/148/head +f716e956b7107bc750af2276b450e3cf05eab065 refs/pull/150/head +c56d2ecb0c68708d60bded6855e2c96d6c0df97a refs/pull/152/head +0975cb009f223fb0ea9384376ec5f2b58f42be6f refs/pull/153/head +14e603f21658ff4442af32b052572ca06b8c681a refs/pull/154/head +cd9074ba6bcb6828e4e1660ea4e275f4b2aa2e7c refs/pull/155/head +3d47d495ff7c61844f1c794c78cb16010482bc2d refs/pull/156/head +c1238f93ce87a22ef5d261141c7d17b71014aea8 refs/pull/157/head +041bfb51122f8b47be8da394d740c29de362f83e refs/pull/159/head +94094a02da359dada035f5fada64f0f1fd5c3894 refs/pull/161/head +0acf2b3abfc9adf51ae9e08427fd3232d0a2ebd9 refs/pull/162/head +8544a2e87e5046f9bd92fd33ecc996309630e3f2 refs/pull/164/head +49c56b82d97ff31d86d27d455e69c86d83666e8d refs/pull/166/head +d5264b62aceeddea63b2d59cc1517f2142a1b53c refs/pull/167/head +e74848b7906706a3d414eb3f84bdae577a8f4685 refs/pull/169/head +5041f0f13b0630d917dbf4c5a0122b2a876993eb refs/pull/170/head +ce9440dabf1d72940a57f552cf54f86167e26ff4 refs/pull/171/head +cd076256f750fc21410b1eca86be15c19461ac29 refs/pull/173/head +7417cb2e1361f398f91d467822107fc32159eb9b refs/pull/174/head +06c04e651cdc33522b9b04f2775ff966b5d9ad3b refs/pull/176/head +c0657b3c9d083e898957615372e2aace14335d58 refs/pull/178/head +6535e7ecf9b64877cbef2c06f66af54cc2aec5dd refs/pull/179/head +76b6475d885c2cfaf364695f38ab28a3328e3612 refs/pull/183/head +a09dfb33f8ef937e39a04eda4fec883bb72b220b refs/pull/184/head +2f961231a965ee0aa71e28e6400d5266f6013d05 refs/pull/185/head +184bbb7167d8ee8980867f065cd31c2011d6e1a0 refs/pull/187/head +92326389db361745a42574842b3406f18bfc1587 refs/pull/188/head +d8951ac707bae1be5af99c45cf1487d55d37ee8e refs/pull/189/head +b5352295cb72b823fa91cc461253839d980ae3e7 refs/pull/191/head +963b2172f1c95bfb08cc0c5bb33429cacf4df8c6 refs/pull/194/head +23350f54a5e101c99ca759696adec043b73ae3f3 refs/pull/195/head +7e797ff43c48536319efc1fffbc2c6e65080663c refs/pull/196/head +7168e04b77fa86eae19de58cdf9b74d6689852b4 refs/pull/198/head +accc45665b6a23c81e337a59d2f33c923a6268c1 refs/pull/2/head +a46b1e1e4ee114d735342bb5eb506606fc78ce4b refs/pull/200/head +972ac9ad6e6007cb8b99c694b883fe90134b31a8 refs/pull/201/head +77358f9153e349d68a3371a40affb993392dfbda refs/pull/205/head +b943198963371937a3ad1d0af6f8b6a4cd0a6ca9 refs/pull/208/head +49b311571445c1fe03f774c02211c649f6ce629d refs/pull/209/head +44ba30952875f797c4f8c96fc0369d1636abb02a refs/pull/212/head +ee3119d91c0f7f185294170f915486cb934af2a0 refs/pull/213/head +5d44372f4ed60c825680172f818d40512f7e4fd5 refs/pull/214/head +68744e8a25e9fba9c78af64313da74c01818fe5a refs/pull/215/head +c420c4704d8c30d5fa4a96e071150f9a6c83c1e7 refs/pull/217/head +ff727abb6c50f7105511d82be67dca049a764b45 refs/pull/218/head +e669276c2ca1db217da24de38b2f0f098459cb1b refs/pull/219/head +cbc2854e23f16bea0efba82d61f0e523da634de0 refs/pull/224/head +f9ef418f28bbf4ab731144455c9a9f2cad3aee49 refs/pull/225/head +e8be09a353fc0d1a77b8440999cda475181a8c2e refs/pull/226/head +42f67e1e2c8ce577c61f7e809e07447d032aaab8 refs/pull/231/head +a115af3ebf7ab8e775b8217e8f9a89915385cfb3 refs/pull/233/head +b13f423e07fa5acb6ae41d637b1fc89564292496 refs/pull/235/head +f4d95b7abff3e7b2dd978302fc3f611eef8d5279 refs/pull/236/head +592174774eb56ca085cc45b7c4b521922cb6208f refs/pull/237/head +373990792dedc517fc032c8fe0592a0842dec149 refs/pull/238/head +82a6ac79b0bca7e959e3c84d5b70784e06410762 refs/pull/239/head +c3970163d39fb0c8a9ac2c9fa9975c7fc8e3f1bd refs/pull/240/head +8106647dc8e36bc9e190fb2cc59d0e009ef514ba refs/pull/242/head +8c110566cadf4de6a68a23d5794c26e9c6c4b6eb refs/pull/243/head +0d2e294fe1bf949c9f032063f9a798c6c44fad36 refs/pull/245/head +fc91e961fe5b105898a48b8d289fbcfc72dfddf1 refs/pull/248/head +5aa3746c168f8153782ad714e283192a97aaa4c4 refs/pull/254/head +9b05cde41b5d053b1239ae1340976745a45f8b7b refs/pull/255/head +2a3881fe73fe907b51075b6ae3b9d528945213fd refs/pull/256/head +7e4bdeecc70851c60b978293cef3e1d08074c4df refs/pull/264/head +d29efee65d24b772bed8ecc1acad521cd8a5a8d1 refs/pull/266/head +461575b41d0c319014bb9b77070314a2bdf25a63 refs/pull/267/head +eefd7f226ab3f520b42fe7984ee25f75c39a6b46 refs/pull/271/head +eca812a1db528aa26bcc466a25e6114878219c4c refs/pull/273/head +faf9c428ac8bad62c92501afbc8779b29babbe83 refs/pull/274/head +a219e6d0cf3c2484252d43d3323c3b0724c5b251 refs/pull/277/head +1a413eaaf77cdf3f157cac5828837b88203caab2 refs/pull/279/head +933342084720c77937e8cc4016c6f34ec96ed63d refs/pull/280/head +b4b074db602200e9b2f4bbc74628d22c58370b9d refs/pull/281/head +536af8f4a558f80454220e920d24c694a733224f refs/pull/282/head +9f1d5767beb092bbeee18b8945cc1ef81f5a99b9 refs/pull/283/head +bfc98ed9d7996ad7e0b9a16061bdfc22fac7bcb6 refs/pull/284/head +0b8638dc292ba6c76a81b5865036b482f7d57bd8 refs/pull/287/head +3afa84f4c5cedcc984328eb1c1255b4edbcd3282 refs/pull/289/head +d5c1a5df9b1110fec519ec691ba85a530140722f refs/pull/290/head +ca839d77ecd050c33cbb8dcae83547ad8394298d refs/pull/291/head +1726893aed3c128fbea3a86efc6439453850b81e refs/pull/293/head +13296692902624cefe2b84d1c6cb586891fdc61c refs/pull/295/head +7527e6660cdfc1715370472b282aaba9d8058d2f refs/pull/296/head +32ba22b9f69c1b0fb56ad095fa6b77e17bba7985 refs/pull/297/head +916b77f3ac8a6c1d899c445a558586d1ae19d797 refs/pull/298/head +d19e0bfa182fefd91259f95926b6f5d547857b40 refs/pull/3/head +a5f268116849ccb7f5f2edc642f1f65bb178651f refs/pull/300/head +6dc95c7a38269399b701a2b113bac36cdb27c2f2 refs/pull/303/head +0905ce001f665f8e696187be1a017fc6c8962a58 refs/pull/308/head +43167a275729763ff5bd234a6b9ef7bda55d0126 refs/pull/310/head +378b06ae486bc897e777509277c2504c8a875bf7 refs/pull/311/head +fcc3707e6fc99faea68e04dc8154a11671c1b8fd refs/pull/313/head +313bae08998a302033ea6f9c1c147ac5d75a872f refs/pull/314/head +df33169a32c2a1ad910ff6f9f3ad076f90033224 refs/pull/317/head +fc3574f702e4ede05818e55f9cd0019975102dcd refs/pull/319/head +905bfa75909fdf7b004df0d802c0cb66a50539c1 refs/pull/322/head +16d042d7f510b215a7c11acedf9d13aad38fab71 refs/pull/323/head +7ae6b5a7072736eea36999b7abf755a4f1cfc788 refs/pull/325/head +ab6dd25f141a6f70d4ab9359442da1424fb47077 refs/pull/326/head +57782e29a01c73b9f10bd073e5d38ea558cf1936 refs/pull/330/head +71834295a3b6fc84e8838d2a634cce258bfa2b8f refs/pull/331/head +14b9ec9ee35de57a6ea257e14cbf2cee459719ba refs/pull/334/head +727fdd5c06257bcfa792fc9546e9d375684433f1 refs/pull/335/head +eb7344a454fe592b9dcf6aab5bd9cfc0886c8d38 refs/pull/337/head +3986bc6ed7acbef75c84388e42b96996480c0fcd refs/pull/338/head +272f65b3815290165d44d12f66e2b72cd11d0ab3 refs/pull/339/head +37a763828af67487292e5c554ef6749b8fd69410 refs/pull/340/head +2f80e06c909ff7f21bd1503211968828c89968af refs/pull/343/head +193989e49c552c512ad6f39c601aa47aa4bbaa6f refs/pull/344/head +0dd1a4a146881d09eba22c1dc900b619e5543663 refs/pull/345/head +b71e986194c7b5e4f8b45301bd4e8857768b1870 refs/pull/346/head +fa91868884286059c94e53e4a4e23961abb11d87 refs/pull/347/head +5337b075bdf9200cef0a4bb1a35348dff9005725 refs/pull/348/head +414684b6ed563438414d48f8ad79eca4460ec029 refs/pull/349/head +5b275e190b367451f38df8ac483976dfa1ee7d28 refs/pull/350/head +39c7197fcda378cf2bf70a63028018e45cc58cc4 refs/pull/351/head +bb97d1b2fcf8c9c53550964efa07d5fd6e4ab045 refs/pull/352/head +e1d6e371988cc7c8f36b56122824168a87b03ddf refs/pull/353/head +16355908065796228c3311dc70fee15b3b821bc2 refs/pull/355/head +23e348edbd2c61bf2d2f7844bc50b4e4a50e169c refs/pull/356/head +04103d58342cfadd9e1c49b8849f905cd0202f08 refs/pull/357/head +0805fec9c0963b779de1722e793fe862d4432d6a refs/pull/359/head +af5e05c34179aed664b1d7e64807402aeb0c4659 refs/pull/361/head +bfdb4a851a5c45ab0dd73a9dc0231110ed4f1a55 refs/pull/362/head +ceb4ea965d611a5407af14a4d8a5c9b6e010c5e1 refs/pull/363/head +4c5767a946555a0471398084b6857201246c87c8 refs/pull/365/head +0e3ad45aef02638ba51a745fd68072b90fb0c9c7 refs/pull/366/head +5675f77b3e196690fba69d42dadbc5a2f14ed483 refs/pull/369/head +0414de8f3f1da66e72380e73aed5b18018ae54ce refs/pull/370/head +b565f8de827a2cf5606bc153f5049297b10e0b3b refs/pull/380/head +d3daf2cce3bb7a2e1f0080f708865d9cc04916a0 refs/pull/381/head +bd9b1996c282c62e86bd40c3cbd314dff5bcc939 refs/pull/384/head +b143565462d54a76e4629489a35d4d6ac1b25124 refs/pull/385/head +08aeb38c8ae0acb23f143ed62850edb917155bea refs/pull/391/head +6f0dc077c0c89322c5d61e319e50d108f75b5b02 refs/pull/393/head +26345f56fb86cfb49956ec0ab2ca28f12dbdd8b6 refs/pull/394/head +00408195e74825e15ed6b2342c93f6710b43f3ce refs/pull/395/head +1aaae4a98d4c38f70ff2d09b00e5a32da63decde refs/pull/396/head +cf35eda7640ae5b26263782c76314ec075ee38b2 refs/pull/398/head +bbdf1c5511c59c6c56495d947efec05954301d33 refs/pull/399/head +bbc564637d0f28738c2746597cc702e87efa3738 refs/pull/4/head +d62a96edadc493ecf966152cb10564ceff722623 refs/pull/400/head +b4c1002038f2ddb75292ec627d03f4a6ca8fe193 refs/pull/401/head +53098a355ce9d648877f9a899b6a1e8cb89a5550 refs/pull/404/head +07a1d43714d29621394b330583782360e35c890e refs/pull/408/head +6fdcdc5ee5266e04e0a6ac93fbeb18c83d7b7522 refs/pull/409/head +cce1bc5103b165308f0eb2955ec6ef9142c7ee71 refs/pull/411/head +de964af445482adad9d17ba9f7db8bc7d9b5e192 refs/pull/412/head +ca305fcbe9f3cdad1ce5889b9c89af5de575b738 refs/pull/413/head +47cc2297e387714d1cdefb62f00e82ed2c9ecc47 refs/pull/415/head +146b868a7d5fe551400138eac13e29f8b089befa refs/pull/418/head +f6205e6f663874712352bc078ac0821202f0afd9 refs/pull/420/head +19085aa2a22b485c90be64674512b3a78bf7c4cb refs/pull/421/head +dd7b532771f477601f6d48a78f5267d21564d564 refs/pull/422/head +2b009c638d63ec98c9439d4f47ce796b5bd40a39 refs/pull/426/head +ffe8af3ebd983c1a1e61cbbf35ac98afed8b4646 refs/pull/427/head +3738d5185637eff57324f9e870e2657474159c9e refs/pull/429/head +6a85d6c69f0a8ec91f1b2d4ff137e21b9b019b6c refs/pull/431/head +a100f73f01c4a745c3f9c529d97a16ba92a6b546 refs/pull/433/head +65e32693fb2eb2c0d9b453a8aa517057d0e3bdd3 refs/pull/434/head +7786db40927c9761284073e47fed0991185f828b refs/pull/435/head +7e8596d4687ef3e0a94708a676ace5b73bcb7f92 refs/pull/436/head +71b2567337476f268e81d9e04836d5a77e0b2ceb refs/pull/438/head +f7d3f614f2026fb35d7ef3943574fca1a7d9dcb6 refs/pull/439/head +731d61c38789c661fa9bf4cf7706665ca6f41c09 refs/pull/44/head +996b297e43624e8512756eef34f97c1aa5d87d76 refs/pull/440/head +5759957fdd8086778364cf81948009f4efaf401c refs/pull/441/head +e5c3b3272e5693374352497d6ee14e7cac609546 refs/pull/442/head +3ec57a78dee8db8c7c4131bc4358a2ac84f03dba refs/pull/443/head +fb4c01d39f68b6008a41638bdf9db50954fafbd4 refs/pull/445/head +978edfd3b4e780fe647a8d5982c94daec3cc49e6 refs/pull/446/head +ce09489092e40af65888aeb670ed5cf2e666d229 refs/pull/449/head +4c6501b5d24f0a9c26955b87f2c59860f572deee refs/pull/450/head +d77b4df800e413ea1572a9bee17cf06f5ac354da refs/pull/451/head +1090f40191e2c446b70daff1343140cc6ed03577 refs/pull/452/head +bd234d29bc95ebb9f43e8a84fe0c1c4ccad23d09 refs/pull/453/head +cc5ae1c69ec6fdd8615f6b876064d8e56a6fb564 refs/pull/456/head +133653918dd8270c311d5d270f7f2b6a73cbcd82 refs/pull/457/head +ae6da0d5d6a0c07289e6b3a76e773d788d56630a refs/pull/458/head +75b3119c0b947d62433de9761ef861f0a4fe260c refs/pull/459/head +22e19b5f61a95d1cf8faa52b176a938198c629c5 refs/pull/46/head +6e63c863c09fe306ee769b18821ad865eddb6961 refs/pull/463/head +000b61b753c7c8f214680cb249f56d88d9d71138 refs/pull/464/head +329e2a201a706280198a4096fd8fe725b191740e refs/pull/464/merge +31cf971dcff8a2af5947cff57c5d0c3ab4ad5a7c refs/pull/466/head +3aef5ed779b4e048b46be865f1356d3b4b96c235 refs/pull/467/head +6875f07915af0ecacaacf784d75d6348a6ed9347 refs/pull/468/head +69084953752b0137bafb07a2da6719d35b64130f refs/pull/469/head +c960a3fe381719db70b637e95eed91e7a3078c92 refs/pull/47/head +f66de7d110f011b0209b264bf9db72cac58ba658 refs/pull/471/head +99763b3e578ad1f46289bfcc1f81a381cc415c21 refs/pull/472/head +a52e268cb967300913267713ee55c7c7cd2b20fa refs/pull/473/head +7db80c9c9bbc751d3468d53fce3ded92b4c61104 refs/pull/477/head +579eb94e88d3f501f2805d2094f9eaf52a1600ba refs/pull/478/head +a2821f02ffb58445185d1a6fb0642f86fa30c29d refs/pull/479/head +a9c48f7275fada302ca496c2ec92ea7163f0341b refs/pull/48/head +beeddc1a35cf81b299c7b06719c235cc500cdf2d refs/pull/480/head +65c1853258b81164e7d789193cecabae038ea518 refs/pull/481/head +5b0a59c4a4c7d64a181ddc75cd1903cfd0e8d228 refs/pull/483/head +f9aaa60f26ca2298c98473f571e96c4933fd8421 refs/pull/484/head +9708029fd407327782558c1e6165948ba279464e refs/pull/485/head +f2b0f054fb220b9af17d44a85d835f74a7012378 refs/pull/486/head +8073bee16a787fd5b5934077313a0928c82706dd refs/pull/487/head +eafa9c29a88882b5ce19d1974bf16de6a39a4f33 refs/pull/488/head +bdbc03eaf11aa258ee0a20816d2a75b8e294e840 refs/pull/489/head +3fd97cd1e9cd5a8ad3ff90335f1b01f9b2627222 refs/pull/49/head +7270ab8fad89d0f87066dcee076c6c808cafd0ba refs/pull/491/head +d274082836fa009e53824fb95a1373eafbfdc11e refs/pull/492/head +2e82dcfcc975a31dedd03d4d3d1feb439ae7f6ea refs/pull/494/head +778c6461fc1f876dfec146879a619641d52e786b refs/pull/495/head +5de5ca73f7525cad3e10483d9a9a8da9b2049c18 refs/pull/496/head +ed1e0ec9426360c8bda312ac6cbba9f8e16fcb7e refs/pull/50/head +f433793cdf12a73aebd355bd95245f8020fabec3 refs/pull/500/head +2cbc5a62bdf5943ce2d7aec4bc0ca6117e13486c refs/pull/506/head +4398cfba042dd6d6f6db54ba047698ea81689575 refs/pull/509/head +8deac428305739c2369daa1b29b5a74467272c55 refs/pull/510/head +6a98026199720b3e23b238248d4444bc065061b2 refs/pull/519/head +58bde7e259bab3e1c20e1374431c4edee1965173 refs/pull/524/head +ee5fb0864188f019cbeadd1370eede546c6fbf5e refs/pull/53/head +728fb0df2767c49b4e6d663aa062ea47923993ee refs/pull/536/head +2b60c14d690a7c82e56f54b138b609874d076371 refs/pull/538/head +6da16403c8bdf514ada4abe7abff24c19437ca02 refs/pull/538/merge +dfb8c111db16f034ccdb9ae0df2b5385d4c9a343 refs/pull/539/head +ab323d73113e652abc5b04b2aad83779a788de67 refs/pull/544/head +318c0a68c82310cdcad927db9f0d32e84793d4e6 refs/pull/55/head +0378c652e59b8ea5cc8960fe17933fb3bdb653de refs/pull/554/head +b99db29f08df7160027cc69de92b8062e74a1bca refs/pull/555/head +86cff2f16189488ba84f4b3d7dcb7000183a016e refs/pull/557/head +280af2efb7f1f74909da40c67a78bb5ff2bb63a8 refs/pull/557/merge +ddfd63df1d52f720f5e9c12a28f8cd7933151618 refs/pull/558/head +969a16285e93d21e533352a1a99f3efe11fe562e refs/pull/558/merge +127c11f0b62b4cbd53372d373b4430c3ce11774a refs/pull/559/head +6057cac594c81e7862f4ecd59d6cbffc9a95fc03 refs/pull/56/head +5cc55c09e722a4b8291b570ae699908d11a54aae refs/pull/561/head +57970b7e7bd6a0fd6bfc4734008242480a9368c0 refs/pull/58/head +fb69e33e60b0f286479abb44dcf9f512ffe046d8 refs/pull/583/head +c2500322f73ffb455a2882d07f70968a56986d24 refs/pull/585/head +d2f62cbbcb43e05230c2d1d0bb994e1e09389f64 refs/pull/587/head +14a9d7cb2bf4e751360e359bebdc96e7b7509020 refs/pull/588/head +c520840027a9f45b2ffd336b520fe3f93f721e23 refs/pull/589/head +f7e39aa445f3896ba6a9f1987f4cf624957cf8d0 refs/pull/59/head +df9b035fa74590e2bf7fd2a6bf6e0b37fb77b701 refs/pull/590/head +9d7b6e89b7fa1296abce3db41d4e7648bed9792e refs/pull/591/head +05a7f6dff9f970e2a17dc1c722b91a383fadb2c9 refs/pull/592/head +9c4c41f90ba0c3e7cef08da5f4f25564ffe061ea refs/pull/593/head +9a49e805451115f6efca5e4223d6ae0b9d46c452 refs/pull/593/merge +41a86c584e5079b478694b0551b10c461e117a04 refs/pull/595/head +8fa9b63b72c70841118ff622af8ed0fadb529c23 refs/pull/597/head +bd3c60b69d870f0dbf6efa4602f1f5065e58ab38 refs/pull/60/head +13399fbf6083a9ba18031f1e28e601514e644278 refs/pull/600/head +413ac87f76ddb1509ae9a15aff4fcfa7ebd966b0 refs/pull/602/head +12d4c5f1585bb5bfb17cfddf4944770255143fb4 refs/pull/603/head +c2ad338a5aa15bfc1c1d3e179866b5f54e5d2388 refs/pull/604/head +c9fdec84d9f4efda09312552840e6599ad0e76a3 refs/pull/607/head +f7fcfe289770fed0ebdd940b6da13a87ce8b21f3 refs/pull/618/head +b0ac17ef4d8c9102e4461a7f297ba67a2aa2694b refs/pull/619/head +55bc9c778f8087e8019d972dbe13961648dcb60b refs/pull/625/head +42d625957acb105d6341c71945547ac4c681362d refs/pull/626/head +e96c3419fef32af13559e18020bd6baa9dd43e59 refs/pull/627/head +b7e65b2c9836c6e54ba1f36cfffbf19b0d6dc016 refs/pull/627/merge +aea0246f50edea33a27b106527e97484af270694 refs/pull/629/head +2e6973775290a4aae30d803678013357aa7ff154 refs/pull/63/head +ce76ec6c379ae36c8693958d1233f2329781aaa5 refs/pull/630/head +07c0e06280ac49551f362bbe4ef35e1f3298d4a6 refs/pull/632/head +c9923cbc0af30eea69f795a55efbff89f07183a6 refs/pull/633/head +b32cc049d59bd407d35438bd25762724a387a543 refs/pull/635/head +8861c6ba799b899c1ea61bb4df3b4616aef8a08e refs/pull/635/merge +06df319561cf113574b09e22dcd55bbdcc7efc03 refs/pull/636/head +3fd282b0d0cbf7cc305c50d302948dda2d802aed refs/pull/638/head +3ba44b2eb49e6cb6c23fc172f25ee522032213d0 refs/pull/639/head +7ad5ad69bb1212970b4f1927dc5afffe709dbc22 refs/pull/640/head +ba54fcec635f370e3991aba5d283a3ec89ff08bc refs/pull/641/head +895790259dc833df7a4d01a4362f3f1fc0363d98 refs/pull/642/head +1271f67547b6dc700fd1a8768ef70ef8ba642dbd refs/pull/643/head +14917d4ceaaad0601df496331188777c26bc1cf3 refs/pull/643/merge +60f1c75e106319675a01dbe2d8dcb815de666cff refs/pull/646/head +af07ce1f15b1b4a51641b51f6fdd70965cc1f90b refs/pull/647/head +e1a730ede6e6fd31425cce451f0bd33ca80309be refs/pull/648/head +381019519f1edde78bad11eb6d5d3be4609661e9 refs/pull/649/head +9c3939911103b29d897ec794c47911a9afc37208 refs/pull/649/merge +c8bd8e8a5b05acac3aadf7ec62f9d856a7750eaa refs/pull/650/head +39665375ad2d574bc66882696264e5fe14cccf6a refs/pull/652/head +9c1bb697fd602ed8e7966999ad310ad5f48f00cf refs/pull/653/head +730a60980c0af0a5257a459e14f8281f2243d95a refs/pull/654/head +4452d7c3be927bf74f35594c60c67b68bac5a5b1 refs/pull/656/head +e8c6a9b0c69aa066f7cf05408e1416d8215eba89 refs/pull/657/head +7fa14942becc2b251021509abeba68f3bd159afb refs/pull/658/head +f933fb9a7c6de764d86d03817b1ba1716679c3f2 refs/pull/659/head +e2d9e68a2cdcbf0c4e0b9ed55bf940f764dd2246 refs/pull/659/merge +3c25938e9841fa71344a64e4934fb3b09033fd02 refs/pull/662/head +20c58cb35e3e36bceb1f4d63940312aa951b8e28 refs/pull/664/head +a40a8d3e5bd887a3795da873f24299589604fdf6 refs/pull/664/merge +049854f8ce634b9360281c978a19bab575368159 refs/pull/665/head +1c09aedd4a4f8e736163f674ef2a6b3fe547edd0 refs/pull/67/head +0254f36e929591b5437eb700ac5190424ded691d refs/pull/670/head +3e5a839268d939fac4d3b26d0f3a9e3ff2596f8f refs/pull/671/head +a69d1c9c6287def688e1a8463cc98b9000571b2f refs/pull/672/head +0b6147b89d233cc05316e3ff4de4c4c49ba86e5e refs/pull/674/head +c67fa6413f7013c0e1e4bad465af142bb213d7e5 refs/pull/678/head +6763372a22fabb218a6ffa5c2e77d9a405a9fd2b refs/pull/679/head +82c56b3b1224c2f95847f77f906771153b84da25 refs/pull/68/head +b13a04e9510cce0cb80fdbc1d6ecd0db57911373 refs/pull/681/head +64c26098eb9722dc761b493748dcc6049b3c194a refs/pull/683/head +ec6e46d43b37edbd204dab0e01f59be3cb675bd4 refs/pull/684/head +6cb80934b840009148d84bca96bba45966a0b629 refs/pull/686/head +5d5638da28bbee14ce6fc9b89bb12071729584d9 refs/pull/688/head +d2001a265243a09bcadf4b00031c6b21f5d0caf9 refs/pull/69/head +c03989aa8d9791036af397dc0564054d69586eb4 refs/pull/694/head +f432b58704e8eea09300fc888e9c9e976a95832f refs/pull/696/head +ec168e41797e6c46d79cc54077ae43d867448549 refs/pull/697/head +951372aa89b991ae9e9969de7be9423e6f71b34c refs/pull/698/head +dc021d01fd26a8df8bb85d444cbb1a7e4a98d0ea refs/pull/699/head +f557fa9b2550a3be4905439aa8868cd5a455fae0 refs/pull/700/head +c9fd71ec9a76fba42c4515ed6953034f59ccaf23 refs/pull/703/head +5c6ff085c95016f68012f457f930bbdb2e73dcf4 refs/pull/704/head +9135e4cb1da0521c9d51350ee744b6669b838b58 refs/pull/705/head +6e08306d605b183374d20788009e12af0e7b79ce refs/pull/706/head +25a0433daf599c900e4c0a7043dd63afedccc400 refs/pull/708/head +2c54d600960b189211ab4ce2b3696aee1930ecc6 refs/pull/709/head +b2018c49e8d06d80c4d73b8731d5105024ee8edc refs/pull/713/head +45fd483476c1a978439f50eb682e12ac9769a509 refs/pull/714/head +0c4d749208826bb3d2e318a77bbf6ccdd351468a refs/pull/722/head +4709d50ba0827affe34bf8964a54aacf959622fc refs/pull/723/head +ff8f75d9c1a6c020f1277b7550534a7a17165885 refs/pull/725/head +efd55cb93b6648261b18d9121d42068eceb5b275 refs/pull/73/head +b9db8820b1dff5cd2e12c63e9dd0549e25f5cc4a refs/pull/731/head +cbd777f104c84ffe0f2b8e54dd8a712c72f9c326 refs/pull/733/head +28e427a8995a8b522cf9e42ae3b6763340314302 refs/pull/733/merge +da821c4e52cf99e4de195bc2ba4548a343089487 refs/pull/734/head +b9266f7bafcb66d81384f8f22314c68a0105783f refs/pull/734/merge +f5ecb980bad37bd07181f2447efe3bce9055feaf refs/pull/737/head +77c0a520b916c18634d640e9741ab734a4c0d461 refs/pull/74/head +852a29f1718c6372eecb27d3b2a4603301bdeb25 refs/pull/740/head +019fc708c16ead8d9fae2ae3e87a6f0661cc7b75 refs/pull/742/head +bed2ae78ac31d0f93169e024be898ad506a0a66c refs/pull/745/head +ed3eff68df9ef26ccd3f56ee9fae1a71cabffee9 refs/pull/745/merge +c2f6906b8bbf61adc8a2d8db6c29a7b105f450e6 refs/pull/750/head +de0d5ed9a3967ff31e95b8e9c997d469fb85ef95 refs/pull/751/head +f332998caa25fa0a963d878bddf15ea6afcf047c refs/pull/752/head +a294523aad8e2b41e497cce3b4cfc145596e3b1d refs/pull/753/head +e805933946ec11b935445f2db827823e371bf39b refs/pull/754/head +46582092b2710a140c8567e2c9992581f018ea0d refs/pull/758/head +8e148adfe387d96b409e36a7f20f74e6a923e05b refs/pull/759/head +319c622dc2d6cb4754d244cdf750fc306b2783bc refs/pull/76/head +7e688b2064c0f48a9c12c3c524746730bb185450 refs/pull/760/head +aa7af37b45bbc32eef1186a7cbb499fc86fd9937 refs/pull/761/head +c5ffb75afd88651dfe07a1463ad982ceff16d936 refs/pull/763/head +b2ea3fe2745295b15cd0f1bf7032db6b319ce1e3 refs/pull/764/head +5117034ebebe598bc4d68559ea52ffba2fa20344 refs/pull/764/merge +3a75ac1ef321a4bdd4bfd08515fff7f987cfe478 refs/pull/765/head +8ccac432035fee5495b6e62b4aa10b9145e52f0a refs/pull/77/head +51360a36639475d5077398bcb3c86d08b0cc5054 refs/pull/770/head +0964f1caf361552904dca9178c9e8324c3a53a35 refs/pull/773/head +fa0154547372837ce64ac7a359d6adbbbdeecf3c refs/pull/774/head +a01a845889baf83897445df3e1b48e91595db7da refs/pull/774/merge +bb7b17593a3ea1f73d70337cb58bb4f8624c9779 refs/pull/775/head +f6649614a0720fca007a5dbe9f572a31a41d3e23 refs/pull/775/merge +e135e43785e41ad8dc82fd7a171f6bbad4999624 refs/pull/80/head +a06e2fd1eb6952ae46a5cf7f003bbb3f70a2b33a refs/pull/81/head +667953e8bcaa78e5f871cf9b95360e2286343b37 refs/pull/85/head +8da21f9141ced903edb89ff6dbf19d0149024668 refs/pull/87/head +297bd8258dfef89ff888ce16b8bf78a5a6d45532 refs/pull/88/head +ed7afc6efbdc0b98cf6a0357fb960b3470c58a85 refs/pull/89/head +e4dc0ff656b17187e26f2d58e3d7ffdc4867ec02 refs/pull/90/head +0a5c6ba1bed22e802adba839d4ce162ff9e8ae44 refs/pull/91/head +234770eeea93672f0ee171defdd7077c5395eb11 refs/pull/92/head +dd931ec77c5124e1ebf00cf6560166021e5e37f3 refs/pull/93/head +4b31aa9ce81d20aacaba23fb729d93bb02b4b00f refs/pull/95/head +e0375651cae54bdde2aec250214ae284dad42170 refs/pull/96/head +a611ae23b4a068e870ff916ffe5a6976e8eb5b74 refs/pull/98/head +4d3a5129bcec3e912090eb1253c79ad8ff7ea8b1 refs/pull/99/head +924814b4d49008ab6637ea8d5eb7b08a78bb1ae5 refs/tags/0.1.0 +02924d14e50abe750a6bd194f2d652d0bd7ad60d refs/tags/0.1.1 +3b128349cb337b7f3dc5ca01277208160283a6f2 refs/tags/0.1.10 +640a58ce700e4b31dc7af307f914fbfd58262f47 refs/tags/0.1.11 +cf8e4374b5a05c2b4c8ca0c056a4dc29eff04541 refs/tags/0.1.12 +7ddef95a852300d82bfce9a1befb1e9feac7d156 refs/tags/0.1.13 +f530c906215528a7450fc7602b9f93d9236eb4c0 refs/tags/0.1.2 +1c07b5d805dec7f0e12d402d3da3413d59309bb6 refs/tags/0.1.3 +89b9d7b25be43772410b932b0146073aa01ea77a refs/tags/0.1.4 +31bb51799533e99e77fda5eef681571b975a39b5 refs/tags/0.1.5 +c181ed728f200af6c01d8412d7f0cba757d39ca7 refs/tags/0.1.6 +cb41d40414ed569aa238a33f37b31b637c709bbf refs/tags/0.1.7 +0ae57b9d3728b288fa8d917ffb8cbda55b2598ea refs/tags/0.1.8 +722c1ab2e011789412b10af15d9715ad725a21f6 refs/tags/0.1.9 +af2ab82fd6eaf27bb4cfaadedae32e41de5a1757 refs/tags/0.2.0 +99e31020c8654d72418f9033468ae496e3d0c21e refs/tags/0.2.1 +7da0f96bba4f40bec50273723e586c77f6323d6b refs/tags/0.2.2 +df985d77e98949d7913b798b8f9f8be10db4d704 refs/tags/0.2.3 +a919c658374bbe29e41104384eeeaf073cf27bf2 refs/tags/0.3.0 +c67892ab4a0c115c1c8703ca38a19ebe084c03ea refs/tags/0.3.1 +dfdbd72ade44a4bfc0e484c888967164b50cc19a refs/tags/0.3.2 +9e62a21c5cd08f7d2485f4d5c8c7337dee17546c refs/tags/0.3.3 +d2ead56bf9d241d8fb34a7728981964e433682a1 refs/tags/0.3.4 +7f6baf7227c897f09bad0252cccac2cd57202383 refs/tags/0.3.5 +81ea611369539630d9b8b7f1a3cbcfe8d338fabb refs/tags/1.0.0 +e30691e5d3613994b04b142df5c52158d066b0bb refs/tags/1.0.0-alpha.1 +76994bfc77061c6cfa3b82415613a9dfbfb47f28 refs/tags/1.1.0 +b18becec9d33b8a23d6252b47bb6bf1d45304244 refs/tags/1.2.0 +7992d77065f2787e7651cf6d9be9b99ad38f5166 refs/tags/1.2.1 +99859083e53912612b56b4b8713a971c20dab3ef refs/tags/1.3.0 +d5f6a6abf18549c8bae6526bf2c9d5773269c570 refs/tags/1.3.1 +9727261219af435e7e668b8813187e9bf5d61927 refs/tags/1.4.0 +e971af5c5374e4ea83c20d0ad0a0df2cc84d39ad refs/tags/1.5.0 +2e1b6fced9097cf3093591bace7a89fd5519e051 refs/tags/1.5.1 +ad7f0e73246f5083733dbc025097fcdf0fbee2a1 refs/tags/1.6.0 +84b693f9d0559dc488e691edb4837bafbce2aaea refs/tags/1.7.0 +755c0ec69bd667aa4e8ba50c8b710585d302879e refs/tags/1.7.1 +02cab48b66b4b412013827c2938adaf0eb67dc8d refs/tags/1.7.2 +09ed6c489f88d06228a404a0313adeea743e6cad refs/tags/1.8.0 diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/HEAD b/.build/repositories/swift-openapi-runtime-c68fe40f/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/config b/.build/repositories/swift-openapi-runtime-c68fe40f/config new file mode 100644 index 0000000..92af9d3 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true + symlinks = true + fsmonitor = false + longpaths = true +[remote "origin"] + url = https://github.com/apple/swift-openapi-runtime.git + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/description b/.build/repositories/swift-openapi-runtime-c68fe40f/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/applypatch-msg.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/commit-msg.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/post-update.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-applypatch.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-commit.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-merge-commit.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-push.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-rebase.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-receive.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/prepare-commit-msg.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/push-to-checkout.sample b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/info/exclude b/.build/repositories/swift-openapi-runtime-c68fe40f/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/objects/pack/pack-4814180a930ac4264a4706203fc030d7979a633a.idx b/.build/repositories/swift-openapi-runtime-c68fe40f/objects/pack/pack-4814180a930ac4264a4706203fc030d7979a633a.idx new file mode 100644 index 0000000..42eedf3 Binary files /dev/null and b/.build/repositories/swift-openapi-runtime-c68fe40f/objects/pack/pack-4814180a930ac4264a4706203fc030d7979a633a.idx differ diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/objects/pack/pack-4814180a930ac4264a4706203fc030d7979a633a.pack b/.build/repositories/swift-openapi-runtime-c68fe40f/objects/pack/pack-4814180a930ac4264a4706203fc030d7979a633a.pack new file mode 100644 index 0000000..a53ffab Binary files /dev/null and b/.build/repositories/swift-openapi-runtime-c68fe40f/objects/pack/pack-4814180a930ac4264a4706203fc030d7979a633a.pack differ diff --git a/.build/repositories/swift-openapi-runtime-c68fe40f/packed-refs b/.build/repositories/swift-openapi-runtime-c68fe40f/packed-refs new file mode 100644 index 0000000..83b84d4 --- /dev/null +++ b/.build/repositories/swift-openapi-runtime-c68fe40f/packed-refs @@ -0,0 +1,195 @@ +# pack-refs with: peeled fully-peeled sorted +7cf0cf2bc44a09dbdba493f8761f25f4758a76a0 refs/heads/main +bdc8215c93ba6c4abb2098c31193209cb07a45ad refs/pull/1/head +1bdf746067ca5b4f8f81380087517795870dcec5 refs/pull/10/head +9633ee28e882fbd9d6efa5959721446b66869f31 refs/pull/100/head +89aaed917895bd0932e0e316401b962eb736d293 refs/pull/101/head +0bb53c67cafbce554d2308a251ef8a4f0e81c76b refs/pull/102/head +8d3ee3aca1fb0f948f29d9cb7d5e1858b90b0cd3 refs/pull/103/head +6ac846a8dafef7b244673cfa1da1aaded06c7c34 refs/pull/104/head +43bdb06b1d03379e68db4b983fb8661a7d0cc588 refs/pull/105/head +ad1a98745df127970e8de2c0f9cc53c472eec4b4 refs/pull/106/head +fdfe371f6aa40852bcdd3c46bb22b930542b4e71 refs/pull/107/head +502d7796d25fadd70ed106d65981fa02eb413cf1 refs/pull/108/head +aab45bb749dd1f3795769048150eab579773a345 refs/pull/109/head +768ccb715a7f27b89095ae3bcb60f49804363190 refs/pull/11/head +a41d400267244b0c718a5e8107deabd099d21d2d refs/pull/110/head +61e1b4599ef019d79dd2fc60c2e500639f9f815c refs/pull/111/head +f74305731c9ae554000cd19b2e6469919f163f3b refs/pull/112/head +31c81894ffe047705a49d60692fe8b858082cd24 refs/pull/113/head +a5eefb3ba200e24273a543946cc62c8e6c870e10 refs/pull/114/head +78e19da9537ca60126d479baeeb1e3be79bd0e63 refs/pull/115/head +5042d0735b52e0b2d9fe646a1112c08d5c75cd7b refs/pull/116/head +8b836a12b670deb6bae67acf628cc10a2ddf63ee refs/pull/117/head +4158c0bd57c1ab27a47da2c36f7ea72d971e4e75 refs/pull/118/head +37283d27740a37203cf688f9524af10037e8df73 refs/pull/119/head +98659fe44b530f292131db40782b71ef3e4db46f refs/pull/12/head +a7121900eae7abc303a35fc92b3653eacf5b5cbf refs/pull/120/head +ac68ad9ecfeb22744f4045d31589ef649c5734d0 refs/pull/121/head +4320d3ecc1d70bdbf1e2c39fde907a5fb514689d refs/pull/122/head +f228cbaf71d2d44c4e8ab5757e04962780deea76 refs/pull/123/head +90ba32d65690ec3d162b9bf81c9a374a65033088 refs/pull/124/head +b35daeb1bce70300bfe0caa5d93853b1b3c89c8b refs/pull/125/head +4e7c63876b9659b31d57c98adafbeb8baa463c5b refs/pull/126/head +1ea806a7bc48f45e9eeddb586b0aa2cd59a7decf refs/pull/127/head +6eb9736452c793a5526eb44e7e61caf9401e51fa refs/pull/128/head +dfc35d20beea0b4c7a2a920eb450f56757d19c20 refs/pull/129/head +8b8b4817d73b26505f1fbe79eddd108c5aebcf56 refs/pull/13/head +a59ce2ed81e8e56ca028e325753f771c03e5ca1d refs/pull/130/head +60941862fa78cc0a4461eed16a6b1bc4049204a1 refs/pull/131/head +967a9b923287f70606fdfe1bdd088d15ceed41e3 refs/pull/132/head +0cd8cb30ce26e9a46258241baac215517cf5c8a1 refs/pull/133/head +c7a1ab9077c372e804eec754f0f2bed46b92ed41 refs/pull/134/head +79bd32a3d9ce43aa5129f27fb38ac5cd913b048f refs/pull/135/head +2a03fb5786ff2314d67c8ec9042c58bf2f15a92f refs/pull/136/head +13cd4ad1862ad9b097679433d4ecef307b03ec61 refs/pull/137/head +d731e298525cebc416e09766e33fa15bd3634549 refs/pull/138/head +269f6e807f9414189ca54e4286e627c2f0b43709 refs/pull/138/merge +15338a59190d877338c48c52b58bfc7906484d00 refs/pull/139/head +ea4444bae2dec96ca324985fc560e825e7a49157 refs/pull/14/head +325732a159954004319857c1e9c440ccdffcf74c refs/pull/140/head +47a89bc77675ec3d554714cbee136c3d2a3b3764 refs/pull/141/head +72c86059455a9ee05cac1335e89413039947af7d refs/pull/142/head +e745c86ab984eaec141a5fe129ad752adcb9bdd8 refs/pull/143/head +84e3db1e938676f197fe7003247b77396f324798 refs/pull/144/head +f5c1b7491af3c3cbed681ee927edea9cb9daa920 refs/pull/145/head +54d132b5398d0d758fb8afbb527fd89dc8e47df4 refs/pull/146/head +8ab253b6b7cec6a7ba34e7967747f6c5d437710a refs/pull/147/head +bf92b88f424d790d6982cfa1da2edaa498b78941 refs/pull/148/head +a9dcd85fef5478b95e169b0a8e98b6ecf6c631f8 refs/pull/149/head +6bdb3d97bb7ea81b0ba3930e6f134fce2f292e4b refs/pull/15/head +21c25abe7e25accb89aa328b42cad60e89b4db7a refs/pull/150/head +157625c96dc2bec9de25ec86ee7d6a881dbf48f0 refs/pull/151/head +93a48957d250337b5beb72933f0ad991da180465 refs/pull/152/head +b957beafe5f10e3372980996e637239c6c638624 refs/pull/153/head +5c33b4b3ff2f47d3dff3f813eeee54950af6d67c refs/pull/154/head +e2faf4561be59d122df08d55e17606a1651f7b72 refs/pull/16/head +9bd3d1fcb2c01abf1f86fda7cd1adf586d0e6915 refs/pull/17/head +74366db1f780604b13f01201b13c2fa37b6f3142 refs/pull/18/head +3fda9c95737ada822ba44823d157f9617d8fc191 refs/pull/19/head +6b33a29fc7e294834d72c963611f35378f2bd7a4 refs/pull/2/head +10c12431c70c732c2247d4f993c111230f51bc7d refs/pull/20/head +783ff29a6fe202c55d55887ac0514492c7831346 refs/pull/21/head +e46927937140874deb818c9a4ffc643ae0f1634c refs/pull/22/head +4b6c9ea1f7a84c973b18b04f6adac23af1392fc6 refs/pull/23/head +7439e28bd9f4132132052442ca954b00dc6a5892 refs/pull/24/head +932a8fbda307d4b41b0bab1bb1c14016fd5b7a29 refs/pull/25/head +02112e8cc6cc5a9b134386b983dd316454c635bd refs/pull/26/head +fe3bb7b18bb433ee4a0e9bdfaa6b38ab9055bdb6 refs/pull/27/head +437e207d38205a22678cf7c7d8ec89a081eeb0bf refs/pull/28/head +63f44b0221da880646adc29adb32b2c6b424cf07 refs/pull/29/head +b1071e0d78d51a1df31f197436b199c80438dd05 refs/pull/3/head +997d04f09517fda280bffe7165e77efa8b49aaec refs/pull/30/head +2f43ff64da317909ecd86764079c7336a8201864 refs/pull/31/head +2159694f838d9b299c6efc71aba77532be7ed33c refs/pull/32/head +ea89d39562413c3acfcf4a1cb0e7ade7a2da8725 refs/pull/33/head +9b99961d606e9483e0db02fcc146a26adf43a9e7 refs/pull/34/head +40de6251ab4c8f65347d6fbfe485c75324cf6e6e refs/pull/35/head +5f67e411cdb3c9cb5f55d6c77327e60802afeecd refs/pull/36/head +75e65c9f1670340ed3030b07468673a7d6485a04 refs/pull/37/head +96c7ad3ca372a4ad5adc03c97d124a22923d5288 refs/pull/38/head +5232ead13a3f1c01880cfd181d0541cc5a7153a3 refs/pull/39/head +85ca8474709ff558ec8dc55e0105392378b3e483 refs/pull/4/head +8bc415ffcb70a87e478eedaf3a093158d268372a refs/pull/40/head +17eb5df475815ba61fc517d8835c0e69d6bbeef3 refs/pull/41/head +306a7ed4a0d7a4a07daacde177e2ca4ff9d961a2 refs/pull/42/head +3382dc8b660b7032fad265961289da82db19edc9 refs/pull/43/head +2183779dcde2861aeafe8f053e8124a9a5f4d92e refs/pull/44/head +983cb71b1582bedde54d5d066f4a9e51d42ea459 refs/pull/45/head +beca6304ff21a05bc26395c6766f22fc9531260d refs/pull/46/head +24f887022e1b92c38e3e2351f8d58711553ed32a refs/pull/47/head +e6fe5cf8ee180ef15ccb845fe0fa5da84379a213 refs/pull/48/head +031c17c3312a08c7f6ce7fe1a6c67d206ac1e9d1 refs/pull/49/head +e71bba09d9c6cfd128b7596e06a3b99e27533191 refs/pull/5/head +f8a42490a69ceffcb7a95bdfe77c6e4e198502a5 refs/pull/50/head +ea5df95c90cbefa135ecf869b45e35e692a57d99 refs/pull/51/head +bdfd0c6ba40e41f0351b06421de8c63e463553fd refs/pull/52/head +edc03f9f52b3cc34035cb35e32562fc9113ca56b refs/pull/53/head +15c0e4aa01621203dd8687490597f0bb406b6e1d refs/pull/54/head +7548e96052ec5c08ddb7b045a2673ef57fc2390e refs/pull/55/head +c39d002361533288a1e9ac9d63e3d07f60350bd9 refs/pull/56/head +b6bb5fc6feac2826a8520c309a9ac33528e5620f refs/pull/57/head +9f1e5cdd83c2e434c8c33b8d6dbf9895f19a7f70 refs/pull/58/head +35fcd67d9e207708662a28c0db21009f3175f47a refs/pull/59/head +c5c82f722cf76b67a4bf6d335bdf1698f1193057 refs/pull/6/head +54b191ae9453fe5910d6adf280cb04383868846f refs/pull/60/head +800ef706c10a6137269f44a371d1632adff78207 refs/pull/61/head +d6c172088b25d202ae0ec9ed0bf6f29c12a34457 refs/pull/62/head +61f31fbc104086096fda93b90500eb1ba1d9a69e refs/pull/63/head +ff2bc41978a75d26de7b7c6822c4755aa6fcf203 refs/pull/64/head +fe6ccf2680a23d7ad22eaf655404ab86740a27b5 refs/pull/65/head +14af05c002b23c6ebfc1418b735e59032b6fd338 refs/pull/66/head +183f761f07d9a6293d951b467fad67e9e2bfa42b refs/pull/67/head +bfb90978e44f654cdb60e0410bf08b499038820c refs/pull/68/head +ca824d1cbd35f21a97da54d2be4a7d7d79a77717 refs/pull/69/head +3dae6b416a1c7af1a98ec942ec279fefa3e915e5 refs/pull/7/head +af179740de49202c7e854abf59dce8628e80b058 refs/pull/70/head +e7dd96409a5933c2242bd58abc53cf85de66329f refs/pull/71/head +1403aabc4c1b2b490c5a93463572e071a376a2f6 refs/pull/72/head +786d00e0dbf1ab040fd59e7e9286bb85b5d193cc refs/pull/73/head +5ce12b2f29ef3cf3156c5beb44f3b3b64c433a5a refs/pull/74/head +1283ea49c63c12a4845e9071bed822feda2adf3e refs/pull/75/head +2ecc6dd76bb3ab172b676e3a78969abf60df94e1 refs/pull/76/head +014efd1745e8f90c790e880fa45281c4b83ee36e refs/pull/77/head +29b9b92b35dda768091313536a71e457466608d2 refs/pull/78/head +21fd2fe96160daa120deb0a76a6327f2ddf10c61 refs/pull/79/head +f18e1e04543bd0c0cf0d178eac1dc7d8107e028d refs/pull/8/head +995ef3d30929173194a988e2279d61f870c2be7e refs/pull/80/head +9983c42a95043ad889c927caabaa98613b03c368 refs/pull/81/head +011043e1ebb2d23ab8b56089c3d30f93a63b9bc0 refs/pull/82/head +635c6f0e903edf37572b1652e5539046a985a4ca refs/pull/83/head +4ebc1ef258c7474104c5a407544a028c85d38d9e refs/pull/84/head +39c80cbfce8c4a133f516c9ae0b28e358665935f refs/pull/85/head +67928d6feda537ceaa8cd1ee66b61775d68479f8 refs/pull/86/head +cefdbfee9754d4b3540f2f57973559fcee4dce0c refs/pull/87/head +8596b8b328007bbfada383cf2523f8ecb457596a refs/pull/88/head +709211ac54244a0c2d881e4419abb13e11aa7dfd refs/pull/89/head +0cf839e521a2adddb5a81385bfb9033b40ddb4e1 refs/pull/9/head +c24beb0f17a9067b3f616556434b06867ad1568b refs/pull/90/head +dc3ae77dc2bf39fd93433260d9612b7e355ea058 refs/pull/91/head +b3baf2a180e465b2e492ce10c44fe685dc451d5d refs/pull/92/head +aa1cdca35a7386de85de0438aef63be349b8cef6 refs/pull/94/head +be4df634a5da4125cb1ad397664411665f5f3fb5 refs/pull/95/head +df32adabcbd58b296872992b0e6293f4a413f932 refs/pull/96/head +ea1bd3a4c33ece91b2cf97ba21ca6e2a34f7698e refs/pull/97/head +2dc342dec14e666d8501003922d1bcfe6b65bfd6 refs/pull/99/head +4504e1709b2eb538dad929e7273f107771031933 refs/tags/0.1.0 +8d8aa430b5d13ee186ced6e776e99217e17be5b0 refs/tags/0.1.1 +24546b166130818fb207bb91a2c17fe786826de1 refs/tags/0.1.10 +9d76a1d5b4975821b2c1bb045e6a09ee4023c27d refs/tags/0.1.11 +b66f94a30a25330635f3e5e064245acfd92ff5a2 refs/tags/0.1.2 +02ae849d3ed0905d467b13c9056658ca383c9749 refs/tags/0.1.3 +e81f70f2a8b445224dc6b97d0c31ed0d190e04de refs/tags/0.1.4 +c5ab4e85a1b86cae78d5e40d845cf3b4b4497cf7 refs/tags/0.1.5 +5b5b5efcd81a1cd9e57baae16b65cd06364dc9b7 refs/tags/0.1.6 +d79dbc96126d4d903ca5e529f0f98c2b042367bb refs/tags/0.1.7 +b4c4ada9a79a34648d319a09f6b7de83eeac5c34 refs/tags/0.1.8 +ad847cbfdaa11493a88e508d16e5ab15128483ab refs/tags/0.1.9 +f0fc91da8d773c36b472b4de7601b2f0a7cd7c4a refs/tags/0.2.0 +f0589f6e64fd22a6f9760749f71a1a965b68db23 refs/tags/0.2.1 +f4f59636fd7e55526f2a4dcb192d704b0f3cb802 refs/tags/0.2.2 +5f7e7ee6862fcda793d16d8b5bf8d204503f161f refs/tags/0.2.3 +9ac0b62261f102aee52b2b85b5fa31744de16c39 refs/tags/0.2.4 +ef2b34c4eb3175988dd318df7849d2052f106466 refs/tags/0.2.5 +1eaf2367556fb4ff6662694d19e7bba811f26ae6 refs/tags/0.3.0 +00305485d506f5a894cddb6332ee3afe06186c97 refs/tags/0.3.1 +506953dcd18a3f9bb7a2a981fcc23a208f6a7769 refs/tags/0.3.2 +c48f1663252876dacabaa118a5c4f43226d105b9 refs/tags/0.3.3 +d5aa7ce0c1d7d0e90ea810189e9f9f0022aa069e refs/tags/0.3.4 +ad8bf04ca5706eb71a34059992be78d08645b8e7 refs/tags/0.3.5 +a51b3bd6f2151e9a6f792ca6937a7242c4758768 refs/tags/0.3.6 +bc1023f948f0093e2d79244feedb2203379d148a refs/tags/1.0.0 +7d1644b125c02be1bedcfe1a69b58fae881b2393 refs/tags/1.0.0-alpha.1 +fd101c320185313bbf9c5a45b827b17eda9ff18a refs/tags/1.1.0 +6be221fe0ae025d01a49cd733df746db0e3e8fc9 refs/tags/1.2.0 +7f86e4a103bcc1732cddcd197ac924c178b440f3 refs/tags/1.3.0 +95307ba1c0b0184c97e6baf1c0f8ea3d5fd45733 refs/tags/1.3.1 +76951d77a0609599d2dc233e7e40808a74767c6a refs/tags/1.3.2 +9a8291fa2f90cc7296f2393a99bb4824ee34f869 refs/tags/1.4.0 +71fcfa7691794054aa44538420acc281cc8e94e9 refs/tags/1.4.1 +26e8ae3515d1ff3607e924ac96fc0094775f55e8 refs/tags/1.5.0 +daa2fb54fe4a7f5187d7286047d5144c8cb97477 refs/tags/1.6.0 +5e119a3d52dde0229312ed586be99c666c6b6f64 refs/tags/1.7.0 +23146bc8710ac5e57abb693113f02dc274cf39b6 refs/tags/1.8.0 +81c309c7b43cd56b2d2b90ca0170f17ff3d0c433 refs/tags/1.8.1 +8f33cc5dfe81169fb167da73584b9c72c3e8bc23 refs/tags/1.8.2 diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/HEAD b/.build/repositories/swift-openapi-urlsession-03c02701/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/config b/.build/repositories/swift-openapi-urlsession-03c02701/config new file mode 100644 index 0000000..1371a14 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/config @@ -0,0 +1,13 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true + precomposeunicode = true + symlinks = true + fsmonitor = false + longpaths = true +[remote "origin"] + url = https://github.com/apple/swift-openapi-urlsession.git + fetch = +refs/*:refs/* + mirror = true diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/description b/.build/repositories/swift-openapi-urlsession-03c02701/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/applypatch-msg.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/applypatch-msg.sample new file mode 100755 index 0000000..a5d7b84 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/commit-msg.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/fsmonitor-watchman.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/fsmonitor-watchman.sample new file mode 100755 index 0000000..23e856f --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/fsmonitor-watchman.sample @@ -0,0 +1,174 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + my $last_update_line = ""; + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + $last_update_line = qq[\n"since": $last_update_token,]; + } + my $query = <<" END"; + ["query", "$git_work_tree", {$last_update_line + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/post-update.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-applypatch.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-applypatch.sample new file mode 100755 index 0000000..4142082 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-commit.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-commit.sample new file mode 100755 index 0000000..e144712 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-merge-commit.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-merge-commit.sample new file mode 100755 index 0000000..399eab1 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-push.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-push.sample new file mode 100755 index 0000000..4ce688d --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-rebase.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-rebase.sample new file mode 100755 index 0000000..6cbef5c --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-receive.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-receive.sample new file mode 100755 index 0000000..a1fd29e --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/prepare-commit-msg.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..10fa14c --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/hooks/push-to-checkout.sample b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/push-to-checkout.sample new file mode 100755 index 0000000..af5a0c0 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/info/exclude b/.build/repositories/swift-openapi-urlsession-03c02701/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/objects/pack/pack-aaa4aefd613337b21f9252dea5e75a23c1ab3ec2.idx b/.build/repositories/swift-openapi-urlsession-03c02701/objects/pack/pack-aaa4aefd613337b21f9252dea5e75a23c1ab3ec2.idx new file mode 100644 index 0000000..6bbbccc Binary files /dev/null and b/.build/repositories/swift-openapi-urlsession-03c02701/objects/pack/pack-aaa4aefd613337b21f9252dea5e75a23c1ab3ec2.idx differ diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/objects/pack/pack-aaa4aefd613337b21f9252dea5e75a23c1ab3ec2.pack b/.build/repositories/swift-openapi-urlsession-03c02701/objects/pack/pack-aaa4aefd613337b21f9252dea5e75a23c1ab3ec2.pack new file mode 100644 index 0000000..da21298 Binary files /dev/null and b/.build/repositories/swift-openapi-urlsession-03c02701/objects/pack/pack-aaa4aefd613337b21f9252dea5e75a23c1ab3ec2.pack differ diff --git a/.build/repositories/swift-openapi-urlsession-03c02701/packed-refs b/.build/repositories/swift-openapi-urlsession-03c02701/packed-refs new file mode 100644 index 0000000..4ec3fe2 --- /dev/null +++ b/.build/repositories/swift-openapi-urlsession-03c02701/packed-refs @@ -0,0 +1,90 @@ +# pack-refs with: peeled fully-peeled sorted +b799051f497883808f3143d323c2475837ce6d2e refs/heads/main +8387433859126fcc53222160227a440117c0b321 refs/pull/1/head +ce0f944cbc11f196c0a6008065933bf671d7f0c5 refs/pull/10/head +8d9deb7cd858c539334fb1c2cdd3c270ee39176d refs/pull/11/head +eed6fc50c4d57a4f2bae011ff03b0e59b5e26eaa refs/pull/12/head +a920c5c51f3ec581c008619ac5860da5eec3d324 refs/pull/13/head +decab551eee97d70b7d6b91a4e9d169aa0199195 refs/pull/14/head +5fbb0a01ad403122bb5b8ecde8f7deea838e3730 refs/pull/15/head +0caa23d20087ba92597e5d01c661d014d61b14f9 refs/pull/16/head +a7e9c14086083727570a623d7dca6dc097288857 refs/pull/17/head +e9d9a9cb8a93d7da7300692dca106b87797f97ef refs/pull/18/head +ccecfb824b4758b6b0cb782c37744e60cc5540c1 refs/pull/19/head +4cc681d4a26e42868fc491cad3a61087e698dcd0 refs/pull/2/head +c3d5338f08d1e66ab380c04ad14fd97f1c42ba3a refs/pull/20/head +cd42d96ea181f40a411de1d7025a6643c8026e82 refs/pull/21/head +aff7df678df453a0e2f360383154373846eb4a33 refs/pull/22/head +f31748457a9aaf89ac519b5a6ec8dbb717d3a900 refs/pull/23/head +84dd06ead16867760a7962d0a05c21942994670c refs/pull/24/head +6a8f1a582ba0548edcf4eadcff2876cf7947a9c3 refs/pull/25/head +2d98cc5a59f7cf3561874b7b7c850f773f40e0cd refs/pull/26/head +a768a21b6d09171cf26c481258cc86f93df3298c refs/pull/27/head +96ebba7437449aee0e13e14e7c7e222533154f59 refs/pull/28/head +1a7959ba67fef6792a5cf0e901dce2c5891fda94 refs/pull/29/head +cb718cb04b4bae2f950aacbb5d8b0d4b4a571db0 refs/pull/3/head +0071319415cf04b67fb91ac89fdcff8d5ddae76c refs/pull/30/head +8ac501318cb02815632a637f07a1c4fac6c15979 refs/pull/31/head +041c62cc22df09ae09a3071ba262529944ad28f9 refs/pull/32/head +d92b4fb78bd13057468d4c4e8fe34e8000c4a680 refs/pull/33/head +9409acb628348bf96b59e8b46cdc4cf5a9932fd4 refs/pull/34/head +e1fd92bbc17d37bd0c9e41892c2c98d414dc3aee refs/pull/35/head +26b13231d2be7c67e60ec44e5880fdcb4850eb0f refs/pull/36/head +f73756d6782e4aef4a11c1343a1e5e9ff3baf193 refs/pull/37/head +dc2b18f64ef8064ada215d266bdcf7ab9fc17097 refs/pull/38/head +70b67b4a00c3fb27021dc4cbb11a30d3e9649839 refs/pull/39/head +473857f5ede7d86400e8c074b3d9b1fce024cec3 refs/pull/4/head +2e8aa2f6391f230659e6c936e2816a4c20b20c0a refs/pull/40/head +bc9f10a19d97b5ddad56f5dcc085a188bdb9a4ce refs/pull/41/head +30bd1e64efa16e0f64c031aac45884986af517a5 refs/pull/41/merge +c2f34d2fc9143fb6e543522ad49492d62e7ed16d refs/pull/42/head +c5e3221072d60bf1afedb301505e73bd28811519 refs/pull/43/head +18bc95ed08e2beba3a52fe2e9efd4712abf74ccf refs/pull/44/head +3f064329dc5a32dc1b7181d7c6c3f722846f77bd refs/pull/45/head +9140bfc4d46c7669c3fa22167c9091db4bc1ee77 refs/pull/46/head +905bdb621c3b81f047a54d5a39ee2158e3e041ab refs/pull/47/head +11343861770fb7defa44f33fcca77bbbc627a3a6 refs/pull/48/head +a37f970738fd800bd0305a51f557ffb84c3749a9 refs/pull/5/head +433de11aee48f50498cfdeb3bf8325bea4804d7e refs/pull/50/head +8f441cea2afe0eea93c60ae1fd7037bfc16d54fd refs/pull/51/head +d6ae73f4b32b427b5647c4a221b9bf8a43d2a925 refs/pull/52/head +7bdf7e0fd55703e69beab23e78449d0f3ac84259 refs/pull/53/head +ca381998dc44eba43e539067c13ab6f79d35ab81 refs/pull/55/head +f9428fa26b0f10a0bcf1637d4b23f2da9613a548 refs/pull/56/head +441c8a24a7954700d0303c090e368bc971fc86e2 refs/pull/57/head +c9955efe59ae3af3989a510003e8f1e77637298b refs/pull/58/head +345759d07f3d2e00536a74abebea85e6df2fef7d refs/pull/6/head +aa64e034466acbd60826ea6fb4c9b642278165f6 refs/pull/60/head +621e3cf096ac873ca69ef9cb40f0f73e0eb2d60d refs/pull/61/head +27866cd5925d20c43bec2f991fb4e19d71ca581e refs/pull/62/head +8ec1738c18f0c66c1668fb24a48df4b317140dca refs/pull/63/head +0a4ee5fea8bff47af56701860e8b030d2b078b2b refs/pull/64/head +6ee76c1a72a6967f22a5df32c9fcfe2ceb7b6b86 refs/pull/65/head +853643c06658c39b363e12a0f6a2ebd9a2595107 refs/pull/66/head +35c6d61eec96c1ecded524f3027b55f0fc5a8d05 refs/pull/67/head +00fbd4bf80269c701a485198d2637afa007a0800 refs/pull/67/merge +1a685fc90076b2791d3ef9bd2aac7e5c6d00a575 refs/pull/68/head +cbc6afbd5bd7ebdaa741c4ce0682a4c78f39bf9c refs/pull/69/head +0bedb7532e6c4c31648eb5306b8147df26389bf2 refs/pull/7/head +b117fa9cab7d0a192dbafdff0924be5497f9cd36 refs/pull/70/head +07192fa2187ab5196461c20baf01b8c7e60f418d refs/pull/70/merge +a02bb8acddc36b45a9957115c3ff6efcbdab1d07 refs/pull/71/head +358060f2698d371250be59af8be1fe253dc9d41d refs/pull/72/head +68865ebd272b9c96c4b983298d3ec793141fb615 refs/pull/73/head +051550555b907eb9271088975beee909f54488b2 refs/pull/74/head +83d58cfa48f8ad71796200b31f7c7b65419bce08 refs/pull/8/head +c2eb57e7929267e76fad6190b14f9e03cf7b719b refs/pull/9/head +c13873262dd1565e40c0a583516b9192998ac97d refs/tags/0.1.0 +12cece2055fa3dbd20729eaf561a12af7b6fca7a refs/tags/0.1.1 +f6e6c2fc1011e0f20a5ea1a0a57ab388f9aebc4d refs/tags/0.1.2 +c3bce517f9a07af6958e47b29af3bd358dbf06f3 refs/tags/0.1.3 +c3bce517f9a07af6958e47b29af3bd358dbf06f3 refs/tags/0.2.0 +294b1e958bb3a82f967c94c130ad86fcee0af6c0 refs/tags/0.2.1 +8d34af5db44be4825749259dbb38e5e11a4c48da refs/tags/0.2.2 +2a676df437aeb50ddf8ecb0ad327d14f078d6cb6 refs/tags/0.3.0 +9229842c63e9fc3bbd32c661d8274b4d9d8715f1 refs/tags/0.3.1 +aac0a8273fa1186641e0b336da3f1be01aa6a0eb refs/tags/1.0.0 +d038c8965f4a9d436da905a6bca99c3121654288 refs/tags/1.0.0-alpha.1 +6efbfda5276bbbc8b4fec5d744f0ecd8c784eb47 refs/tags/1.0.1 +9bf4c712ad7989d6a91dbe68748b8829a50837e4 refs/tags/1.0.2 +6fac6f7c428d5feea2639b5f5c8b06ddfb79434b refs/tags/1.1.0 diff --git a/.build/workspace-state.json b/.build/workspace-state.json new file mode 100644 index 0000000..aa952d4 --- /dev/null +++ b/.build/workspace-state.json @@ -0,0 +1,180 @@ +{ + "object" : { + "artifacts" : [ + + ], + "dependencies" : [ + { + "basedOn" : null, + "packageRef" : { + "identity" : "openapikit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mattpolzin/OpenAPIKit", + "name" : "OpenAPIKit" + }, + "state" : { + "checkoutState" : { + "revision" : "a75aa4166d916f1cb4a192e928a18f7b6d3516bc", + "version" : "3.5.2" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "OpenAPIKit" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-algorithms", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-algorithms", + "name" : "swift-algorithms" + }, + "state" : { + "checkoutState" : { + "revision" : "87e50f483c54e6efd60e885f7f5aa946cee68023", + "version" : "1.2.1" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-algorithms" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser", + "name" : "swift-argument-parser" + }, + "state" : { + "checkoutState" : { + "revision" : "011f0c765fb46d9cac61bca19be0527e99c98c8b", + "version" : "1.5.1" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-argument-parser" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-collections", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-collections", + "name" : "swift-collections" + }, + "state" : { + "checkoutState" : { + "revision" : "c1805596154bb3a265fd91b8ac0c4433b4348fb0", + "version" : "1.2.0" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-collections" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-http-types", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-http-types", + "name" : "swift-http-types" + }, + "state" : { + "checkoutState" : { + "revision" : "a0a57e949a8903563aba4615869310c0ebf14c03", + "version" : "1.4.0" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-http-types" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-numerics", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-numerics.git", + "name" : "swift-numerics" + }, + "state" : { + "checkoutState" : { + "revision" : "e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8", + "version" : "1.0.3" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-numerics" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-openapi-generator", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-openapi-generator.git", + "name" : "swift-openapi-generator" + }, + "state" : { + "checkoutState" : { + "revision" : "09ed6c489f88d06228a404a0313adeea743e6cad", + "version" : "1.8.0" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-openapi-generator" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-openapi-runtime", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-openapi-runtime.git", + "name" : "swift-openapi-runtime" + }, + "state" : { + "checkoutState" : { + "revision" : "8f33cc5dfe81169fb167da73584b9c72c3e8bc23", + "version" : "1.8.2" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-openapi-runtime" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "swift-openapi-urlsession", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-openapi-urlsession.git", + "name" : "swift-openapi-urlsession" + }, + "state" : { + "checkoutState" : { + "revision" : "6fac6f7c428d5feea2639b5f5c8b06ddfb79434b", + "version" : "1.1.0" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "swift-openapi-urlsession" + }, + { + "basedOn" : null, + "packageRef" : { + "identity" : "yams", + "kind" : "remoteSourceControl", + "location" : "https://github.com/jpsim/Yams", + "name" : "Yams" + }, + "state" : { + "checkoutState" : { + "revision" : "9281f8c99aff4f4a55dce22ae29b1181c935caa5", + "version" : "6.0.0" + }, + "name" : "sourceControlCheckout" + }, + "subpath" : "Yams" + } + ] + }, + "version" : 6 +} \ No newline at end of file diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..3d03847 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,95 @@ +{ + "pins" : [ + { + "identity" : "openapikit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mattpolzin/OpenAPIKit", + "state" : { + "revision" : "a75aa4166d916f1cb4a192e928a18f7b6d3516bc", + "version" : "3.5.2" + } + }, + { + "identity" : "swift-algorithms", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-algorithms", + "state" : { + "revision" : "87e50f483c54e6efd60e885f7f5aa946cee68023", + "version" : "1.2.1" + } + }, + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser", + "state" : { + "revision" : "011f0c765fb46d9cac61bca19be0527e99c98c8b", + "version" : "1.5.1" + } + }, + { + "identity" : "swift-collections", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-collections", + "state" : { + "revision" : "c1805596154bb3a265fd91b8ac0c4433b4348fb0", + "version" : "1.2.0" + } + }, + { + "identity" : "swift-http-types", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-http-types", + "state" : { + "revision" : "a0a57e949a8903563aba4615869310c0ebf14c03", + "version" : "1.4.0" + } + }, + { + "identity" : "swift-numerics", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-numerics.git", + "state" : { + "revision" : "e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8", + "version" : "1.0.3" + } + }, + { + "identity" : "swift-openapi-generator", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-openapi-generator.git", + "state" : { + "revision" : "09ed6c489f88d06228a404a0313adeea743e6cad", + "version" : "1.8.0" + } + }, + { + "identity" : "swift-openapi-runtime", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-openapi-runtime.git", + "state" : { + "revision" : "8f33cc5dfe81169fb167da73584b9c72c3e8bc23", + "version" : "1.8.2" + } + }, + { + "identity" : "swift-openapi-urlsession", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-openapi-urlsession.git", + "state" : { + "revision" : "6fac6f7c428d5feea2639b5f5c8b06ddfb79434b", + "version" : "1.1.0" + } + }, + { + "identity" : "yams", + "kind" : "remoteSourceControl", + "location" : "https://github.com/jpsim/Yams", + "state" : { + "revision" : "9281f8c99aff4f4a55dce22ae29b1181c935caa5", + "version" : "6.0.0" + } + } + ], + "version" : 2 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..1ad45a1 --- /dev/null +++ b/Package.swift @@ -0,0 +1,44 @@ +// swift-tools-version: 5.9 + +import PackageDescription + +let package = Package( + name: "ReadeckAPI", + platforms: [ + .iOS(.v15), + .macOS(.v12), + .tvOS(.v15), + .watchOS(.v8), + .visionOS(.v1) + ], + products: [ + .library( + name: "ReadeckAPI", + targets: ["ReadeckAPI"] + ), + ], + dependencies: [ + // Swift OpenAPI Generator (Codegenerierung beim Build) + .package(url: "https://github.com/apple/swift-openapi-generator.git", from: "1.2.0"), + // OpenAPI Runtime (Laufzeitkomponenten) + .package(url: "https://github.com/apple/swift-openapi-runtime.git", from: "1.3.0"), + // Optional: URLSession-Transport für HTTP-Clients + .package(url: "https://github.com/apple/swift-openapi-urlsession.git", from: "1.0.0") + ], + targets: [ + .target( + name: "ReadeckAPI", + dependencies: [ + .product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"), + .product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession") + ], + plugins: [ + .plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator") + ] + ), + .testTarget( + name: "ReadeckAPITests", + dependencies: ["ReadeckAPI"] + ) + ] +) diff --git a/Sources/ReadeckAPI/bookmarks/routes.yaml b/Sources/ReadeckAPI/bookmarks/routes.yaml new file mode 100644 index 0000000..8f2f929 --- /dev/null +++ b/Sources/ReadeckAPI/bookmarks/routes.yaml @@ -0,0 +1,563 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +withBookmark: + parameters: + - name: id + in: path + required: true + description: Bookmark ID + schema: + type: string + format: short-uid + +withLabel: + parameters: + - name: name + in: path + required: true + description: Label + schema: + type: string + +withAnnotation: + parameters: + - name: annotation_id + in: path + required: true + description: Highlight ID + schema: + type: string + format: short-uid + +withCollection: + parameters: + - name: id + in: path + required: true + description: Collection ID + schema: + type: string + format: short-uid + +# GET /bookmarks +list: + summary: Bookmark List + description: | + This route returns a paginated bookmark list. + + parameters: + - name: search + in: query + description: A full text search string + schema: + type: string + - name: title + in: query + description: Bookmark title + schema: + type: string + - name: author + in: query + description: Author's name + schema: + type: string + - name: site + in: query + description: Bookmark site name or domain + schema: + type: string + - name: type + in: query + description: Bookmark type + schema: + type: array + items: + type: string + enum: [article, photo, video] + - name: labels + in: query + description: One or several labels + schema: + type: string + - name: is_loaded + in: query + description: Filter by loaded state + schema: + type: boolean + - name: has_errors + in: query + description: Filter bookmarks with or without errors + schema: + type: boolean + - name: has_labels + in: query + description: Filter bookmarks with or without labels + schema: + type: boolean + - name: is_marked + in: query + description: Filter by marked (favorite) status + schema: + type: boolean + - name: is_archived + in: query + description: Filter by archived status + schema: + type: boolean + - name: range_start + in: query + schema: + type: string + - name: range_end + in: query + schema: + type: string + - name: read_status + in: query + description: Read progress status + schema: + type: array + items: + type: string + enum: [unread, reading, read] + - name: updated_since + in: query + description: Retrieve bookmarks created after this date + schema: + type: string + format: date-time + - name: id + in: query + description: One or more bookmark ID + schema: + type: string + - name: collection + in: query + description: A collection ID + schema: + type: string + + responses: + '200': + description: List of bookmark items + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/bookmarkSummary" + +# POST /bookmarks +create: + summary: Bookmark Create + description: Creates a new bookmark + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkCreate" + + responses: + "202": + headers: + Bookmark-Id: + schema: + type: string + description: ID of the created bookmark + +# GET /bookmarks/{id} +retrieve: + summary: Bookmark Details + description: Retrieves a saved bookmark + + responses: + "200": + description: Bookmark details + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkInfo" + +# PATCH /bookmarks/{id} +update: + summary: Bookmark Update + description: | + This route updates some bookmark's properties. Every input value is optional. + Upon success, it returns a mapping of changed values. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkUpdate" + + responses: + "200": + description: Bookmark updated + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkUpdated" + +# DELETE /bookmarks/{id} +delete: + summary: Bookmark Delete + description: Deletes a saved bookmark + + responses: + "204": + description: The bookmark was successfuly deleted. + +# GET /bookmarks/{id}/article +article: + summary: Bookmark Article + description: | + This route returns the bookmark's article if it exists. + + responses: + "200": + description: | + A `text/html` response, containing the article body. + Please note that it's only the fragment and not a full HTML document. + content: + text/html: + schema: + type: string + +# GET /bookmarks/{id}/article.{format} +export: + summary: Bookmark Export + description: This route exports a bookmark to another format. + + parameters: + - name: format + in: path + required: true + description: Export format + schema: + type: string + enum: [epub, md] + + responses: + "200": + content: + application/epub+zip: + schema: + type: string + format: binary + text/markdown: + schema: + type: string + +# GET /bookmarks/{id}/share/link +shareLink: + summary: Share by link + description: This route produces a publicly accessible link to share a bookmark. + + responses: + "200": + description: Public link information + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkShareLink" + +# POST /bookmarks/{id}/share/email +shareEmail: + summary: Share by email + description: This route sends a bookmark to an email address. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkShareEmail" + + responses: + "200": + description: Message sent + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +# GET /bookmarks/labels +labels: + summary: Label List + description: | + This route returns all the labels associated to a bookmark for the current user. + + responses: + "200": + description: Label list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/labelInfo" + +# GET /bookmarks/labels/{name} +labelInfo: + summary: Label Info + description: + This route returns information about a given bookmark label. + + responses: + "200": + description: Label information + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/labelInfo" + +# PATCH /bookmarks/labels/{name} +labelUpdate: + summary: Label Update + description: | + This route renames a label. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/labelUpdate" + + responses: + "200": + description: Label renamed + +# DELETE /bookmarks/labels/{name} +labelDelete: + summary: Label Delete + description: | + This route remove a label from all associated bookmarks. + + Please note that it does not remove the bookmarks themselves. + + responses: + "204": + description: Label removed + +# GET /bookmarks/annotations +annotationList: + summary: Highlight List + description: | + This route returns all the highlights created by the current user. + + responses: + "200": + description: Highlight list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/annotationSummary" + +# GET /bookmarks/{id}annotations +bookmarkAnnotationList: + summary: Bookmark Highlights + description: | + This route returns a given bookmark's highlights. + + responses: + "200": + description: Highlight list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/annotationInfo" + +# POST /bookmarks/{id}annotations +bookmarkAnnotationCreate: + summary: Highlight Create + description: | + This route creates a new highlight on a given bookmarks. + + The highlight format is similar to the [Range API](https://developer.mozilla.org/en-US/docs/Web/API/Range) + with some differences: + + - A range's start and end selectors are XPath selectors and must target an element. + - The offset is the text length from the begining of the selector, regardless of the traversed + potential children. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/annotationCreate" + + responses: + "201": + description: Highlight created + content: + application/json: + schema: + $ref: "#/components/schemas/annotationInfo" + +# PATCH /bookmarks/{id}annotations/{annotation_id} +bookmarkAnnotationUpdate: + summary: Highlight Update + description: | + This route updates then given highlight in the given bookmark. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/annotationUpdate" + + responses: + "200": + description: Update result + content: + application/json: + schema: + properties: + updated: + type: string + format: date-time + annotations: + type: array + items: + $ref: "#/components/schemas/annotationInfo" + + +# DELETE /bookmarks/{id}annotations/{annotation_id} +bookmarkAnnotationDelete: + summary: Highlight Delete + description: | + This route removes the given highlight in the given bookmark. + + responses: + "204": + description: Highlight removed + +# GET /bookmarks/collections +collectionList: + summary: Collection List + description: | + This route returns all the current user's collections. + + responses: + "200": + description: Collection list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/collectionInfo" + +# POST /bookmarks/collections +collectionCreate: + summary: Collection Create + description: | + This route creates a new collection. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/collectionCreate" + +# GET /bookmarks/collections/{id} +collectionInfo: + summary: Collection Details + description: | + This route returns a given collection information. + + responses: + "200": + description: Collection information + content: + application/json: + schema: + $ref: "#/components/schemas/collectionInfo" + +# PATH /bookmarks/collections/{id} +collectionUpdate: + summary: Collection Update + description: | + This route updates a given collection. It returns a mapping of updated fields. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/collectionUpdate" + + responses: + "200": + description: Updated fields + content: + application/json: + schema: + $ref: "#/components/schemas/collectionSummary" + +# DELETE /bookmarks/collections/{id} +collectionDelete: + summary: Collection Delete + description: | + This route deletes a given collection. + + responses: + "204": + description: Collection deleted + +# POST /bookmarks/import/text +importMultipartGeneric: + requestBody: + content: + text/plain: + schema: + type: string + description: File content + multipart/form-data: + schema: + properties: + data: + type: string + format: binary + +importTextFile: + summary: Import a Text File + description: | + This route creates bookmarks from a text file that contains one URL + per line. + +importBrowserBookmarks: + summary: Import Browser Bookmarks + description: | + This route creates bookmarks from an HTML file generated by an export of a browser's + bookmarks. + +importPocket: + summary: Import Pocket Saves + description: | + This route creates bookmarks from an HTML file generated by Pocket export tool. + Go to [https://getpocket.com/export](https://getpocket.com/export) to generate + such a file. + +importWallabag: + summary: Import Wallabag Articles + description: | + This route imports articles from Wallabag using its API. + + You must create an API client in Wallabag and use its "Client ID" and "Client Secret" + in this route's payload. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/wallabagImport" diff --git a/Sources/ReadeckAPI/bookmarks/traits.yaml b/Sources/ReadeckAPI/bookmarks/traits.yaml new file mode 100644 index 0000000..07c434e --- /dev/null +++ b/Sources/ReadeckAPI/bookmarks/traits.yaml @@ -0,0 +1,27 @@ +--- +# SPDX-FileCopyrightText: © 2024 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +sortable: + parameters: + - name: sort + in: query + description: Sorting parameters + schema: + type: array + items: + type: string + enum: + - created + - -created + - domain + - -domain + - duration + - -duration + - published + - -published + - site + - -site + - title + - -title diff --git a/Sources/ReadeckAPI/bookmarks/types.yaml b/Sources/ReadeckAPI/bookmarks/types.yaml new file mode 100644 index 0000000..cf12fa2 --- /dev/null +++ b/Sources/ReadeckAPI/bookmarks/types.yaml @@ -0,0 +1,580 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +schemas: + bookmarkSummary: + type: object + properties: + id: + type: string + format: short-uid + description: Bookmark's ID + href: + type: string + format: uri + description: Link to the bookmark info + created: + type: string + format: date-time + description: Creation date + updated: + type: string + format: date-time + description: Last update + state: + type: integer + enum: [0, 1, 2] + description: | + Indicates the state of the bookmark. + - `0`: loaded + - `1`: error + - `2`: loading + loaded: + type: boolean + description: Becomes true when the bookmark is ready (regardless of its error state) + url: + type: string + format: uri + description: Bookmark's original URL + title: + type: string + description: Bookmark's title + site_name: + type: string + description: Bookmark's site name + site: + type: string + format: hostname + description: Bookmark's site host name + published: + type: [string] + format: date-time + nullable: true + description: Publication date. Can be `null` when unknown. + authors: + type: array + items: + type: string + description: Author list + lang: + type: string + description: Language Code + text_direction: + type: string + enum: [rtl, ltr] + description: | + Direction of the article's text. It can be empty when it's unknown. + document_type: + type: string + description: | + The bookmark document type. This is usualy the same value as `type` but it can differ + depending on the extraction process. + type: + type: string + enum: [article, photo, video] + description: | + The bookmark type. Unlike `document_type`, this can only be one of the 3 values. + has_article: + type: boolean + description: | + Indicates whether the bookmarks contains an article. Please not that + there can be an article on any type. + description: + type: string + description: | + Bookmark's short description, when it exists. It's always an unformatted text. + is_deleted: + type: boolean + description: | + `true` when the bookmark is scheduled for deletion. + is_marked: + type: boolean + description: | + `true` when the bookmark is in the favorites. + is_archived: + type: boolean + description: | + `true` when the bookmark is in the archives. + read_progress: + type: integer + minimum: 0 + maximum: 100 + description: Reading progress percentage. + labels: + type: array + items: + type: string + description: Bookmark's labels + word_count: + type: integer + minimum: 0 + description: Number of words in the article, used to compute the reading time. + reading_time: + type: integer + minimum: 0 + description: | + Duration of the article, in minutes. Either the actual duration for a + video or a reading time based on the word count. + resources: + type: object + description: | + This contains a list of resources associated with the bookmark. + The only fields that are always present are `log` and `props`. + The `article` field is only present when a bookmark provides a + text content. Other image fields depend on what was found during + extraction. + properties: + article: + $ref: "#/components/schemas/bookmarkResource" + description: Link to the article, when there is one. + icon: + $ref: "#/components/schemas/bookmarkResourceImage" + description: Link and information for the site icon. + image: + $ref: "#/components/schemas/bookmarkResourceImage" + description: Link and information for the article image. + thumbnail: + $ref: "#/components/schemas/bookmarkResourceImage" + description: Link and information for the article thumbnail. + log: + $ref: "#/components/schemas/bookmarkResource" + description: Link to the extraction log. + props: + $ref: "#/components/schemas/bookmarkResource" + description: Link to the bookmark's extra properties. + + bookmarkResource: + type: object + properties: + src: + type: string + format: uri + description: URL of the resource + + bookmarkResourceImage: + allOf: + - $ref: "#/components/schemas/bookmarkResource" + - type: object + properties: + height: + type: integer + description: Image height + width: + type: integer + description: Image width + + bookmarkInfo: + allOf: + - $ref: "#/components/schemas/bookmarkSummary" + - type: object + properties: + read_anchor: + type: string + description: CSS selector of the last seen element. + links: + description: | + This contains the list of all the links collected in the + retrieved article. + type: array + items: + properties: + url: + type: string + format: uri + description: Link URI + domain: + type: string + format: hostname + description: Link's domain + title: + type: string + description: Link's title + is_page: + type: boolean + description: | + `true` when the destination is a web page + content_type: + type: string + description: MIME type of the destination + + bookmarkCreate: + required: [url] + properties: + url: + type: string + description: URL to fetch + title: + type: string + description: Title of the bookmark + labels: + type: array + items: + type: string + description: List of labels to set to the bookmark + + bookmarkUpdate: + properties: + title: + type: string + description: New bookmark's title + is_marked: + type: boolean + description: Favortie state + is_archived: + type: boolean + description: Archive state + is_deleted: + type: boolean + description: | + If `true`, schedules the bookmark for deletion, otherwise, cancels any scheduled deletion + read_progress: + type: integer + minimum: 0 + maximum: 100 + description: Reading progress percentage + read_anchor: + type: string + description: CSS selector of the last seen element + labels: + type: array + items: + type: string + description: Replaces the bookmark's labels + add_labels: + items: + type: string + description: Add the given labels to the bookmark + remove_labels: + items: + type: string + description: Remove the given labels from the bookmark + + bookmarkUpdated: + required: [href, id, updated] + properties: + href: + type: string + format: uri + description: Bookmark URI + id: + type: string + format: short-uid + description: Bookmark's ID + updated: + type: string + format: date-time + description: Last update + title: + type: string + description: Bookmark Title + is_marked: + type: string + description: Favorite status + is_archived: + type: string + description: Archive status + is_deleted: + type: string + description: Scheduled deletion status + read_progress: + type: integer + minimum: 0 + maximum: 100 + description: Reading progress percentage + read_anchor: + type: string + description: CSS selector of the last seen element + labels: + type: string + description: New label list + + bookmarkShareLink: + properties: + url: + type: string + description: Public URL + expires: + type: string + format: date-time + description: Expiration date + title: + type: string + description: Bookmark title + id: + type: string + description: Bookmark ID + + bookmarkShareEmail: + properties: + email: + type: string + format: email + format: + type: string + enum: ["html", "epub"] + example: + email: alice@localhost + format: html + + labelInfo: + properties: + name: + type: string + description: Label's name + count: + type: integer + description: Number of bookmarks with this label + href: + type: string + format: uri + description: Link to the label info + href_bookmarks: + type: string + format: uri + description: Link to the bookmarks with this label + + labelUpdate: + properties: + name: + type: string + description: New label + + annotationSummary: + properties: + id: + type: string + format: short-uid + description: Highlight ID + href: + type: string + format: uri + description: Link to the highlight + text: + type: string + description: Highlighted text + created: + type: string + format: date-time + description: Highlight creation date + bookmark_id: + type: string + format: short-uid + description: Bookmark ID + bookmark_href: + type: string + format: uri + description: Link to the bookmark information + bookmark_url: + type: string + format: uri + description: Original bookmark's URL + bookmark_title: + type: string + description: Title of the bookmark + bookmark_site_name: + type: string + description: Bookmark's site name + + annotationInfo: + properties: + id: + type: string + format: short-uid + description: Highlight ID + start_selector: + type: string + description: Start element's XPath selector + start_offset: + type: integer + description: Start element's text offset + end_selector: + type: string + description: End element's XPath selector + end_offset: + type: integer + description: End element's text offset + created: + type: string + format: date-time + description: Highlight creation date + text: + type: string + description: Highlighted text + + annotationCreate: + required: [start_selector, start_offset, end_selector, end_offset, color] + properties: + start_selector: + type: string + description: Start element's XPath selector + start_offset: + type: integer + description: Start element's text offset + end_selector: + type: string + description: End element's XPath selector + end_offset: + type: integer + description: End element's text offset + color: + type: color + description: Annotation color + + annotationUpdate: + required: [color] + properties: + color: + type: color + description: Annotation color + + collectionSummary: + properties: + updated: + type: string + format: date-time + description: Last update date + name: + type: string + description: Collection's name + is_pinned: + type: boolean + description: | + `true` when the collection is pinned + is_deleted: + type: boolean + description: Collection is scheduled for deletion + search: + type: string + description: Search string + title: + type: string + description: Title filter + author: + type: string + description: Author filter + site: + type: string + description: Site (name, host or domain) filter + type: + type: array + items: + type: string + enum: [article, photo, video] + description: Type filter + labels: + type: string + description: Label filter + read_status: + type: array + items: + type: string + enum: [unread, reading, read] + description: Read progress status + is_marked: + type: boolean + description: Favorite filter + is_archived: + type: boolean + description: Archive filter + range_start: + type: string + description: From date filter + range_end: + type: string + description: To date filter + + collectionInfo: + allOf: + - type: object + properties: + id: + type: string + format: short-uid + description: Collection ID + href: + type: string + format: uri + description: Collection URL + created: + type: string + format: date-time + description: Creation date + - $ref: "#/components/schemas/collectionSummary" + + + collectionCreate: + properties: + name: + type: string + description: Collection's name + is_pinned: + type: boolean + description: | + `true` when the collection is pinned + is_deleted: + type: boolean + description: Collection is scheduled for deletion + search: + type: string + description: Search string + title: + type: string + description: Title filter + author: + type: string + description: Author filter + site: + type: string + description: Site (name, host or domain) filter + type: + type: array + items: + type: string + enum: [article, photo, video] + description: Type filter + labels: + type: string + description: Label filter + read_status: + type: array + items: + type: string + enum: [unread, reading, read] + description: Read progress status + is_marked: + type: boolean + description: Favorite filter + is_archived: + type: boolean + description: Archive filter + range_start: + type: string + description: From date filter + range_end: + type: string + description: To date filter + + collectionUpdate: + allOf: + - $ref: "#/components/schemas/collectionCreate" + + wallabagImport: + properties: + url: + type: string + format: uri + description: Your Wallabag instance's URL + username: + type: string + description: Your Wallabag username + password: + type: string + description: Your Wallabag password + client_id: + type: string + description: API Client ID + client_secret: + type: string + description: API Client Secret diff --git a/Sources/ReadeckAPI/cookbook/routes.yaml b/Sources/ReadeckAPI/cookbook/routes.yaml new file mode 100644 index 0000000..74e1f96 --- /dev/null +++ b/Sources/ReadeckAPI/cookbook/routes.yaml @@ -0,0 +1,145 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +# GET /cookbook/extrack +extract: + summary: Extract Link + description: | + **NOTE: Only available for user in the admin group.** + + This route extracts a link and returns the extraction result. + + You can pass an `Accept` header to the request, with one of the following values: + + - `application/json` (default) returns a JSON response + - `text/html` returns an HTML response with all the media included as base64 encoded + URLs. + + parameters: + - name: url + in: query + required: true + schema: + type: string + format: uri + description: URL to extract + + responses: + "200": + description: | + Extraction result. + content: + application/json: + schema: + properties: + url: + type: string + format: uri + description: The extracted URL + logs: + type: array + items: + type: string + description: Extraction log + errors: + type: array + items: + type: string + description: Extraction errors, if any + meta: + type: object + additionalProperties: + type: array + items: + type: string + description: | + Contains the meta tags extracted from the page. + properties: + properties: + json-ld: + type: array + items: + type: object + description: A list of JSON-LD documents retrieved during the extraction + link: + type: array + items: + type: object + patternProperties: + "^@.+": + type: string + description: Link attribute, always starting with `@` + description: A list of all `link` tags retrieved during the extraction + meta: + type: array + items: + type: object + patternProperties: + "^@.+": + type: string + description: Meta attribute, always starting with `@` + description: A list of all `meta` tags retrieved during the extraction + domain: + type: string + format: hostname + description: Page's domain name + title: + type: string + description: Page's title + authors: + type: "[string]" + description: Page's author list + site: + type: string + format: hostname + description: Page's site + site_name: + type: string + description: Page's site name + lang: + type: string + description: Language Code + text_direction: + type: string + enum: [rtl, ltr] + description: | + Direction of the article's text. It can be empty when it's unknown. + date: + type: [string] + format: date-time + nullable: true + description: Publication date. Can be `null` when unknown. + document_type: + type: string + description: | + The detected document type. The value is usualy `article`, `photo` or `video` + but can vary, based on the extraction process. + description: + type: string + description: | + Page's short description, when it exists. It's always an unformatted text. + html: + type: string + description: | + The HTML content after processing. + embed: + type: string + description: | + The oembed HTML fragment, when it exists. It usualy contains an iframe when + extracting videos. + images: + properties: + additionalProperties: + properties: + size: + type: "[integer]" + description: The image size in pixels + encoded: + type: string + description: The base64 URI encoded image + + text/html: + schema: + type: string diff --git a/Sources/ReadeckAPI/open_api.yaml b/Sources/ReadeckAPI/open_api.yaml new file mode 100644 index 0000000..9a6219f --- /dev/null +++ b/Sources/ReadeckAPI/open_api.yaml @@ -0,0 +1,339 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +openapi: 3.0.0 +info: + version: 1.0.0 + title: Readeck API + description: | + # Introduction + + The Readeck API provides REST endpoints that can be used for any purpose, should it be a + mobile application, a script, you name it. + + ## API Endpoint + + You can access this API on `__BASE_URI__`. + + Most of your requests and responses are using JSON as the exchange format. + + ## Authentication + + To use the API, you first need to [create an authentication token](../profile/tokens). You can + then use your new token using the `Bearer` HTTP authorization scheme. + + For example, you first request will look like: + + ```sh + curl -H "Authorization: Bearer " __BASE_URI__/bookmarks + ``` + + Or, in NodeJS: + + ```js + fetch("__BASE_URI__/bookmarks", { + headers: { + "Authorization": "Bearer ", + }, + }) + ``` + + ## First time authentication + + While you can create an authentication token from Readeck, you can also get one directly from + the API. This provides a mechanism to ask for user credentials and obtain a token for your app + only. + + Please refer to [POST /auth](#post-/auth) for more information. + + ## Test the API + + On this documentation, you can test every route. + + If you don't provide an API token in [Authentication](#auth), you can still test all the routes + but note that the given curl examples only work with an API token. + + +servers: + - url: __BASE_URI__ + +components: + securitySchemes: + bearer: + type: http + scheme: Bearer + + schemas: + $merge: + - "types.yaml#.schemas" + - "bookmarks/types.yaml#.schemas" + - "profile/types.yaml#.schemas" + +security: + - bearer: [] + +tags: + - name: user profile + - name: bookmarks + - name: bookmark export + - name: bookmark sharing + - name: bookmark labels + - name: bookmark highlights + - name: bookmark collections + - name: bookmarks import + - name: dev tools + +paths: + /auth: + post: + tags: [user profile] + $merge: + - "profile/routes.yaml#.auth" + + /profile: + get: + tags: [user profile] + $merge: + - "traits.yaml#.authenticated" + - "profile/routes.yaml#.profile" + + /bookmarks: + get: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/traits.yaml#.sortable" + - "bookmarks/routes.yaml#.list" + + post: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.create" + + /bookmarks/{id}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.retrieve" + + patch: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.update" + + delete: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.delete" + + /bookmarks/{id}/article: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark export] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.article" + + /bookmarks/{id}/article.{format}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark export] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.export" + + /bookmarks/{id}/share/link: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark sharing] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.shareLink" + + /bookmarks/{id}/share/email: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + post: + tags: [bookmark sharing] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.shareEmail" + + /bookmarks/labels: + get: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labels" + + /bookmarks/labels/{name}: + $merge: + - "bookmarks/routes.yaml#.withLabel" + + get: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labelInfo" + + patch: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.labelUpdate" + + delete: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labelDelete" + + /bookmarks/annotations: + get: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/routes.yaml#.annotationList" + + /bookmarks/{id}/annotations: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.bookmarkAnnotationList" + + post: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.created" + - "bookmarks/routes.yaml#.bookmarkAnnotationCreate" + + /bookmarks/{id}/annotations/{annotation_id}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + patch: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.withAnnotation" + - "bookmarks/routes.yaml#.bookmarkAnnotationUpdate" + + delete: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.withAnnotation" + - "bookmarks/routes.yaml#.bookmarkAnnotationDelete" + + /bookmarks/collections: + get: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/routes.yaml#.collectionList" + + post: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.created" + - "bookmarks/routes.yaml#.collectionCreate" + + /bookmarks/collections/{id}: + $merge: + - "bookmarks/routes.yaml#.withCollection" + + get: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionInfo" + + patch: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionUpdate" + + delete: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionDelete" + + /bookmarks/import/text: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importTextFile" + + /bookmarks/import/browser: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importBrowserBookmarks" + + /bookmarks/import/pocket-file: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importPocket" + + /bookmarks/import/wallabag: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importWallabag" + + + /cookbook/extract: + get: + tags: [dev tools] + $merge: + - "traits.yaml#.authenticated" + - "cookbook/routes.yaml#.extract" diff --git a/Sources/ReadeckAPI/profile/routes.yaml b/Sources/ReadeckAPI/profile/routes.yaml new file mode 100644 index 0000000..3517159 --- /dev/null +++ b/Sources/ReadeckAPI/profile/routes.yaml @@ -0,0 +1,55 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +auth: + summary: Authenticate + description: | + This route performs the authentication with a username and a password and returns a token + that you can use for all API requests. + + You don't need to perform a request to this route each time you're using the API, only do it + once and keep the token somehow. You can use this route to provide a first time authentication + in a mobile application or any API client you may build and only store the resulting token. + + You MUST provide an application name. + + Alternatively, you can [create an authentication token](../profile/tokens) directly from + Readeck. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/authenticationForm" + + responses: + "201": + description: Authentication success + content: + application/json: + schema: + $ref: "#/components/schemas/authenticationResult" + + "403": + description: Authentication failed + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +# GET /profile +profile: + summary: User Profile + description: | + This route returns the current user's profile information. This includes the user information + and preferences, and the authentication provider with its permissions. + + responses: + "200": + description: Profile information + content: + application/json: + schema: + $ref: "#/components/schemas/userProfile" diff --git a/Sources/ReadeckAPI/profile/types.yaml b/Sources/ReadeckAPI/profile/types.yaml new file mode 100644 index 0000000..ccc0617 --- /dev/null +++ b/Sources/ReadeckAPI/profile/types.yaml @@ -0,0 +1,143 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +schemas: + authenticationForm: + type: object + required: [username, password, application] + properties: + username: + type: string + description: Username + password: + type: string + description: Password + application: + type: string + description: Application name. This can be anything. + roles: + type: array + items: + type: string + description: A list of roles to restrict the new token access. + example: + username: alice + password: "1234" + application: api doc + + authenticationResult: + type: object + properties: + id: + type: string + description: Token ID + token: + type: string + description: Authentication token. This is the value you must store in your application. + example: + { + "id": "RFutYEAVM95DUDLUDnhbQm", + "token": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJqdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + } + + userProfile: + type: object + properties: + provider: + description: Authentication provider information + type: object + properties: + id: + type: string + format: short-uid + description: Authentication provider ID (ie. the token ID) + name: + type: string + description: Provider name + application: + type: string + description: The registered application name + roles: + type: array + items: + type: string + description: Roles granted for this session + permissions: + type: array + items: + type: string + description: Permissions granted for this session + user: + description: User information + type: object + properties: + username: + type: string + description: Username + email: + type: string + format: email + description: User email + created: + type: string + format: date-time + description: Creation date + updated: + type: string + format: date-time + description: Last update date + settings: + description: User settings + type: object + properties: + debug_info: + type: boolean + description: Enable debug information + reader_settings: + description: Reader settings + type: object + properties: + font: + type: string + font_size: + type: integer + line_height: + type: integer + example: + { + "provider": { + "name": "bearer token", + "id": "X4bmnMRcnDhQtu5y33qzTp", + "application": "internal", + "roles": [ + "scoped_bookmarks_r", + "scoped_bookmarks_w" + ], + "permissions": [ + "api:bookmarks:collections:read", + "api:bookmarks:collections:write", + "api:bookmarks:export", + "api:bookmarks:read", + "api:bookmarks:write", + "api:opds:read", + "api:profile:read", + "api:profile:tokens:delete" + ] + }, + "user": { + "username": "alice", + "email": "alice@localhost", + "created": "2023-08-27T13:32:11.704606963Z", + "updated": "2023-12-17T09:08:31.909723372Z", + "settings": { + "debug_info": false, + "reader_settings": { + "font": "serif", + "font_size": 3, + "line_height": 3 + } + } + } + } diff --git a/Sources/ReadeckAPI/traits.yaml b/Sources/ReadeckAPI/traits.yaml new file mode 100644 index 0000000..238590c --- /dev/null +++ b/Sources/ReadeckAPI/traits.yaml @@ -0,0 +1,125 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +authenticated: + responses: + "401": + description: | + Unauthorized. The request token found in the Authorization header is not valid. + content: + application/json: + schema: + $ref: "#/components/schemas/message" + "403": + description: | + Forbidden. The user doesn't have permission to fetch users for the specified, + but has other account permissions + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +paginated: + parameters: + - name: limit + in: query + description: Number of items per page + schema: + type: integer + - name: offset + in: query + description: Pagination offset + schema: + type: integer + + responses: + '200': + headers: + Link: + description: Link to other pages in paginated results + schema: + type: array + items: + type: string + Current-Page: + description: Current page number + schema: + type: integer + Total-Count: + description: Total number of items + schema: + type: integer + Total-Pages: + description: Total number of pages + schema: + type: integer + +created: + responses: + "201": + headers: + Location: + description: URL of the created resource + schema: + type: string + format: uri + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +deferred: + responses: + "202": + headers: + Location: + description: URL of the created resource + schema: + type: string + format: uri + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +validator: + responses: + "422": + description: | + This HTTP response is sent when the input data is not valid. It contains an object + with all the detected errors. + content: + application/json: + schema: + properties: + is_valid: + type: boolean + description: | + `true` if the input is valid + errors: + type: "[string]" + nullable: true + description: List of global input errors + fields: + type: object + description: | + All the fields, with and without errors + additionalProperties: + properties: + is_null: + type: boolean + description: | + `true` if the input value is null + is_bound: + type: boolean + description: | + `true` when the value is bound to the form + value: + type: any + description: Item's value; can be any type + errors: + type: "[string]" + nullable: true + description: List of errors for this field diff --git a/Sources/ReadeckAPI/types.yaml b/Sources/ReadeckAPI/types.yaml new file mode 100644 index 0000000..a4ab7e0 --- /dev/null +++ b/Sources/ReadeckAPI/types.yaml @@ -0,0 +1,14 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +schemas: + message: + properties: + status: + type: integer + description: HTTP Status Code + message: + type: string + description: Information or error message diff --git a/readeck-api.yaml b/readeck-api.yaml new file mode 100644 index 0000000..9a6219f --- /dev/null +++ b/readeck-api.yaml @@ -0,0 +1,339 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +openapi: 3.0.0 +info: + version: 1.0.0 + title: Readeck API + description: | + # Introduction + + The Readeck API provides REST endpoints that can be used for any purpose, should it be a + mobile application, a script, you name it. + + ## API Endpoint + + You can access this API on `__BASE_URI__`. + + Most of your requests and responses are using JSON as the exchange format. + + ## Authentication + + To use the API, you first need to [create an authentication token](../profile/tokens). You can + then use your new token using the `Bearer` HTTP authorization scheme. + + For example, you first request will look like: + + ```sh + curl -H "Authorization: Bearer " __BASE_URI__/bookmarks + ``` + + Or, in NodeJS: + + ```js + fetch("__BASE_URI__/bookmarks", { + headers: { + "Authorization": "Bearer ", + }, + }) + ``` + + ## First time authentication + + While you can create an authentication token from Readeck, you can also get one directly from + the API. This provides a mechanism to ask for user credentials and obtain a token for your app + only. + + Please refer to [POST /auth](#post-/auth) for more information. + + ## Test the API + + On this documentation, you can test every route. + + If you don't provide an API token in [Authentication](#auth), you can still test all the routes + but note that the given curl examples only work with an API token. + + +servers: + - url: __BASE_URI__ + +components: + securitySchemes: + bearer: + type: http + scheme: Bearer + + schemas: + $merge: + - "types.yaml#.schemas" + - "bookmarks/types.yaml#.schemas" + - "profile/types.yaml#.schemas" + +security: + - bearer: [] + +tags: + - name: user profile + - name: bookmarks + - name: bookmark export + - name: bookmark sharing + - name: bookmark labels + - name: bookmark highlights + - name: bookmark collections + - name: bookmarks import + - name: dev tools + +paths: + /auth: + post: + tags: [user profile] + $merge: + - "profile/routes.yaml#.auth" + + /profile: + get: + tags: [user profile] + $merge: + - "traits.yaml#.authenticated" + - "profile/routes.yaml#.profile" + + /bookmarks: + get: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/traits.yaml#.sortable" + - "bookmarks/routes.yaml#.list" + + post: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.create" + + /bookmarks/{id}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.retrieve" + + patch: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.update" + + delete: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.delete" + + /bookmarks/{id}/article: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark export] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.article" + + /bookmarks/{id}/article.{format}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark export] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.export" + + /bookmarks/{id}/share/link: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark sharing] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.shareLink" + + /bookmarks/{id}/share/email: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + post: + tags: [bookmark sharing] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.shareEmail" + + /bookmarks/labels: + get: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labels" + + /bookmarks/labels/{name}: + $merge: + - "bookmarks/routes.yaml#.withLabel" + + get: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labelInfo" + + patch: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.labelUpdate" + + delete: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labelDelete" + + /bookmarks/annotations: + get: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/routes.yaml#.annotationList" + + /bookmarks/{id}/annotations: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.bookmarkAnnotationList" + + post: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.created" + - "bookmarks/routes.yaml#.bookmarkAnnotationCreate" + + /bookmarks/{id}/annotations/{annotation_id}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + patch: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.withAnnotation" + - "bookmarks/routes.yaml#.bookmarkAnnotationUpdate" + + delete: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.withAnnotation" + - "bookmarks/routes.yaml#.bookmarkAnnotationDelete" + + /bookmarks/collections: + get: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/routes.yaml#.collectionList" + + post: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.created" + - "bookmarks/routes.yaml#.collectionCreate" + + /bookmarks/collections/{id}: + $merge: + - "bookmarks/routes.yaml#.withCollection" + + get: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionInfo" + + patch: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionUpdate" + + delete: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionDelete" + + /bookmarks/import/text: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importTextFile" + + /bookmarks/import/browser: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importBrowserBookmarks" + + /bookmarks/import/pocket-file: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importPocket" + + /bookmarks/import/wallabag: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importWallabag" + + + /cookbook/extract: + get: + tags: [dev tools] + $merge: + - "traits.yaml#.authenticated" + - "cookbook/routes.yaml#.extract" diff --git a/readeck.xcodeproj/project.pbxproj b/readeck.xcodeproj/project.pbxproj index 4bb788b..344a0be 100644 --- a/readeck.xcodeproj/project.pbxproj +++ b/readeck.xcodeproj/project.pbxproj @@ -23,6 +23,19 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 5D45FA1D2DF865BE0048D5B8 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 5D45F9C82DF858680048D5B8 /* readeck.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = readeck.app; sourceTree = BUILT_PRODUCTS_DIR; }; 5D45F9DE2DF8586A0048D5B8 /* readeckTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = readeckTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -102,6 +115,7 @@ 5D45F9C42DF858680048D5B8 /* Sources */, 5D45F9C52DF858680048D5B8 /* Frameworks */, 5D45F9C62DF858680048D5B8 /* Resources */, + 5D45FA1D2DF865BE0048D5B8 /* Embed Frameworks */, ); buildRules = ( ); diff --git a/readeck.xcodeproj/xcuserdata/ilyashallak.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/readeck.xcodeproj/xcuserdata/ilyashallak.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..401b5be --- /dev/null +++ b/readeck.xcodeproj/xcuserdata/ilyashallak.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/readeck.xcodeproj/xcuserdata/ilyashallak.xcuserdatad/xcschemes/xcschememanagement.plist b/readeck.xcodeproj/xcuserdata/ilyashallak.xcuserdatad/xcschemes/xcschememanagement.plist index 4a06bb3..c7d6127 100644 --- a/readeck.xcodeproj/xcuserdata/ilyashallak.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/readeck.xcodeproj/xcuserdata/ilyashallak.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,6 +4,11 @@ SchemeUserState + ReadeckAPI.xcscheme_^#shared#^_ + + orderHint + 1 + readeck.xcscheme_^#shared#^_ orderHint diff --git a/readeck/Data/API/API.swift b/readeck/Data/API/API.swift new file mode 100644 index 0000000..1ab3d4e --- /dev/null +++ b/readeck/Data/API/API.swift @@ -0,0 +1,139 @@ +// +// API.swift +// readeck +// +// Created by Ilyas Hallak on 10.06.25. +// + +import Foundation + +enum APIError: Error { + case invalidURL + case networkError + case invalidResponse + case authenticationFailed +} + +protocol PAPI { + func login(username: String, password: String) async throws -> UserDto + func getBookmarks() async throws -> [BookmarkDto] + func getBookmark(id: String) async throws -> BookmarkDetailDto + func getBookmarkArticle(id: String) async throws -> String + var authToken: String? { get set } +} + +class API: PAPI { + private let baseURL: String + var authToken: String? + + init(baseURL: String) { + self.baseURL = baseURL + } + + func login(username: String, password: String) async throws -> UserDto { + guard let url = URL(string: "\(baseURL)/auth") else { + throw APIError.invalidURL + } + + let credentials = [ + "username": username, + "password": password, + "application": "api doc" + ] + + var request = URLRequest(url: url) + request.httpMethod = "POST" + request.setValue("application/json", forHTTPHeaderField: "Content-Type") + request.setValue("application/json", forHTTPHeaderField: "accept") + request.httpBody = try? JSONSerialization.data(withJSONObject: credentials) + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse, + httpResponse.statusCode == 201 else { + throw APIError.authenticationFailed + } + + if let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any], + let token = json["token"] as? String { + self.authToken = token + let decoder = JSONDecoder() + return try decoder.decode(UserDto.self, from: data) + } + + throw APIError.invalidResponse + } + + // Bookmarks abrufen + func getBookmarks() async throws -> [BookmarkDto] { + guard let url = URL(string: "\(baseURL)/bookmarks") else { + throw APIError.invalidURL + } + + var request = URLRequest(url: url) + request.httpMethod = "GET" + request.setValue("application/json", forHTTPHeaderField: "accept") + + if let token = authToken { + request.setValue("Bearer \(token)", forHTTPHeaderField: "authorization") + } + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse, + httpResponse.statusCode == 200 else { + throw APIError.networkError + } + + let decoder = JSONDecoder() + return try decoder.decode([BookmarkDto].self, from: data) + } + + func getBookmark(id: String) async throws -> BookmarkDetailDto { + guard let url = URL(string: "\(baseURL)/bookmarks/\(id)") else { + throw APIError.invalidURL + } + + var request = URLRequest(url: url) + request.httpMethod = "GET" + request.setValue("application/json", forHTTPHeaderField: "accept") + + if let token = authToken { + request.setValue("Bearer \(token)", forHTTPHeaderField: "authorization") + } + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse, + httpResponse.statusCode == 200 else { + throw APIError.networkError + } + + let decoder = JSONDecoder() + return try decoder.decode(BookmarkDetailDto.self, from: data) + } + + func getBookmarkArticle(id: String) async throws -> String { + guard let url = URL(string: "\(baseURL)/bookmarks/\(id)/article") else { + throw APIError.invalidURL + } + + var request = URLRequest(url: url) + request.httpMethod = "GET" + request.setValue("text/html", forHTTPHeaderField: "accept") + + if let token = authToken { + request.setValue("Bearer \(token)", forHTTPHeaderField: "authorization") + } + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let httpResponse = response as? HTTPURLResponse, + httpResponse.statusCode == 200, + let htmlContent = String(data: data, encoding: .utf8) else { + throw APIError.networkError + } + + return htmlContent + } +} diff --git a/readeck/Data/DTOs/BookmarkDetailDto.swift b/readeck/Data/DTOs/BookmarkDetailDto.swift new file mode 100644 index 0000000..10236d9 --- /dev/null +++ b/readeck/Data/DTOs/BookmarkDetailDto.swift @@ -0,0 +1,82 @@ +import Foundation + +struct BookmarkDetailDto: Codable { + let id: String + let href: String + let created: String + let updated: String + let state: Int + let loaded: Bool + let url: String + let title: String + let siteName: String + let site: String + let authors: [String] + let lang: String + let textDirection: String + let documentType: String + let type: String + let hasArticle: Bool + let description: String + let isDeleted: Bool + let isMarked: Bool + let isArchived: Bool + let labels: [String] + let readProgress: Int + let resources: Resources + let links: [Link] + let wordCount: Int + let readingTime: Int + + enum CodingKeys: String, CodingKey { + case id, href, created, updated, state, loaded, url, title + case siteName = "site_name" + case site, authors, lang + case textDirection = "text_direction" + case documentType = "document_type" + case type + case hasArticle = "has_article" + case description + case isDeleted = "is_deleted" + case isMarked = "is_marked" + case isArchived = "is_archived" + case labels + case readProgress = "read_progress" + case resources, links + case wordCount = "word_count" + case readingTime = "reading_time" + } + + struct Resources: Codable { + let article: Resource + let icon: ResourceWithDimensions + let image: ResourceWithDimensions + let log: Resource + let props: Resource + let thumbnail: ResourceWithDimensions + } + + struct Resource: Codable { + let src: String + } + + struct ResourceWithDimensions: Codable { + let src: String + let width: Int + let height: Int + } + + struct Link: Codable { + let url: String + let domain: String + let title: String + let isPage: Bool + let contentType: String + + enum CodingKeys: String, CodingKey { + case url, domain, title + case isPage = "is_page" + case contentType = "content_type" + } + } +} \ No newline at end of file diff --git a/readeck/Data/DTOs/BookmarkDto.swift b/readeck/Data/DTOs/BookmarkDto.swift new file mode 100644 index 0000000..cb79773 --- /dev/null +++ b/readeck/Data/DTOs/BookmarkDto.swift @@ -0,0 +1,15 @@ +import Foundation + +struct BookmarkDto: Codable { + let id: String + let title: String + let url: String + let createdAt: String + + enum CodingKeys: String, CodingKey { + case id + case title + case url + case createdAt = "created" + } +} \ No newline at end of file diff --git a/readeck/Data/DTOs/UserDto.swift b/readeck/Data/DTOs/UserDto.swift new file mode 100644 index 0000000..d8eb66b --- /dev/null +++ b/readeck/Data/DTOs/UserDto.swift @@ -0,0 +1,11 @@ +import Foundation + +struct UserDto: Codable { + let id: String + let token: String + + enum CodingKeys: String, CodingKey { + case id + case token + } +} \ No newline at end of file diff --git a/readeck/Persistence.swift b/readeck/Data/Persistence.swift similarity index 100% rename from readeck/Persistence.swift rename to readeck/Data/Persistence.swift diff --git a/readeck/Data/Repository/AuthRepository.swift b/readeck/Data/Repository/AuthRepository.swift new file mode 100644 index 0000000..8ab8351 --- /dev/null +++ b/readeck/Data/Repository/AuthRepository.swift @@ -0,0 +1,26 @@ +import Foundation + +class AuthRepository: PAuthRepository { + private let api: PAPI + + init(api: PAPI) { + self.api = api + } + + func login(username: String, password: String) async throws -> User { + let userDto = try await api.login(username: username, password: password) + UserDefaults.standard.set(userDto.token, forKey: "token") + UserDefaults.standard.synchronize() + return User(id: userDto.id, token: userDto.token) + } + + func logout() async throws { + // Implement logout logic if needed + } + +} + +struct User { + let id: String + let token: String +} diff --git a/readeck/Data/Repository/BookmarksRepository.swift b/readeck/Data/Repository/BookmarksRepository.swift new file mode 100644 index 0000000..a194ae2 --- /dev/null +++ b/readeck/Data/Repository/BookmarksRepository.swift @@ -0,0 +1,38 @@ +import Foundation + +protocol PBookmarksRepository { + func fetchBookmarks() async throws -> [Bookmark] + func addBookmark(bookmark: Bookmark) async throws + func removeBookmark(id: String) async throws +} + +class BookmarksRepository: PBookmarksRepository { + private var api: PAPI + + init(api: PAPI) { + self.api = api + } + + func fetchBookmarks() async throws -> [Bookmark] { + let bookmarkDtos = try await api.getBookmarks() + api.authToken = UserDefaults.standard.string(forKey: "token") + return bookmarkDtos.map { dto in + Bookmark(id: dto.id, title: dto.title, url: dto.url, createdAt: dto.createdAt) + } + } + + func addBookmark(bookmark: Bookmark) async throws { + // Implement logic to add a bookmark if needed + } + + func removeBookmark(id: String) async throws { + // Implement logic to remove a bookmark if needed + } +} + +struct Bookmark { + let id: String + let title: String + let url: String + let createdAt: String +} diff --git a/readeck/Domain/DefaultUseCaseFactory.swift b/readeck/Domain/DefaultUseCaseFactory.swift new file mode 100644 index 0000000..6aafb4d --- /dev/null +++ b/readeck/Domain/DefaultUseCaseFactory.swift @@ -0,0 +1,24 @@ +import Foundation + +protocol UseCaseFactory { + func makeLoginUseCase() -> LoginUseCase + func makeGetBooksmarksUseCase() -> GetBooksmarksUseCase +} + +class DefaultUseCaseFactory: UseCaseFactory { + private let api: PAPI + + static let shared = DefaultUseCaseFactory() + + init(api: PAPI = API(baseURL: "https://keep.mnk.any64.de/api")) { + self.api = api + } + + func makeLoginUseCase() -> LoginUseCase { + LoginUseCase(repository: AuthRepository(api: api)) + } + + func makeGetBooksmarksUseCase() -> GetBooksmarksUseCase { + GetBooksmarksUseCase(repository: .init(api: api)) + } +} diff --git a/readeck/Domain/Protocols/PAuthRepository.swift b/readeck/Domain/Protocols/PAuthRepository.swift new file mode 100644 index 0000000..c0d049a --- /dev/null +++ b/readeck/Domain/Protocols/PAuthRepository.swift @@ -0,0 +1,12 @@ +// +// PAuthRepository.swift +// readeck +// +// Created by Ilyas Hallak on 10.06.25. +// + + +protocol PAuthRepository { + func login(username: String, password: String) async throws -> User + func logout() async throws +} diff --git a/readeck/Domain/UseCase/GetBookmarksUseCase.swift b/readeck/Domain/UseCase/GetBookmarksUseCase.swift new file mode 100644 index 0000000..59ffc3a --- /dev/null +++ b/readeck/Domain/UseCase/GetBookmarksUseCase.swift @@ -0,0 +1,12 @@ + +class GetBooksmarksUseCase { + private let repository: BookmarksRepository + + init(repository: BookmarksRepository) { + self.repository = repository + } + + func execute() async throws -> [Bookmark] { + return try await repository.fetchBookmarks() + } +} diff --git a/readeck/Domain/UseCase/LoginUseCase.swift b/readeck/Domain/UseCase/LoginUseCase.swift new file mode 100644 index 0000000..e181bcf --- /dev/null +++ b/readeck/Domain/UseCase/LoginUseCase.swift @@ -0,0 +1,12 @@ + +class LoginUseCase { + private let repository: PAuthRepository + + init(repository: PAuthRepository) { + self.repository = repository + } + + func execute(username: String, password: String) async throws -> User { + return try await repository.login(username: username, password: password) + } +} diff --git a/readeck/UI/Bookmarks/BookmarksView.swift b/readeck/UI/Bookmarks/BookmarksView.swift new file mode 100644 index 0000000..37a1ff9 --- /dev/null +++ b/readeck/UI/Bookmarks/BookmarksView.swift @@ -0,0 +1,61 @@ +import SwiftUI + +struct BookmarksView: View { + @State private var viewModel = BookmarksViewModel() + + var body: some View { + NavigationView { + ZStack { + if viewModel.isLoading { + ProgressView() + } else { + List(viewModel.bookmarks, id: \.id) { bookmark in + BookmarkRow(bookmark: bookmark) + } + .refreshable { + await viewModel.loadBookmarks() + } + .overlay { + if viewModel.bookmarks.isEmpty && !viewModel.isLoading { + ContentUnavailableView( + "Keine Bookmarks", + systemImage: "bookmark", + description: Text("Es wurden noch keine Bookmarks gespeichert.") + ) + } + } + } + } + .navigationTitle("Meine Bookmarks") + .alert("Fehler", isPresented: .constant(viewModel.errorMessage != nil)) { + Button("OK", role: .cancel) { } + } message: { + Text(viewModel.errorMessage ?? "") + } + .task { + await viewModel.loadBookmarks() + } + } + } +} + +// Unterkomponente für die Darstellung eines einzelnen Bookmarks +private struct BookmarkRow: View { + let bookmark: Bookmark + + var body: some View { + VStack(alignment: .leading, spacing: 4) { + Text(bookmark.title) + .font(.headline) + + Text(bookmark.url) + .font(.caption) + .foregroundColor(.secondary) + + Text(bookmark.createdAt) + .font(.caption2) + .foregroundColor(.secondary) + } + .padding(.vertical, 4) + } +} diff --git a/readeck/UI/Bookmarks/BookmarksViewModel.swift b/readeck/UI/Bookmarks/BookmarksViewModel.swift new file mode 100644 index 0000000..79cff09 --- /dev/null +++ b/readeck/UI/Bookmarks/BookmarksViewModel.swift @@ -0,0 +1,28 @@ +import Foundation + +@Observable +class BookmarksViewModel { + private let getBooksmarksUseCase = DefaultUseCaseFactory.shared.makeGetBooksmarksUseCase() + + var bookmarks: [Bookmark] = [] + var isLoading = false + var errorMessage: String? + + init() { + + } + + @MainActor + func loadBookmarks() async { + isLoading = true + errorMessage = nil + + do { + bookmarks = try await getBooksmarksUseCase.execute() + } catch { + errorMessage = "Fehler beim Laden der Bookmarks" + } + + isLoading = false + } +} diff --git a/readeck/ContentView.swift b/readeck/UI/ContentView.swift similarity index 100% rename from readeck/ContentView.swift rename to readeck/UI/ContentView.swift diff --git a/readeck/UI/Settings/SettingsView.swift b/readeck/UI/Settings/SettingsView.swift new file mode 100644 index 0000000..7a0c2a3 --- /dev/null +++ b/readeck/UI/Settings/SettingsView.swift @@ -0,0 +1,56 @@ +import SwiftUI + +struct SettingsView: View { + @State private var viewModel = SettingsViewModel() + + var body: some View { + NavigationView { + Form { + Section(header: Text("Anmeldedaten"), footer: SectionFooter()) { + TextField("Benutzername", text: $viewModel.username) + .autocorrectionDisabled() + .textInputAutocapitalization(.never) + + SecureField("Passwort", text: $viewModel.password) + + TextField("Endpoint", text: $viewModel.endpoint) + .keyboardType(.URL) + + Button { + Task { + await viewModel.login() + } + } label: { + if viewModel.isLoading { + ProgressView() + } else { + Text("Speichern") + } + } + .disabled(viewModel.isLoginDisabled) + } + + + } + .navigationTitle("Einstellungen") + } + } + + @ViewBuilder + private func SectionFooter() -> some View { + switch viewModel.state { + case .error: + Text("Anmeldung fehlgeschlagen. Bitte überprüfen Sie Ihre Eingaben.") + .foregroundColor(.red) + case .success: + Text("Anmeldung erfolgreich!") + .foregroundColor(.green) + case .default: + Text("") + } + } +} + +#Preview { + SettingsView() +} diff --git a/readeck/UI/Settings/SettingsViewModel.swift b/readeck/UI/Settings/SettingsViewModel.swift new file mode 100644 index 0000000..8e9b153 --- /dev/null +++ b/readeck/UI/Settings/SettingsViewModel.swift @@ -0,0 +1,37 @@ +import Foundation + +@Observable +class SettingsViewModel { + + enum State { + case `default`, error, success + } + + var username: String = "admin" + var password: String = "Diggah123" + var endpoint: String = "" + var isLoading: Bool = false + var state: State = .default + var showAlert: Bool = false + + private let loginUseCase = DefaultUseCaseFactory.shared.makeLoginUseCase() + + var isLoginDisabled: Bool { + username.isEmpty || password.isEmpty || isLoading + } + + @MainActor + func login() async { + isLoading = true + + do { + let userResult = try await loginUseCase.execute(username: username, password: password) + state = userResult.token.isEmpty ? .error : .success + isLoading = false + } catch { + state = .error + isLoading = false + } + + } +} diff --git a/readeck/UI/TabView.swift b/readeck/UI/TabView.swift new file mode 100644 index 0000000..b3732df --- /dev/null +++ b/readeck/UI/TabView.swift @@ -0,0 +1,23 @@ +import SwiftUI + +struct MainTabView: View { + @State private var selectedTab: String = "Home" + + var body: some View { + + TabView() { + BookmarksView() + .tabItem { + Label("Links", systemImage: "house") + } + .tag("Home") + + SettingsView() + .tabItem { + Label("Settings", systemImage: "gear") + } + .tag("Settings") + } + .accentColor(.blue) + } +} diff --git a/readeck/readeckApp.swift b/readeck/UI/readeckApp.swift similarity index 86% rename from readeck/readeckApp.swift rename to readeck/UI/readeckApp.swift index 287e874..586a232 100644 --- a/readeck/readeckApp.swift +++ b/readeck/UI/readeckApp.swift @@ -13,7 +13,8 @@ struct readeckApp: App { var body: some Scene { WindowGroup { - ContentView() + // ContentView() + MainTabView() .environment(\.managedObjectContext, persistenceController.container.viewContext) } } diff --git a/readeck_api/api.yaml b/readeck_api/api.yaml new file mode 100644 index 0000000..9a6219f --- /dev/null +++ b/readeck_api/api.yaml @@ -0,0 +1,339 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +openapi: 3.0.0 +info: + version: 1.0.0 + title: Readeck API + description: | + # Introduction + + The Readeck API provides REST endpoints that can be used for any purpose, should it be a + mobile application, a script, you name it. + + ## API Endpoint + + You can access this API on `__BASE_URI__`. + + Most of your requests and responses are using JSON as the exchange format. + + ## Authentication + + To use the API, you first need to [create an authentication token](../profile/tokens). You can + then use your new token using the `Bearer` HTTP authorization scheme. + + For example, you first request will look like: + + ```sh + curl -H "Authorization: Bearer " __BASE_URI__/bookmarks + ``` + + Or, in NodeJS: + + ```js + fetch("__BASE_URI__/bookmarks", { + headers: { + "Authorization": "Bearer ", + }, + }) + ``` + + ## First time authentication + + While you can create an authentication token from Readeck, you can also get one directly from + the API. This provides a mechanism to ask for user credentials and obtain a token for your app + only. + + Please refer to [POST /auth](#post-/auth) for more information. + + ## Test the API + + On this documentation, you can test every route. + + If you don't provide an API token in [Authentication](#auth), you can still test all the routes + but note that the given curl examples only work with an API token. + + +servers: + - url: __BASE_URI__ + +components: + securitySchemes: + bearer: + type: http + scheme: Bearer + + schemas: + $merge: + - "types.yaml#.schemas" + - "bookmarks/types.yaml#.schemas" + - "profile/types.yaml#.schemas" + +security: + - bearer: [] + +tags: + - name: user profile + - name: bookmarks + - name: bookmark export + - name: bookmark sharing + - name: bookmark labels + - name: bookmark highlights + - name: bookmark collections + - name: bookmarks import + - name: dev tools + +paths: + /auth: + post: + tags: [user profile] + $merge: + - "profile/routes.yaml#.auth" + + /profile: + get: + tags: [user profile] + $merge: + - "traits.yaml#.authenticated" + - "profile/routes.yaml#.profile" + + /bookmarks: + get: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/traits.yaml#.sortable" + - "bookmarks/routes.yaml#.list" + + post: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.create" + + /bookmarks/{id}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.retrieve" + + patch: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.update" + + delete: + tags: [bookmarks] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.delete" + + /bookmarks/{id}/article: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark export] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.article" + + /bookmarks/{id}/article.{format}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark export] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.export" + + /bookmarks/{id}/share/link: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark sharing] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.shareLink" + + /bookmarks/{id}/share/email: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + post: + tags: [bookmark sharing] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.shareEmail" + + /bookmarks/labels: + get: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labels" + + /bookmarks/labels/{name}: + $merge: + - "bookmarks/routes.yaml#.withLabel" + + get: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labelInfo" + + patch: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.labelUpdate" + + delete: + tags: [bookmark labels] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.labelDelete" + + /bookmarks/annotations: + get: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/routes.yaml#.annotationList" + + /bookmarks/{id}/annotations: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + get: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.bookmarkAnnotationList" + + post: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.created" + - "bookmarks/routes.yaml#.bookmarkAnnotationCreate" + + /bookmarks/{id}/annotations/{annotation_id}: + $merge: + - "bookmarks/routes.yaml#.withBookmark" + + patch: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "bookmarks/routes.yaml#.withAnnotation" + - "bookmarks/routes.yaml#.bookmarkAnnotationUpdate" + + delete: + tags: [bookmark highlights] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.withAnnotation" + - "bookmarks/routes.yaml#.bookmarkAnnotationDelete" + + /bookmarks/collections: + get: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.paginated" + - "bookmarks/routes.yaml#.collectionList" + + post: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.created" + - "bookmarks/routes.yaml#.collectionCreate" + + /bookmarks/collections/{id}: + $merge: + - "bookmarks/routes.yaml#.withCollection" + + get: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionInfo" + + patch: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionUpdate" + + delete: + tags: [bookmark collections] + $merge: + - "traits.yaml#.authenticated" + - "bookmarks/routes.yaml#.collectionDelete" + + /bookmarks/import/text: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importTextFile" + + /bookmarks/import/browser: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importBrowserBookmarks" + + /bookmarks/import/pocket-file: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importMultipartGeneric" + - "bookmarks/routes.yaml#.importPocket" + + /bookmarks/import/wallabag: + post: + tags: [bookmarks import] + $merge: + - "traits.yaml#.authenticated" + - "traits.yaml#.validator" + - "traits.yaml#.deferred" + - "bookmarks/routes.yaml#.importWallabag" + + + /cookbook/extract: + get: + tags: [dev tools] + $merge: + - "traits.yaml#.authenticated" + - "cookbook/routes.yaml#.extract" diff --git a/readeck_api/bookmarks/routes.yaml b/readeck_api/bookmarks/routes.yaml new file mode 100644 index 0000000..8f2f929 --- /dev/null +++ b/readeck_api/bookmarks/routes.yaml @@ -0,0 +1,563 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +withBookmark: + parameters: + - name: id + in: path + required: true + description: Bookmark ID + schema: + type: string + format: short-uid + +withLabel: + parameters: + - name: name + in: path + required: true + description: Label + schema: + type: string + +withAnnotation: + parameters: + - name: annotation_id + in: path + required: true + description: Highlight ID + schema: + type: string + format: short-uid + +withCollection: + parameters: + - name: id + in: path + required: true + description: Collection ID + schema: + type: string + format: short-uid + +# GET /bookmarks +list: + summary: Bookmark List + description: | + This route returns a paginated bookmark list. + + parameters: + - name: search + in: query + description: A full text search string + schema: + type: string + - name: title + in: query + description: Bookmark title + schema: + type: string + - name: author + in: query + description: Author's name + schema: + type: string + - name: site + in: query + description: Bookmark site name or domain + schema: + type: string + - name: type + in: query + description: Bookmark type + schema: + type: array + items: + type: string + enum: [article, photo, video] + - name: labels + in: query + description: One or several labels + schema: + type: string + - name: is_loaded + in: query + description: Filter by loaded state + schema: + type: boolean + - name: has_errors + in: query + description: Filter bookmarks with or without errors + schema: + type: boolean + - name: has_labels + in: query + description: Filter bookmarks with or without labels + schema: + type: boolean + - name: is_marked + in: query + description: Filter by marked (favorite) status + schema: + type: boolean + - name: is_archived + in: query + description: Filter by archived status + schema: + type: boolean + - name: range_start + in: query + schema: + type: string + - name: range_end + in: query + schema: + type: string + - name: read_status + in: query + description: Read progress status + schema: + type: array + items: + type: string + enum: [unread, reading, read] + - name: updated_since + in: query + description: Retrieve bookmarks created after this date + schema: + type: string + format: date-time + - name: id + in: query + description: One or more bookmark ID + schema: + type: string + - name: collection + in: query + description: A collection ID + schema: + type: string + + responses: + '200': + description: List of bookmark items + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/bookmarkSummary" + +# POST /bookmarks +create: + summary: Bookmark Create + description: Creates a new bookmark + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkCreate" + + responses: + "202": + headers: + Bookmark-Id: + schema: + type: string + description: ID of the created bookmark + +# GET /bookmarks/{id} +retrieve: + summary: Bookmark Details + description: Retrieves a saved bookmark + + responses: + "200": + description: Bookmark details + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkInfo" + +# PATCH /bookmarks/{id} +update: + summary: Bookmark Update + description: | + This route updates some bookmark's properties. Every input value is optional. + Upon success, it returns a mapping of changed values. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkUpdate" + + responses: + "200": + description: Bookmark updated + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkUpdated" + +# DELETE /bookmarks/{id} +delete: + summary: Bookmark Delete + description: Deletes a saved bookmark + + responses: + "204": + description: The bookmark was successfuly deleted. + +# GET /bookmarks/{id}/article +article: + summary: Bookmark Article + description: | + This route returns the bookmark's article if it exists. + + responses: + "200": + description: | + A `text/html` response, containing the article body. + Please note that it's only the fragment and not a full HTML document. + content: + text/html: + schema: + type: string + +# GET /bookmarks/{id}/article.{format} +export: + summary: Bookmark Export + description: This route exports a bookmark to another format. + + parameters: + - name: format + in: path + required: true + description: Export format + schema: + type: string + enum: [epub, md] + + responses: + "200": + content: + application/epub+zip: + schema: + type: string + format: binary + text/markdown: + schema: + type: string + +# GET /bookmarks/{id}/share/link +shareLink: + summary: Share by link + description: This route produces a publicly accessible link to share a bookmark. + + responses: + "200": + description: Public link information + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkShareLink" + +# POST /bookmarks/{id}/share/email +shareEmail: + summary: Share by email + description: This route sends a bookmark to an email address. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/bookmarkShareEmail" + + responses: + "200": + description: Message sent + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +# GET /bookmarks/labels +labels: + summary: Label List + description: | + This route returns all the labels associated to a bookmark for the current user. + + responses: + "200": + description: Label list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/labelInfo" + +# GET /bookmarks/labels/{name} +labelInfo: + summary: Label Info + description: + This route returns information about a given bookmark label. + + responses: + "200": + description: Label information + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/labelInfo" + +# PATCH /bookmarks/labels/{name} +labelUpdate: + summary: Label Update + description: | + This route renames a label. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/labelUpdate" + + responses: + "200": + description: Label renamed + +# DELETE /bookmarks/labels/{name} +labelDelete: + summary: Label Delete + description: | + This route remove a label from all associated bookmarks. + + Please note that it does not remove the bookmarks themselves. + + responses: + "204": + description: Label removed + +# GET /bookmarks/annotations +annotationList: + summary: Highlight List + description: | + This route returns all the highlights created by the current user. + + responses: + "200": + description: Highlight list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/annotationSummary" + +# GET /bookmarks/{id}annotations +bookmarkAnnotationList: + summary: Bookmark Highlights + description: | + This route returns a given bookmark's highlights. + + responses: + "200": + description: Highlight list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/annotationInfo" + +# POST /bookmarks/{id}annotations +bookmarkAnnotationCreate: + summary: Highlight Create + description: | + This route creates a new highlight on a given bookmarks. + + The highlight format is similar to the [Range API](https://developer.mozilla.org/en-US/docs/Web/API/Range) + with some differences: + + - A range's start and end selectors are XPath selectors and must target an element. + - The offset is the text length from the begining of the selector, regardless of the traversed + potential children. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/annotationCreate" + + responses: + "201": + description: Highlight created + content: + application/json: + schema: + $ref: "#/components/schemas/annotationInfo" + +# PATCH /bookmarks/{id}annotations/{annotation_id} +bookmarkAnnotationUpdate: + summary: Highlight Update + description: | + This route updates then given highlight in the given bookmark. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/annotationUpdate" + + responses: + "200": + description: Update result + content: + application/json: + schema: + properties: + updated: + type: string + format: date-time + annotations: + type: array + items: + $ref: "#/components/schemas/annotationInfo" + + +# DELETE /bookmarks/{id}annotations/{annotation_id} +bookmarkAnnotationDelete: + summary: Highlight Delete + description: | + This route removes the given highlight in the given bookmark. + + responses: + "204": + description: Highlight removed + +# GET /bookmarks/collections +collectionList: + summary: Collection List + description: | + This route returns all the current user's collections. + + responses: + "200": + description: Collection list + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/collectionInfo" + +# POST /bookmarks/collections +collectionCreate: + summary: Collection Create + description: | + This route creates a new collection. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/collectionCreate" + +# GET /bookmarks/collections/{id} +collectionInfo: + summary: Collection Details + description: | + This route returns a given collection information. + + responses: + "200": + description: Collection information + content: + application/json: + schema: + $ref: "#/components/schemas/collectionInfo" + +# PATH /bookmarks/collections/{id} +collectionUpdate: + summary: Collection Update + description: | + This route updates a given collection. It returns a mapping of updated fields. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/collectionUpdate" + + responses: + "200": + description: Updated fields + content: + application/json: + schema: + $ref: "#/components/schemas/collectionSummary" + +# DELETE /bookmarks/collections/{id} +collectionDelete: + summary: Collection Delete + description: | + This route deletes a given collection. + + responses: + "204": + description: Collection deleted + +# POST /bookmarks/import/text +importMultipartGeneric: + requestBody: + content: + text/plain: + schema: + type: string + description: File content + multipart/form-data: + schema: + properties: + data: + type: string + format: binary + +importTextFile: + summary: Import a Text File + description: | + This route creates bookmarks from a text file that contains one URL + per line. + +importBrowserBookmarks: + summary: Import Browser Bookmarks + description: | + This route creates bookmarks from an HTML file generated by an export of a browser's + bookmarks. + +importPocket: + summary: Import Pocket Saves + description: | + This route creates bookmarks from an HTML file generated by Pocket export tool. + Go to [https://getpocket.com/export](https://getpocket.com/export) to generate + such a file. + +importWallabag: + summary: Import Wallabag Articles + description: | + This route imports articles from Wallabag using its API. + + You must create an API client in Wallabag and use its "Client ID" and "Client Secret" + in this route's payload. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/wallabagImport" diff --git a/readeck_api/bookmarks/traits.yaml b/readeck_api/bookmarks/traits.yaml new file mode 100644 index 0000000..07c434e --- /dev/null +++ b/readeck_api/bookmarks/traits.yaml @@ -0,0 +1,27 @@ +--- +# SPDX-FileCopyrightText: © 2024 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +sortable: + parameters: + - name: sort + in: query + description: Sorting parameters + schema: + type: array + items: + type: string + enum: + - created + - -created + - domain + - -domain + - duration + - -duration + - published + - -published + - site + - -site + - title + - -title diff --git a/readeck_api/bookmarks/types.yaml b/readeck_api/bookmarks/types.yaml new file mode 100644 index 0000000..cf12fa2 --- /dev/null +++ b/readeck_api/bookmarks/types.yaml @@ -0,0 +1,580 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +schemas: + bookmarkSummary: + type: object + properties: + id: + type: string + format: short-uid + description: Bookmark's ID + href: + type: string + format: uri + description: Link to the bookmark info + created: + type: string + format: date-time + description: Creation date + updated: + type: string + format: date-time + description: Last update + state: + type: integer + enum: [0, 1, 2] + description: | + Indicates the state of the bookmark. + - `0`: loaded + - `1`: error + - `2`: loading + loaded: + type: boolean + description: Becomes true when the bookmark is ready (regardless of its error state) + url: + type: string + format: uri + description: Bookmark's original URL + title: + type: string + description: Bookmark's title + site_name: + type: string + description: Bookmark's site name + site: + type: string + format: hostname + description: Bookmark's site host name + published: + type: [string] + format: date-time + nullable: true + description: Publication date. Can be `null` when unknown. + authors: + type: array + items: + type: string + description: Author list + lang: + type: string + description: Language Code + text_direction: + type: string + enum: [rtl, ltr] + description: | + Direction of the article's text. It can be empty when it's unknown. + document_type: + type: string + description: | + The bookmark document type. This is usualy the same value as `type` but it can differ + depending on the extraction process. + type: + type: string + enum: [article, photo, video] + description: | + The bookmark type. Unlike `document_type`, this can only be one of the 3 values. + has_article: + type: boolean + description: | + Indicates whether the bookmarks contains an article. Please not that + there can be an article on any type. + description: + type: string + description: | + Bookmark's short description, when it exists. It's always an unformatted text. + is_deleted: + type: boolean + description: | + `true` when the bookmark is scheduled for deletion. + is_marked: + type: boolean + description: | + `true` when the bookmark is in the favorites. + is_archived: + type: boolean + description: | + `true` when the bookmark is in the archives. + read_progress: + type: integer + minimum: 0 + maximum: 100 + description: Reading progress percentage. + labels: + type: array + items: + type: string + description: Bookmark's labels + word_count: + type: integer + minimum: 0 + description: Number of words in the article, used to compute the reading time. + reading_time: + type: integer + minimum: 0 + description: | + Duration of the article, in minutes. Either the actual duration for a + video or a reading time based on the word count. + resources: + type: object + description: | + This contains a list of resources associated with the bookmark. + The only fields that are always present are `log` and `props`. + The `article` field is only present when a bookmark provides a + text content. Other image fields depend on what was found during + extraction. + properties: + article: + $ref: "#/components/schemas/bookmarkResource" + description: Link to the article, when there is one. + icon: + $ref: "#/components/schemas/bookmarkResourceImage" + description: Link and information for the site icon. + image: + $ref: "#/components/schemas/bookmarkResourceImage" + description: Link and information for the article image. + thumbnail: + $ref: "#/components/schemas/bookmarkResourceImage" + description: Link and information for the article thumbnail. + log: + $ref: "#/components/schemas/bookmarkResource" + description: Link to the extraction log. + props: + $ref: "#/components/schemas/bookmarkResource" + description: Link to the bookmark's extra properties. + + bookmarkResource: + type: object + properties: + src: + type: string + format: uri + description: URL of the resource + + bookmarkResourceImage: + allOf: + - $ref: "#/components/schemas/bookmarkResource" + - type: object + properties: + height: + type: integer + description: Image height + width: + type: integer + description: Image width + + bookmarkInfo: + allOf: + - $ref: "#/components/schemas/bookmarkSummary" + - type: object + properties: + read_anchor: + type: string + description: CSS selector of the last seen element. + links: + description: | + This contains the list of all the links collected in the + retrieved article. + type: array + items: + properties: + url: + type: string + format: uri + description: Link URI + domain: + type: string + format: hostname + description: Link's domain + title: + type: string + description: Link's title + is_page: + type: boolean + description: | + `true` when the destination is a web page + content_type: + type: string + description: MIME type of the destination + + bookmarkCreate: + required: [url] + properties: + url: + type: string + description: URL to fetch + title: + type: string + description: Title of the bookmark + labels: + type: array + items: + type: string + description: List of labels to set to the bookmark + + bookmarkUpdate: + properties: + title: + type: string + description: New bookmark's title + is_marked: + type: boolean + description: Favortie state + is_archived: + type: boolean + description: Archive state + is_deleted: + type: boolean + description: | + If `true`, schedules the bookmark for deletion, otherwise, cancels any scheduled deletion + read_progress: + type: integer + minimum: 0 + maximum: 100 + description: Reading progress percentage + read_anchor: + type: string + description: CSS selector of the last seen element + labels: + type: array + items: + type: string + description: Replaces the bookmark's labels + add_labels: + items: + type: string + description: Add the given labels to the bookmark + remove_labels: + items: + type: string + description: Remove the given labels from the bookmark + + bookmarkUpdated: + required: [href, id, updated] + properties: + href: + type: string + format: uri + description: Bookmark URI + id: + type: string + format: short-uid + description: Bookmark's ID + updated: + type: string + format: date-time + description: Last update + title: + type: string + description: Bookmark Title + is_marked: + type: string + description: Favorite status + is_archived: + type: string + description: Archive status + is_deleted: + type: string + description: Scheduled deletion status + read_progress: + type: integer + minimum: 0 + maximum: 100 + description: Reading progress percentage + read_anchor: + type: string + description: CSS selector of the last seen element + labels: + type: string + description: New label list + + bookmarkShareLink: + properties: + url: + type: string + description: Public URL + expires: + type: string + format: date-time + description: Expiration date + title: + type: string + description: Bookmark title + id: + type: string + description: Bookmark ID + + bookmarkShareEmail: + properties: + email: + type: string + format: email + format: + type: string + enum: ["html", "epub"] + example: + email: alice@localhost + format: html + + labelInfo: + properties: + name: + type: string + description: Label's name + count: + type: integer + description: Number of bookmarks with this label + href: + type: string + format: uri + description: Link to the label info + href_bookmarks: + type: string + format: uri + description: Link to the bookmarks with this label + + labelUpdate: + properties: + name: + type: string + description: New label + + annotationSummary: + properties: + id: + type: string + format: short-uid + description: Highlight ID + href: + type: string + format: uri + description: Link to the highlight + text: + type: string + description: Highlighted text + created: + type: string + format: date-time + description: Highlight creation date + bookmark_id: + type: string + format: short-uid + description: Bookmark ID + bookmark_href: + type: string + format: uri + description: Link to the bookmark information + bookmark_url: + type: string + format: uri + description: Original bookmark's URL + bookmark_title: + type: string + description: Title of the bookmark + bookmark_site_name: + type: string + description: Bookmark's site name + + annotationInfo: + properties: + id: + type: string + format: short-uid + description: Highlight ID + start_selector: + type: string + description: Start element's XPath selector + start_offset: + type: integer + description: Start element's text offset + end_selector: + type: string + description: End element's XPath selector + end_offset: + type: integer + description: End element's text offset + created: + type: string + format: date-time + description: Highlight creation date + text: + type: string + description: Highlighted text + + annotationCreate: + required: [start_selector, start_offset, end_selector, end_offset, color] + properties: + start_selector: + type: string + description: Start element's XPath selector + start_offset: + type: integer + description: Start element's text offset + end_selector: + type: string + description: End element's XPath selector + end_offset: + type: integer + description: End element's text offset + color: + type: color + description: Annotation color + + annotationUpdate: + required: [color] + properties: + color: + type: color + description: Annotation color + + collectionSummary: + properties: + updated: + type: string + format: date-time + description: Last update date + name: + type: string + description: Collection's name + is_pinned: + type: boolean + description: | + `true` when the collection is pinned + is_deleted: + type: boolean + description: Collection is scheduled for deletion + search: + type: string + description: Search string + title: + type: string + description: Title filter + author: + type: string + description: Author filter + site: + type: string + description: Site (name, host or domain) filter + type: + type: array + items: + type: string + enum: [article, photo, video] + description: Type filter + labels: + type: string + description: Label filter + read_status: + type: array + items: + type: string + enum: [unread, reading, read] + description: Read progress status + is_marked: + type: boolean + description: Favorite filter + is_archived: + type: boolean + description: Archive filter + range_start: + type: string + description: From date filter + range_end: + type: string + description: To date filter + + collectionInfo: + allOf: + - type: object + properties: + id: + type: string + format: short-uid + description: Collection ID + href: + type: string + format: uri + description: Collection URL + created: + type: string + format: date-time + description: Creation date + - $ref: "#/components/schemas/collectionSummary" + + + collectionCreate: + properties: + name: + type: string + description: Collection's name + is_pinned: + type: boolean + description: | + `true` when the collection is pinned + is_deleted: + type: boolean + description: Collection is scheduled for deletion + search: + type: string + description: Search string + title: + type: string + description: Title filter + author: + type: string + description: Author filter + site: + type: string + description: Site (name, host or domain) filter + type: + type: array + items: + type: string + enum: [article, photo, video] + description: Type filter + labels: + type: string + description: Label filter + read_status: + type: array + items: + type: string + enum: [unread, reading, read] + description: Read progress status + is_marked: + type: boolean + description: Favorite filter + is_archived: + type: boolean + description: Archive filter + range_start: + type: string + description: From date filter + range_end: + type: string + description: To date filter + + collectionUpdate: + allOf: + - $ref: "#/components/schemas/collectionCreate" + + wallabagImport: + properties: + url: + type: string + format: uri + description: Your Wallabag instance's URL + username: + type: string + description: Your Wallabag username + password: + type: string + description: Your Wallabag password + client_id: + type: string + description: API Client ID + client_secret: + type: string + description: API Client Secret diff --git a/readeck_api/cookbook/routes.yaml b/readeck_api/cookbook/routes.yaml new file mode 100644 index 0000000..74e1f96 --- /dev/null +++ b/readeck_api/cookbook/routes.yaml @@ -0,0 +1,145 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +# GET /cookbook/extrack +extract: + summary: Extract Link + description: | + **NOTE: Only available for user in the admin group.** + + This route extracts a link and returns the extraction result. + + You can pass an `Accept` header to the request, with one of the following values: + + - `application/json` (default) returns a JSON response + - `text/html` returns an HTML response with all the media included as base64 encoded + URLs. + + parameters: + - name: url + in: query + required: true + schema: + type: string + format: uri + description: URL to extract + + responses: + "200": + description: | + Extraction result. + content: + application/json: + schema: + properties: + url: + type: string + format: uri + description: The extracted URL + logs: + type: array + items: + type: string + description: Extraction log + errors: + type: array + items: + type: string + description: Extraction errors, if any + meta: + type: object + additionalProperties: + type: array + items: + type: string + description: | + Contains the meta tags extracted from the page. + properties: + properties: + json-ld: + type: array + items: + type: object + description: A list of JSON-LD documents retrieved during the extraction + link: + type: array + items: + type: object + patternProperties: + "^@.+": + type: string + description: Link attribute, always starting with `@` + description: A list of all `link` tags retrieved during the extraction + meta: + type: array + items: + type: object + patternProperties: + "^@.+": + type: string + description: Meta attribute, always starting with `@` + description: A list of all `meta` tags retrieved during the extraction + domain: + type: string + format: hostname + description: Page's domain name + title: + type: string + description: Page's title + authors: + type: "[string]" + description: Page's author list + site: + type: string + format: hostname + description: Page's site + site_name: + type: string + description: Page's site name + lang: + type: string + description: Language Code + text_direction: + type: string + enum: [rtl, ltr] + description: | + Direction of the article's text. It can be empty when it's unknown. + date: + type: [string] + format: date-time + nullable: true + description: Publication date. Can be `null` when unknown. + document_type: + type: string + description: | + The detected document type. The value is usualy `article`, `photo` or `video` + but can vary, based on the extraction process. + description: + type: string + description: | + Page's short description, when it exists. It's always an unformatted text. + html: + type: string + description: | + The HTML content after processing. + embed: + type: string + description: | + The oembed HTML fragment, when it exists. It usualy contains an iframe when + extracting videos. + images: + properties: + additionalProperties: + properties: + size: + type: "[integer]" + description: The image size in pixels + encoded: + type: string + description: The base64 URI encoded image + + text/html: + schema: + type: string diff --git a/readeck_api/profile/routes.yaml b/readeck_api/profile/routes.yaml new file mode 100644 index 0000000..3517159 --- /dev/null +++ b/readeck_api/profile/routes.yaml @@ -0,0 +1,55 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +auth: + summary: Authenticate + description: | + This route performs the authentication with a username and a password and returns a token + that you can use for all API requests. + + You don't need to perform a request to this route each time you're using the API, only do it + once and keep the token somehow. You can use this route to provide a first time authentication + in a mobile application or any API client you may build and only store the resulting token. + + You MUST provide an application name. + + Alternatively, you can [create an authentication token](../profile/tokens) directly from + Readeck. + + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/authenticationForm" + + responses: + "201": + description: Authentication success + content: + application/json: + schema: + $ref: "#/components/schemas/authenticationResult" + + "403": + description: Authentication failed + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +# GET /profile +profile: + summary: User Profile + description: | + This route returns the current user's profile information. This includes the user information + and preferences, and the authentication provider with its permissions. + + responses: + "200": + description: Profile information + content: + application/json: + schema: + $ref: "#/components/schemas/userProfile" diff --git a/readeck_api/profile/types.yaml b/readeck_api/profile/types.yaml new file mode 100644 index 0000000..ccc0617 --- /dev/null +++ b/readeck_api/profile/types.yaml @@ -0,0 +1,143 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +schemas: + authenticationForm: + type: object + required: [username, password, application] + properties: + username: + type: string + description: Username + password: + type: string + description: Password + application: + type: string + description: Application name. This can be anything. + roles: + type: array + items: + type: string + description: A list of roles to restrict the new token access. + example: + username: alice + password: "1234" + application: api doc + + authenticationResult: + type: object + properties: + id: + type: string + description: Token ID + token: + type: string + description: Authentication token. This is the value you must store in your application. + example: + { + "id": "RFutYEAVM95DUDLUDnhbQm", + "token": "eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJqdxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + } + + userProfile: + type: object + properties: + provider: + description: Authentication provider information + type: object + properties: + id: + type: string + format: short-uid + description: Authentication provider ID (ie. the token ID) + name: + type: string + description: Provider name + application: + type: string + description: The registered application name + roles: + type: array + items: + type: string + description: Roles granted for this session + permissions: + type: array + items: + type: string + description: Permissions granted for this session + user: + description: User information + type: object + properties: + username: + type: string + description: Username + email: + type: string + format: email + description: User email + created: + type: string + format: date-time + description: Creation date + updated: + type: string + format: date-time + description: Last update date + settings: + description: User settings + type: object + properties: + debug_info: + type: boolean + description: Enable debug information + reader_settings: + description: Reader settings + type: object + properties: + font: + type: string + font_size: + type: integer + line_height: + type: integer + example: + { + "provider": { + "name": "bearer token", + "id": "X4bmnMRcnDhQtu5y33qzTp", + "application": "internal", + "roles": [ + "scoped_bookmarks_r", + "scoped_bookmarks_w" + ], + "permissions": [ + "api:bookmarks:collections:read", + "api:bookmarks:collections:write", + "api:bookmarks:export", + "api:bookmarks:read", + "api:bookmarks:write", + "api:opds:read", + "api:profile:read", + "api:profile:tokens:delete" + ] + }, + "user": { + "username": "alice", + "email": "alice@localhost", + "created": "2023-08-27T13:32:11.704606963Z", + "updated": "2023-12-17T09:08:31.909723372Z", + "settings": { + "debug_info": false, + "reader_settings": { + "font": "serif", + "font_size": 3, + "line_height": 3 + } + } + } + } diff --git a/readeck_api/traits.yaml b/readeck_api/traits.yaml new file mode 100644 index 0000000..238590c --- /dev/null +++ b/readeck_api/traits.yaml @@ -0,0 +1,125 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +authenticated: + responses: + "401": + description: | + Unauthorized. The request token found in the Authorization header is not valid. + content: + application/json: + schema: + $ref: "#/components/schemas/message" + "403": + description: | + Forbidden. The user doesn't have permission to fetch users for the specified, + but has other account permissions + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +paginated: + parameters: + - name: limit + in: query + description: Number of items per page + schema: + type: integer + - name: offset + in: query + description: Pagination offset + schema: + type: integer + + responses: + '200': + headers: + Link: + description: Link to other pages in paginated results + schema: + type: array + items: + type: string + Current-Page: + description: Current page number + schema: + type: integer + Total-Count: + description: Total number of items + schema: + type: integer + Total-Pages: + description: Total number of pages + schema: + type: integer + +created: + responses: + "201": + headers: + Location: + description: URL of the created resource + schema: + type: string + format: uri + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +deferred: + responses: + "202": + headers: + Location: + description: URL of the created resource + schema: + type: string + format: uri + content: + application/json: + schema: + $ref: "#/components/schemas/message" + +validator: + responses: + "422": + description: | + This HTTP response is sent when the input data is not valid. It contains an object + with all the detected errors. + content: + application/json: + schema: + properties: + is_valid: + type: boolean + description: | + `true` if the input is valid + errors: + type: "[string]" + nullable: true + description: List of global input errors + fields: + type: object + description: | + All the fields, with and without errors + additionalProperties: + properties: + is_null: + type: boolean + description: | + `true` if the input value is null + is_bound: + type: boolean + description: | + `true` when the value is bound to the form + value: + type: any + description: Item's value; can be any type + errors: + type: "[string]" + nullable: true + description: List of errors for this field diff --git a/readeck_api/types.yaml b/readeck_api/types.yaml new file mode 100644 index 0000000..a4ab7e0 --- /dev/null +++ b/readeck_api/types.yaml @@ -0,0 +1,14 @@ +--- +# SPDX-FileCopyrightText: © 2023 Olivier Meunier +# +# SPDX-License-Identifier: AGPL-3.0-only + +schemas: + message: + properties: + status: + type: integer + description: HTTP Status Code + message: + type: string + description: Information or error message