gitextract_01cekmvj/ ├── .gitignore ├── CoreUtil/ │ ├── CoreUtil/ │ │ ├── Class/ │ │ │ ├── Action.swift │ │ │ ├── Delta.swift │ │ │ ├── NS+OnAwake.swift │ │ │ ├── NSColorView.swift │ │ │ ├── NSViewController+ChainObject.swift │ │ │ ├── NSViewController+StateObject.swift │ │ │ ├── Observable.swift │ │ │ ├── PipeOperator.swift │ │ │ ├── Query.swift │ │ │ ├── Reachability+Publisher.swift │ │ │ ├── Reachability.swift │ │ │ ├── RestorableData.swift │ │ │ ├── RestorableState.swift │ │ │ ├── Terminal.swift │ │ │ ├── ViewPlaceholder.swift │ │ │ └── Zip3Sequence.swift │ │ ├── CoreUtil.h │ │ ├── ExceptionHanlder/ │ │ │ ├── ExceptionHandler.swift │ │ │ ├── ExceptionHanlder.h │ │ │ └── ExceptionHanlder.m │ │ ├── Export.swift │ │ ├── Extensions/ │ │ │ ├── Combine/ │ │ │ │ ├── Combine+ObjectBag.swift │ │ │ │ ├── Combine+Peek.swift │ │ │ │ ├── NSControl+Combine.swift │ │ │ │ └── NSTextField+Combine.swift │ │ │ ├── CoreGraphics/ │ │ │ │ ├── Ex+CGPoint.swift │ │ │ │ ├── Ex+CGRect.swift │ │ │ │ └── Ex+CGSize.swift │ │ │ ├── Swift/ │ │ │ │ ├── Ex+Array.swift │ │ │ │ ├── Ex+Clamp.swift │ │ │ │ ├── Ex+Localize.swift │ │ │ │ ├── Ex+Number.swift │ │ │ │ └── Ex+OptionSet.swift │ │ │ └── UI/ │ │ │ ├── Ex+CALayer.swift │ │ │ ├── Ex+Image.swift │ │ │ ├── Ex+NSColor.swift │ │ │ ├── Ex+NSControl.swift │ │ │ ├── Ex+NSEdgeInsets.swift │ │ │ ├── Ex+NSEvent.swift │ │ │ ├── Ex+NSMenuItem.swift │ │ │ ├── Ex+NSPopover.swift │ │ │ ├── Ex+NSTableView.swift │ │ │ └── Ex+UI.swift │ │ ├── HotKey/ │ │ │ ├── HotKey.swift │ │ │ ├── Key.swift │ │ │ └── NSEvent+HotKey.swift │ │ └── Info.plist │ └── CoreUtil.xcodeproj/ │ ├── project.pbxproj │ └── project.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── DevToys/ │ ├── DevToys/ │ │ ├── App/ │ │ │ ├── AppViewController.swift │ │ │ └── AppWindowController.swift │ │ ├── AppDelegate.swift │ │ ├── Body/ │ │ │ ├── BodyViewController.swift │ │ │ ├── Coder/ │ │ │ │ ├── Base64DecoderView+.swift │ │ │ │ ├── HTMLDecoderView+.swift │ │ │ │ ├── JWTDecoderView+.swift │ │ │ │ └── URLDecoderView+.swift │ │ │ ├── Convert/ │ │ │ │ ├── DateConverterView+.swift │ │ │ │ ├── JSONYamlConverterView+.swift │ │ │ │ └── NumberBaseConverterView+.swift │ │ │ ├── Format/ │ │ │ │ ├── JSONFormatterView+.swift │ │ │ │ ├── SQLFormatterView+.swift │ │ │ │ └── XMLFormatterView+.swift │ │ │ ├── Generator/ │ │ │ │ ├── ChecksumGeneratorView+.swift │ │ │ │ ├── HashGeneratorView+.swift │ │ │ │ ├── LoremIpsumGeneratorView+.swift │ │ │ │ ├── QRCodeGeneratorView+.swift │ │ │ │ └── UUIDGeneratorView+.swift │ │ │ ├── Graphic/ │ │ │ │ ├── Icon Generator/ │ │ │ │ │ ├── Generators/ │ │ │ │ │ │ ├── AndroidIconGenerator.swift │ │ │ │ │ │ ├── IOSIconGenerator.swift │ │ │ │ │ │ ├── IcnsGenerator.swift │ │ │ │ │ │ ├── IcoGenerator.swift │ │ │ │ │ │ ├── IconFolderGenerator.swift │ │ │ │ │ │ ├── IconGenerator+Model.swift │ │ │ │ │ │ ├── IconsetGenerator.swift │ │ │ │ │ │ ├── IosIconGenerator.swift │ │ │ │ │ │ └── PngIconGenerator.swift │ │ │ │ │ ├── Icon Templete/ │ │ │ │ │ │ ├── IconImageManager.swift │ │ │ │ │ │ ├── IconSet.swift │ │ │ │ │ │ ├── IconTemplete+.swift │ │ │ │ │ │ └── IconTemplete.swift │ │ │ │ │ └── IconGeneratorView+.swift │ │ │ │ ├── Image Converter/ │ │ │ │ │ ├── Exporters/ │ │ │ │ │ │ ├── DefaultImageExporter.swift │ │ │ │ │ │ ├── HeicImageExporter.swift │ │ │ │ │ │ ├── WebpImageExporter.swift │ │ │ │ │ │ └── cwebp │ │ │ │ │ ├── ImageConverter.swift │ │ │ │ │ └── ImageConverterView+.swift │ │ │ │ ├── Image Optimizer/ │ │ │ │ │ ├── ImageOptimaizerView.swift │ │ │ │ │ ├── ImageOptimizer.swift │ │ │ │ │ ├── jpegoptim │ │ │ │ │ └── optipng │ │ │ │ ├── PDFGeneratorView+.swift │ │ │ │ └── QRCodeReaderView+.swift │ │ │ ├── HomeView+.swift │ │ │ ├── Media/ │ │ │ │ ├── Audio Converter/ │ │ │ │ │ ├── AudioConverter.swift │ │ │ │ │ ├── AudioConverterView+.swift │ │ │ │ │ └── AudioFileScanner.swift │ │ │ │ ├── Color Picker/ │ │ │ │ │ ├── Color.swift │ │ │ │ │ ├── ColorPickerView+.swift │ │ │ │ │ ├── Components/ │ │ │ │ │ │ ├── BoxHSBColorPicker.swift │ │ │ │ │ │ ├── BrightnessBarView.swift │ │ │ │ │ │ ├── CircleBarsHSBColorPicker.swift │ │ │ │ │ │ ├── CircleBoxHSBColorPicker.swift │ │ │ │ │ │ ├── CircleHueBarView.swift │ │ │ │ │ │ ├── ColorBoxView.swift │ │ │ │ │ │ ├── ColorPickerHandleLayer.swift │ │ │ │ │ │ ├── ColorSampleView.swift │ │ │ │ │ │ ├── HueBarView.swift │ │ │ │ │ │ ├── OpacityBarView.swift │ │ │ │ │ │ └── SaturationBarView.swift │ │ │ │ │ ├── Pixel Picker/ │ │ │ │ │ │ ├── ACOverlayController.swift │ │ │ │ │ │ ├── ACOverlayController.xib │ │ │ │ │ │ ├── ACOverlayPanel.swift │ │ │ │ │ │ ├── ACOverlayPreview.swift │ │ │ │ │ │ ├── ACOverlayWrapper.swift │ │ │ │ │ │ ├── ACPixelPicker.swift │ │ │ │ │ │ └── Utils/ │ │ │ │ │ │ ├── Ex+CGImage.swift │ │ │ │ │ │ ├── Ex+NSBezierPath.swift │ │ │ │ │ │ ├── Ex+NSColor.swift │ │ │ │ │ │ ├── ShowAndHideCursor.h │ │ │ │ │ │ ├── ShowAndHideCursor.m │ │ │ │ │ │ ├── ShowAndHideCursor.swift │ │ │ │ │ │ └── Util+PixelPicker.swift │ │ │ │ │ └── R+ColorPicker.swift │ │ │ │ └── Movie to Gif/ │ │ │ │ ├── GifConverter.swift │ │ │ │ └── GifConverterView+.swift │ │ │ ├── SettingView+.swift │ │ │ ├── Text/ │ │ │ │ ├── HyphenationRemoverView+.swift │ │ │ │ ├── JSON Search/ │ │ │ │ │ ├── JSONNormalSearchView.swift │ │ │ │ │ └── JSONSearchView+.swift │ │ │ │ ├── RegexTesterView+.swift │ │ │ │ ├── TextDiffView+.swift │ │ │ │ └── TextInspectorView+.swift │ │ │ └── Utils/ │ │ │ ├── CameraViewController.swift │ │ │ ├── FileConflictAvoider.swift │ │ │ ├── Identifier.swift │ │ │ ├── ImageDropper.swift │ │ │ ├── Slugify.swift │ │ │ └── ffmpeg/ │ │ │ ├── FFMpegExecutor.swift │ │ │ ├── FFProgressReport.swift │ │ │ ├── FFTask.swift │ │ │ ├── FFThumnailGenerator.swift │ │ │ ├── FFTime.swift │ │ │ └── ffmpeg │ │ ├── Bridging-Header.h │ │ ├── Component/ │ │ │ ├── Area.swift │ │ │ ├── Button.swift │ │ │ ├── CodeTextView.swift │ │ │ ├── ControlBackgroundLayer.swift │ │ │ ├── ControlContainer.swift │ │ │ ├── DatePicker.swift │ │ │ ├── DragImageView.swift │ │ │ ├── EmptyImageTableView.swift │ │ │ ├── FileDrop.swift │ │ │ ├── ImageDropView.swift │ │ │ ├── NumberField.swift │ │ │ ├── Page.swift │ │ │ ├── PopupButton.swift │ │ │ ├── RegexTextView.swift │ │ │ ├── Section.swift │ │ │ ├── SectionButton+.swift │ │ │ ├── SectionButton.swift │ │ │ ├── TagCloudView.swift │ │ │ ├── TextField.swift │ │ │ ├── TextFieldSection.swift │ │ │ ├── TextView.swift │ │ │ ├── TextViewSection.swift │ │ │ └── Toast.swift │ │ ├── DevToys.entitlements │ │ ├── Info.plist │ │ ├── Model/ │ │ │ ├── AppModel.swift │ │ │ ├── Settings.swift │ │ │ ├── Tool+Default.swift │ │ │ ├── ToolCategory+Default.swift │ │ │ └── ToolManager+.swift │ │ ├── Resource/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AccentColor.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Contents.json │ │ │ │ ├── applewatch.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── carplay.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── check.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── clear.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── convert.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── copy.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── drop.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── error.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── export.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── format.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── hyphen.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ipad.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ipaddress.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── iphone.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── mac.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── network.status.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── number.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── open.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── paramators.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── paste.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── pulldown.indicator.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── search.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── settings.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── sidebar.disclosure.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── spacing.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── speed.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── spuit.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── stepper.down.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── stepper.up.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── text.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tool/ │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── api.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── audio.convert.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── base64.coder.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── color.blindness.simulator.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── color.picker.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── convert.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── date.convert.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── encoder.decoder.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── formatter.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── generator.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── gif.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── graphic.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── hash.generator.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── home.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── html.coder.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── icon.generator.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── image.compressor.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── image.converter.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── json.convert.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── json.formatter.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── json.search.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── jwt.coder.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── lorem.ipsum.generator.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── markdown.preview.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── media.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── network.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── number.base.convert.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── pdf.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── qr.generator.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── regex.tester.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── settings.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── sql.formatter.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── text.diff.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── text.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── text.inspector.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── url.coder.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── uuid.generator.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── xml.formatter.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── transparent_background.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Base.lproj/ │ │ │ │ └── Main.storyboard │ │ │ ├── R.swift │ │ │ ├── de.lproj/ │ │ │ │ ├── Localizable.strings │ │ │ │ └── Main.strings │ │ │ ├── en.lproj/ │ │ │ │ ├── Localizable.strings │ │ │ │ └── Main.strings │ │ │ ├── es.lproj/ │ │ │ │ ├── Localizable.strings │ │ │ │ └── Main.strings │ │ │ ├── ja.lproj/ │ │ │ │ ├── Localizable.strings │ │ │ │ └── Main.strings │ │ │ ├── pt-BR.lproj/ │ │ │ │ ├── Localizable.strings │ │ │ │ └── Main.strings │ │ │ └── zh-Hans.lproj/ │ │ │ ├── Localizable.strings │ │ │ └── Main.strings │ │ └── Sidebar/ │ │ ├── SearchCell.swift │ │ ├── SidebarView+.swift │ │ ├── ToolCategoryCell.swift │ │ ├── ToolMenuCell.swift │ │ └── View/ │ │ └── Separator.swift │ └── DevToys.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ └── DevToys.xcscheme ├── DevToys.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ ├── IDEWorkspaceChecks.plist │ └── swiftpm/ │ └── Package.resolved ├── LICENSE ├── README.md ├── Release Checklist.md └── docs/ ├── index.html └── sparkle/ └── appcast.xml