├── .github └── workflows │ └── main.yml ├── .gitignore ├── .gitmodules ├── AR MultiPendulum.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm │ │ └── Package.resolved └── xcshareddata │ └── xcschemes │ └── AR MultiPendulum.xcscheme ├── AR MultiPendulum ├── AR_MultiPendulumApp.swift ├── App Setup │ ├── Coordinator.swift │ └── PendulumSettingsView.swift ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-App-1024x1024@1x.png │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ └── Icon-App-83.5x83.5@2x.png │ └── Contents.json ├── ContentView.swift ├── Interface │ ├── Components │ │ ├── PendulumInterfaceAnchor.swift │ │ ├── PendulumInterfaceBackButton.swift │ │ ├── PendulumInterfaceCounter.swift │ │ └── PendulumInterfacePicker.swift │ ├── PendulumInterface.swift │ ├── PendulumInterfaceExtensions.swift │ ├── PendulumInterfaceParagraphs.swift │ ├── PendulumInterfaceRendering.swift │ └── Pickers │ │ ├── PendulumAnglePicker.swift │ │ ├── PendulumAngularVelocityPicker.swift │ │ ├── PendulumLengthPicker.swift │ │ ├── PendulumMassPicker.swift │ │ └── PendulumPropertyPicker.swift ├── Mesh Construction │ ├── Joints │ │ ├── PendulumJointConstruction.metal │ │ ├── PendulumJointUtilities.h │ │ └── PendulumJointUtilities.metal │ ├── PendulumMeshConstructionExecution.swift │ ├── PendulumMeshConstructor.swift │ ├── PendulumMeshConstructorExtensions.swift │ ├── PendulumRendering.metal │ └── Rectangles │ │ ├── PendulumRectangleConstruction.metal │ │ ├── PendulumRectangleUtilities.h │ │ └── PendulumRectangleUtilities.metal ├── Pendulum Renderer │ ├── PendulumRenderer.swift │ ├── PendulumRendererExtensions.swift │ └── PendulumStandRendering.swift ├── Preview Content │ └── Preview Assets.xcassets │ │ └── Contents.json └── Simulation │ ├── Pendulum State │ ├── PendulumFailureTrajectory.swift │ └── PendulumState.swift │ ├── Prototype │ ├── PendulumSimulationPrototype.swift │ └── PendulumSimulationPrototypeExtensions.swift │ ├── State Equations │ ├── PendulumMatrixSolving.swift │ ├── PendulumStateEquations.swift │ └── PendulumStateEquationsExtensions.swift │ └── Time Stepping │ ├── PendulumTimeStepper.swift │ └── PendulumTimeStepperExtensions.swift ├── AR-MultiPendulum-Info.plist ├── LICENSE └── README.md /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/.gitmodules -------------------------------------------------------------------------------- /AR MultiPendulum.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /AR MultiPendulum.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /AR MultiPendulum.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /AR MultiPendulum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved -------------------------------------------------------------------------------- /AR MultiPendulum.xcodeproj/xcshareddata/xcschemes/AR MultiPendulum.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum.xcodeproj/xcshareddata/xcschemes/AR MultiPendulum.xcscheme -------------------------------------------------------------------------------- /AR MultiPendulum/AR_MultiPendulumApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/AR_MultiPendulumApp.swift -------------------------------------------------------------------------------- /AR MultiPendulum/App Setup/Coordinator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/App Setup/Coordinator.swift -------------------------------------------------------------------------------- /AR MultiPendulum/App Setup/PendulumSettingsView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/App Setup/PendulumSettingsView.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /AR MultiPendulum/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /AR MultiPendulum/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/ContentView.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Components/PendulumInterfaceAnchor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Components/PendulumInterfaceAnchor.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Components/PendulumInterfaceBackButton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Components/PendulumInterfaceBackButton.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Components/PendulumInterfaceCounter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Components/PendulumInterfaceCounter.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Components/PendulumInterfacePicker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Components/PendulumInterfacePicker.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/PendulumInterface.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/PendulumInterface.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/PendulumInterfaceExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/PendulumInterfaceExtensions.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/PendulumInterfaceParagraphs.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/PendulumInterfaceParagraphs.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/PendulumInterfaceRendering.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/PendulumInterfaceRendering.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Pickers/PendulumAnglePicker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Pickers/PendulumAnglePicker.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Pickers/PendulumAngularVelocityPicker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Pickers/PendulumAngularVelocityPicker.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Pickers/PendulumLengthPicker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Pickers/PendulumLengthPicker.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Pickers/PendulumMassPicker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Pickers/PendulumMassPicker.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Interface/Pickers/PendulumPropertyPicker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Interface/Pickers/PendulumPropertyPicker.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/Joints/PendulumJointConstruction.metal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/Joints/PendulumJointConstruction.metal -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/Joints/PendulumJointUtilities.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/Joints/PendulumJointUtilities.h -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/Joints/PendulumJointUtilities.metal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/Joints/PendulumJointUtilities.metal -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/PendulumMeshConstructionExecution.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/PendulumMeshConstructionExecution.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/PendulumMeshConstructor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/PendulumMeshConstructor.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/PendulumMeshConstructorExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/PendulumMeshConstructorExtensions.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/PendulumRendering.metal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/PendulumRendering.metal -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/Rectangles/PendulumRectangleConstruction.metal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/Rectangles/PendulumRectangleConstruction.metal -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/Rectangles/PendulumRectangleUtilities.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/Rectangles/PendulumRectangleUtilities.h -------------------------------------------------------------------------------- /AR MultiPendulum/Mesh Construction/Rectangles/PendulumRectangleUtilities.metal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Mesh Construction/Rectangles/PendulumRectangleUtilities.metal -------------------------------------------------------------------------------- /AR MultiPendulum/Pendulum Renderer/PendulumRenderer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Pendulum Renderer/PendulumRenderer.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Pendulum Renderer/PendulumRendererExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Pendulum Renderer/PendulumRendererExtensions.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Pendulum Renderer/PendulumStandRendering.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Pendulum Renderer/PendulumStandRendering.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/Pendulum State/PendulumFailureTrajectory.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/Pendulum State/PendulumFailureTrajectory.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/Pendulum State/PendulumState.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/Pendulum State/PendulumState.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/Prototype/PendulumSimulationPrototype.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/Prototype/PendulumSimulationPrototype.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/Prototype/PendulumSimulationPrototypeExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/Prototype/PendulumSimulationPrototypeExtensions.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/State Equations/PendulumMatrixSolving.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/State Equations/PendulumMatrixSolving.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/State Equations/PendulumStateEquations.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/State Equations/PendulumStateEquations.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/State Equations/PendulumStateEquationsExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/State Equations/PendulumStateEquationsExtensions.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/Time Stepping/PendulumTimeStepper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/Time Stepping/PendulumTimeStepper.swift -------------------------------------------------------------------------------- /AR MultiPendulum/Simulation/Time Stepping/PendulumTimeStepperExtensions.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR MultiPendulum/Simulation/Time Stepping/PendulumTimeStepperExtensions.swift -------------------------------------------------------------------------------- /AR-MultiPendulum-Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/AR-MultiPendulum-Info.plist -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/philipturner/ar-multipendulum/HEAD/README.md --------------------------------------------------------------------------------