Skip to content

Commit

Permalink
This PR gets the latest from iD master and incorporates it into Rapid…
Browse files Browse the repository at this point in the history
… master. (#97)

* Update address format in China

* Add field for `ref:vatin` (close #6880)

* Add field for `mapillary` tag (close #7064)

* Change Mapillary Photo ID field name to Mapillary Image ID

* Add field for `wikimedia_commons` tag (re: #7064)

* Add fields to `man_made=petroleum_well`
Deprecate `man_made=gas_well` and `man_made=oil_well`

* Add terms to several playground presets

* Update temaki to v3.2.0 (close #7089)

* Update taginfo.json temaki icons endpoints to ideditor repo

* Ensure identifier field link button has proper state on init

* Add tooltips to mapillary map features layer icons (close #7079)

* Fix issue where a new row would not appear last after deleting multiple rows from the raw tag editor (close #7087)

* Reload API status automatically when a response indicates a probable change in status (close #6650)
Make API status messages more informative (close #7021)
Add manual Retry button to "unable to connect" API status message (close #5864)

* Fix checkbox alignment and padding (close #7091)

* Revalidate after reversing ways via the One Way field

* Remove `leisure=social_club` deprecation due to possible mixed usage (re: #6252)

* Add licensing information to the ai features dialog.

* Update to temaki v3.3.0 (close  #7094)

* Add "trees" as a search term for Natural Wood and Managed Forest
(closes #7097)

* User lighter green fill for `golf=green`
(closes #7101)

This also adds fill styles for the other light-green things like cemetaries
vineyards, etc.. For some reason they didn't have fill styles before so only
the strokes were being styled light green.

* Only show flag country field when flag:type=national (close #7099)

* Add unsearchable preset for `demolished:building=yes` (close #7098)
Render features with a status prefix in the provisional styles (e.g. dashed outline)

* Update to temaki 3.4.0 (close #7102)

* Make point markers more circular with larger icons (close #6163)
Tweak the grey style of points linked to wikidata

* fix issue #7090

An easier way to recreate the issue is by creating two ways of different type then select both and undo one of the lines. This patch removes the removed selected ids from the editor by manipulating _entityIDs in historyChange().

* Fix stale UI when undoing/redoing between single and multiselections (re: #7090)

* Taper the point marker shape somewhat (re: #6163)

* Revert circular markers (open #6163)

*  Fix issue #84: Change feature count tracking to operate across AI source types (#85)

Fix AI Feature maximum-count-per-changeset logic to include all AI features, not just roads.

* Fix performance issue where breathe behavior would be called for each selected element instead of just for the surface (close #3571)

* Add `brand` field to more common NSI presets (re: #6507)

* Use `tunnel=culvert` on waterways when using the "add a tunnel" crossing ways fix (re: #6617)

* Fix mapillary detection selection rendering in Firefox and Safari (close #6804)
Fix mapillary feature detection tooltips (re: #7079)

* Add `connectivity` preset (close #7105)

* Add icon and tooltip for mapillary detected billboards

* Don't style untagged multipolygon member lines as area boundaries if they also have belong to non-multipolygon relations (close #6787)

* Store selected mapillary image by its key rather than its object
Properly sort selected mapillary signs and features above unselected ones

* Fix lint warning

* Rely more on mapillary selected photo key than photoviewer datum
Remove mapillary map feature selection outline when closing photoviewer

* Fix code tests to represent moved multipolygon line classes behavior

* Update ImproveOSM overlay endpoints for transition to Grab (close #7110)

* Add "Ride" to name of `attraction=drop_tower` preset
Add terms to various presets

* Update to temaki v3.5.0

* For Mapbox Satellite, use the Tiles API way of determining tilesize
https://docs.mapbox.com/api/maps/#static-tiles

* Update icon for Underground Power Cable preset

* Show all OSM entity options when searching for a number without a prefix (close #7112)

* Search all downloaded features instead of just visible ones on 2.x (re:  #6516, re: 4801404)

* Revert c6db769 - back to Raster API (again)
The image quality is better from this one

* Allow squaring multiple features at once (close #6565)

* Rename rendererMap.editable function to more precise rendererMap.editableDataEnabled
Make coreContext.editable function also account for whether user is in modeSave

*  Allow viewing and editing the tags/relations of selected features at any zoom level in 2.x (re: #5001)

* Update unsquare way fix annotations

* Prevent partial rendering of selection style when showing only selected features at low zooms

* Lower matchScore of generic Boundary preset to be below that of the Administrative Boundary preset (close #7118)

* Enable zoom-to-center of multiple selected entities (close #6696)

* Update shortcut documentation for possibility of zooming multiple selected features

* Prevent opening edit menu in wide selection

* Fix typo in comment

* 2.x: Highlight relation members in yellow when a relation is selected, including in a multi-selection (re: #5766, re: cf29355)

* Correctly remove yellow member highlight when removing member from select relation (close #6772)
Don't exit select mode when panning selected feature out of view
Return false when checking selected IDs and switching between single and multiselect in modeSelect

* Implement cleaner solution for removing breathe styling from deselected features

* 2.x: Use keyboard styling for shortcuts in tooltips (re: #6574, re: a579e35)

* Remove duplicate function

* 2.x:  Don't render multipolygon members in yellow when the multipolygon is selected (re: #6558, re: 4ab9712)

* Cherry pick b45dc7e

* Change preferred geometry type for various presets (re: c4a469e)

* Update preferred geometry type for several presets

* Remove documentation reference to old CSS class

* Rename Suggested Hashtags field to just Hashtags

* Remove extraneous whitespace

* Fix issue where the raw member editor did not have the expected padding (close #7115)

* Add Rail Yard preset (re: #7119, re: #6694)

* increase width of input field

* Fix typo in orthogonalize.too_large.multiple

* Fix missing structure tool icons (close #7124)

* Fix typo in orthogonalize.too_large.multiple

* Add derived data for prior merge

* Update generic preset names to be categorical (e.g. "this is a Tourism Feature" instead of "this is a Tourism")

* Rename demolished/building preset to represent that it is unsearchable

* Add unsearchable preset and field for `disused:railway` (re: #7119)

* Fix filename of amenity=karaoke_box preset

* Deprecate railway=* + abandoned=yes or disused=yes (close #7119)

* 2.x: Make toolbar horizontally scrollable when it overflows (re: #6755, re: 7545f67)
Generalize tooltip into popover control
Use the same popover control for tooltip as the preset browser and tools list popovers
Smartly position the preset browser popover and menu bar tooltips to stay fully onscreen
Position most tooltips closer to their controls
Fix small gap that could appear between a tooltip and its arrow
Allow wider toolbar tooltips

* Remove duplicate CSS

* Improve popover variable names

* Fix issue where the Buildings walkthrough could not be completed

* Add hacky fix for left-positioned popovers not appearing correctly on first appearance

* Avoid eslint warning for console statements in build scripts

* Add Preferences Pane, Third Party Icon toggle, link to policy
(re: #7040)

* Add privacy policy and link to it
(re: #7040)

* Update temaki to 3.6.0

* Add preset for waterway=fish_pass

* Update name and terms for car sharing and car pooling presets

* Update name and terms for car sharing and car pooling presets

* Update icons for generic public transport platform presets

* es6 preset_icon.js

* Don't show denomination field if religion=none (close #7135)

* Update marked to 0.8.0 (close #7113)
Update fast-json-stable-stringify to 2.1.0 (close #7121)

* Remove old, unused implementations of favorite, recent, and search-to-add preset toolbar items

* Fix capitalization on some j-bar and t-bar presets

* increase width of input field

* Add derived data for t-bar preset name change

* Use constant width for unsquare building degree threshold input (re: #7126)

* Update d3 to v5.14.2 (close #7049)

* Update rollup-plugin-visualizer to 3.3.1 (close #7054)

* Use foreach instead of for loops for clarity
Also rename `loc` to `point` (elsewhere in iD code `loc` is a lon/lat)

* Comment routeSegments

* Put a changelog in the Privacy Policy

* Start the 2.17.0 changelog

* Reset `showing-img` class on update selection

* Honor the user's third party icon preference

* Add privacy policy version check to context and splash screen
(closes #7040)

A few other minor things in this commit
- migrated several ui modal files to ES6 syntax
- switched the splash link from ideditor.org -> ideditor.blog

* Add "pilates" as search term for  "leisure": "fitness_centre"
(closes #7137)

* Contributing notes on ES6

* Use temaki-beach icon for Coastline preset

* Add terms to Cycle Barrier preset

* Rename "Firepit" preset to "Fire Pit" and add terms and fields

* Add derived data

* Add to 2.17.0 changelog

* Continue 2.17.0 changelog

* Update temaki to v3.7.0 (close #7142)
Update icon for bunker presets (close #7139)
Update icon for Boat Store and Boatyard presets

* Update changelog

* Add Carlings to wiki commons logo list

* Revert references to the v3 UI in the Keyboard Shortcuts menu
Remove unused preset favoriting functionality

* Add util function for generating classes/ids from any string

* Update derived data

* Fix issue where presets with special characters in their names could not be dragged around in the toolbar

* Skip loading gravatars if user has third party icons deselected

* Sort "Foot Path" and "Cycle Path" above "Cycle & Foot Path" when searching "foot" or "cycle"

* Update icon for Water Slide preset

* Use typeCombo field for Utility field on Marker presets

* update address format in Bolivia

* update phone format in Bolivia

* Update to temaki v3.8.0

* Show Parking Lot preset ahead of more specific presets in search

* Add terms to various lodging presets

* Disable operations, copy, and paste during low-zoom selection

* Update to name-suggestion-index 3.5.0
(closes #7157)

* Properly update undo/redo button tooltips when undoing/redoing (close #6872)

* Add new presets for nsi 3.5.0

- craft/cleaning.json
- shop/camera.json
- shop/flooring.json
- shop/pottery.json
- shop/tool_hire.json

* update address format in Bolivia

* update phone format in Bolivia

* Update changelog

* Update changelog

* Update changelog

* npm run translations and add Occitan language to Multilingual Name field (close #7156)

* npm run imagery

* vA.B.C

* Revert "vA.B.C"

This reverts commit 1e90212.

* v2.17.0

* Fix errant CSS

* Added peruvian phone format

* Add peruvian address for urban and rural areas

* Update AU phone format

* Fix errant wetland area CSS

* Make link to privacy notice in splash screen translatable
(closes #7171)

* Arabic + Latin Bidi labels

* numerals fix

* Add natural=geyser preset

* Add more fields to the tourism=camp_site preset (close #7169)
Add Backcountry Camping Area and Group Camping Area presets
Add Hot Water field to the Shower preset
Deprecate low usage `showers` tag in favor of `shower`

* Add Bottle Filling field to Drinking Water preset

* Deprecate low-usage `women` and `men` in favor of `female` and `male`

* Fix eslint error (re: #7182)

* Added a preset for shop=doors

* Remove old layer translations re-added in prior merge

* Deprecate entrance=main_entrance (re: #7174)

* Add Emergency Exit preset

* Update icons for various building presets (re: #7068)

* Update Kiosk preset icon (re: #7068)

* Update editorconfig for JavaScript syntax

* Update icon set URLs in presets readme

* Add warnings about duplicate keyboard shortcuts when building translations (close #7185)
Update translations

* Fix JavaScript error that could cause validation warnings to appear unexpectedly (close #7166)
Add code test to account for deprecated tags with no replacement

* Make the Churchyard preset unsearchable (re: #7187)

* Add terms to cemetery, graveyard, and religious area (re: #7187)

* Deprecate various `entrance` values (re: #7174)

* Add more fields to leisure presets

* Update icons for residential areas

* Fix syntax error and standardize indentation from #7159

* Add Baby Nursing Area field (close #7152)

* Update D3 to 5.15.0 (close #7191)
Update rolup/plugin-buble to 0.21.0 (close #7151)

* Add `gambling` field to gambling-related presets (re: #7198)

* Filter out values with fewer 10 or fewer uses from combo field suggestions (close #7203)

* Make brand preset subtitle normal weight

* Remove duplicate Natural Features category entry

* Fix ImproveOSM request payload

- Seems that the expected payload has changed so now all error types use
key "targetIds"
- Also includes minor fix so that comments display in the UI immediately

* Add Secondhand Clothing Store preset (close #7164)
Add Used Car Dealership preset
Deprecate clothes=second_hand when used with shop=clothes

Co-authored-by: Quincy Morgan <quincylvania@users.noreply.github.com>
Co-authored-by: Bryan Housel <bryan@7thposition.com>
Co-authored-by: anonomis <simon.landeholm@gmail.com>
Co-authored-by: Iman <iriman@users.noreply.github.com>
Co-authored-by: Mikkel Kirkgaard Nielsen <memb_github@mikini.dk>
Co-authored-by: Marco Antonio <marcoantoniofrias@gmail.com>
Co-authored-by: Diego Sangunietti <5572928+sguinetti@users.noreply.github.com>
Co-authored-by: Phil Wyatt <tastrax@users.noreply.github.com>
Co-authored-by: Nick Doiron <ndoiron@mapmeld.com>
Co-authored-by: hikemaniac <31667811+hikemaniac@users.noreply.github.com>
Co-authored-by: SilentSpike <silentspike100+Github@gmail.com>
  • Loading branch information
12 people committed Jan 7, 2020
1 parent 661d54e commit fe2f964
Show file tree
Hide file tree
Showing 345 changed files with 32,234 additions and 25,175 deletions.
14 changes: 10 additions & 4 deletions .editorconfig
Expand Up @@ -4,10 +4,16 @@ root = true
trim_trailing_whitespace = true
insert_final_newline = false

# for ESLint
[*.js]
end_of_line = lf

[*.{js,json,css,html}]
indent_style = space
indent_size = 4
indent_size = 4


# EOL for ESLint
# newline follows Airbnb style guide
# mix of indent size between ES5 and ES6 syntax files
[*.js]
end_of_line = lf
insert_final_newline = true
indent_size = tab_width
40 changes: 40 additions & 0 deletions PRIVACY.md
@@ -0,0 +1,40 @@
## iD Editor Privacy Policy

iD Editor is an open source OpenStreetMap editor. You are not required to use iD in order to use or edit OpenStreetMap, and the OpenStreetMap Foundation does not operate iD. You can learn more about OpenStreetMap and the OpenStreetMap Foundation at [https://www.openstreetmap.org/about](https://www.openstreetmap.org/about) and [https://wiki.osmfoundation.org/wiki/Main_Page](https://wiki.osmfoundation.org/wiki/Main_Page). You can learn more about the iD Editor project and its maintainers at [https://github.com/openstreetmap/iD](https://github.com/openstreetmap/iD).

### Source code and website ([http://ideditor.com/](http://ideditor.com/))

If you choose to interact with the project GitHub page or website hosted by GitHub, you do so in accordance with [GitHub’s Privacy Policy](https://help.github.com/en/articles/github-privacy-statement). If you choose to interact with the pre-release version of iD at [http://preview.ideditor.com/release](http://preview.ideditor.com/release) or [http://preview.ideditor.com/master](http://preview.ideditor.com/master), that use is governed by [AWS’s privacy policy](https://aws.amazon.com/privacy/). If you choose any other communications medium to contact the maintainers of iD, that use is governed by the policies of those respective mediums. See [https://github.com/openstreetmap/iD](https://github.com/openstreetmap/iD) for more information. iD may use any feedback you provide.

### Cookies

iD use cookies, website logs and other similar data and technologies (i) to preserve information so you will not have to re-enter or re-encounter it during your visit or on subsequent visits; (ii) to maintain sessions for authenticated users; (iii) to monitor metrics about iD use such as the number of visitors and most used features; (iv) for internal diagnostic and analytic purposes (v) to improve the editor and related features, and (vi) to provide information to you about iD, editing, or OpenStreetMap. We have a legitimate interest in improving and informing you about iD, and certain data collection is necessary in order for iD to function. You may delete cookies from your computer, and most browsers provide the option to block cookies. However, if you block cookies, portions of iD may not work as intended. For example, you must be logged into your OpenStreetMap account in order to edit OpenStreetMap.

### Logging into OpenStreetMap

In order to make edits using iD, you must be logged into your OpenStreetMap account. You may do so via the OpenStreetMap website or a number of third-party login services. That use is governed by the respective privacy policies of the login method you choose.

### Changeset information

When you use iD to edit OpenStreetMap, iD uses the OpenStreetMap API to contribute edits. For quality control purposes, along with the information typically recorded for an OpenStreetMap edit, iD automatically adds tags to each changeset submitted with iD which identifies the changeset as one made with iD and information that indicates the user’s level of experience with iD editor and/or its walkthrough. See [here](https://github.com/openstreetmap/iD/blob/master/modules/ui/commit.js) for details. The [OSMF privacy policy](https://wiki.osmfoundation.org/wiki/Privacy_Policy) governs the use of this data in the OpenStreetMap database.

### Editor experience tags

Details on that are [here](https://github.com/openstreetmap/iD/blob/master/modules/ui/commit.js).

### Background imagery and other third party services

If you use background or streetside imagery to aid your edits, your browser must fetch information and images from a third-party imagery host. That use is governed by the respective privacy policies of each imagery host. The [Editor Layer Index](https://github.com/osmlab/editor-layer-index) and [iD Editor GitHub code](https://github.com/openstreetmap/iD/blob/master/modules/ui/map_data.js) provides detailed information as to imagery layer available in iD. In addition, you may use third party services to assist your editing or check for errors. See [here](https://github.com/openstreetmap/iD/tree/master/modules/services) for details. If you do not wish to interact with these third parties, do not use these features.

### Name Suggestion Index

The Name Suggestion Index is a feature in iD to aid users in consistently and accurately identifying the brand names of companies on the map. The NSI optionally fetches information and brand logos hosted on third party websites, including WikiData, Wikimedia Commons, and the brands’ respective Facebook and Twitter accounts. That use is governed by their respective privacy policies, including [https://foundation.wikimedia.org/wiki/Privacy_policy](https://foundation.wikimedia.org/wiki/Privacy_policy); [https://twitter.com/en/privacy](https://twitter.com/en/privacy); [https://www.facebook.com/about/privacy](https://www.facebook.com/about/privacy). Specific information about the information and images fetched for each brand may be found at [https://nsi.guide/](https://nsi.guide/). If you do not wish to interact with these third parties, you can deselect this feature in the User Preferences -> Privacy section.

### Contact

If you believe that we hold information that would allow us to correct, amend, or delete inaccurate information about you or if you believe that information about you has been processed in violation of this privacy policy or applicable law, please email us at privacy@ideditor.org.


### Changelog

* _2019-Dec-17_ - Initial version.
1 change: 1 addition & 0 deletions build.js
@@ -1,3 +1,4 @@
/* eslint-disable no-console */
const buildData = require('./build_data');
const buildSrc = require('./build_src');
const buildCSS = require('./build_css');
Expand Down
8 changes: 5 additions & 3 deletions build_data.js
Expand Up @@ -72,7 +72,8 @@ function buildData() {
'fas-i-cursor': {},
'fas-lock': {},
'fas-long-arrow-alt-right': {},
'fas-th-list': {}
'fas-th-list': {},
'fas-user-cog': {}
};

// The Noun Project icons used
Expand Down Expand Up @@ -324,7 +325,8 @@ function suggestionsToPresets(presets) {
Q177054: true, // Burger King
Q524757: true, // KFC
Q779845: true, // CBA
Q1205312: true // In-N-Out
Q1205312: true, // In-N-Out
Q10443115: true // Carlings
};

let logoURL;
Expand Down Expand Up @@ -510,7 +512,7 @@ function generateTaginfo(presets, fields) {
tag.icon_url = 'https://cdn.jsdelivr.net/gh/mapbox/maki/icons/' +
preset.icon.replace(/^maki-/, '') + '-15.svg';
} else if (/^temaki-/.test(preset.icon)) {
tag.icon_url = 'https://cdn.jsdelivr.net/gh/bhousel/temaki/icons/' +
tag.icon_url = 'https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/' +
preset.icon.replace(/^temaki-/, '') + '.svg';
} else if (/^fa[srb]-/.test(preset.icon)) {
tag.icon_url = 'https://cdn.jsdelivr.net/gh/openstreetmap/iD@master/svg/fontawesome/' +
Expand Down
10 changes: 6 additions & 4 deletions css/20_map.css
Expand Up @@ -286,11 +286,13 @@ text.point {

/* Wikidata-tagged */
g.point.tag-wikidata path.stroke {
stroke-width: 3px;
stroke: #777;
fill: #ddd;
stroke-width: 2px;
stroke: #666;
fill: #eee;
}
g.point.tag-wikidata .icon {
color: #666;
}


/* Selected Members */
g.vertex.selected-member .shadow,
Expand Down
42 changes: 29 additions & 13 deletions css/25_areas.css
Expand Up @@ -193,6 +193,10 @@ path.fill.tag-power-plant {
path.stroke.tag-natural-wetland {
stroke: rgb(153, 225, 170);
}
path.fill.tag-natural-wetland {
stroke: rgba(153, 225, 170, 0.3);
fill: rgba(153, 225, 170, 0.3);
}
.preset-icon-fill path.area.fill.tag-natural-wetland {
fill: rgba(153, 225, 170, 0.2);
}
Expand All @@ -207,29 +211,41 @@ path.stroke.tag-natural-wetland {

/* Light Green things */
path.stroke.tag-landuse-cemetery,
path.stroke.tag-landuse-orchard,
path.stroke.tag-landuse-vineyard,
path.stroke.tag-landuse-farmland,
path.stroke.tag-landuse-grass.tag-golf-green,
path.stroke.tag-landuse-meadow,
path.stroke.tag-landuse-farmland {
path.stroke.tag-landuse-orchard,
path.stroke.tag-landuse-vineyard {
stroke: rgb(191, 232, 63);
}
path.fill.tag-landuse-cemetery,
path.fill.tag-landuse-farmland,
path.fill.tag-landuse-grass.tag-golf-green,
path.fill.tag-landuse-meadow,
path.fill.tag-landuse-orchard,
path.fill.tag-landuse-vineyard {
stroke: rgba(191, 232, 63, 0.3);
fill: rgba(191, 232, 63, 0.3);
}
.preset-icon-fill path.area.fill.tag-landuse-cemetery,
.preset-icon-fill path.area.fill.tag-landuse-orchard,
.preset-icon-fill path.area.fill.tag-landuse-vineyard,
.preset-icon-fill path.area.fill.tag-landuse-farmland,
.preset-icon-fill path.area.fill.tag-landuse-grass.tag-golf-green,
.preset-icon-fill path.area.fill.tag-landuse-meadow,
.preset-icon-fill path.area.fill.tag-landuse-farmland {
fill: rgba(191, 232, 63, 0.2);
.preset-icon-fill path.area.fill.tag-landuse-orchard,
.preset-icon-fill path.area.fill.tag-landuse-vineyard {
fill: rgba(191, 232, 63, 0.4);
}
.pattern-color-cemetery,
.pattern-color-cemetery_christian,
.pattern-color-cemetery_buddhist,
.pattern-color-cemetery_muslim,
.pattern-color-cemetery_christian,
.pattern-color-cemetery_jewish,
.pattern-color-orchard,
.pattern-color-vineyard,
.pattern-color-cemetery_muslim,
.pattern-color-farmland,
.pattern-color-golf_green,
.pattern-color-meadow,
.pattern-color-farmland {
fill: rgba(191, 232, 63, 0.2);
.pattern-color-orchard,
.pattern-color-vineyard {
fill: rgba(191, 232, 63, 0.3);
}


Expand Down
26 changes: 14 additions & 12 deletions css/60_photos.css
Expand Up @@ -196,25 +196,27 @@


/* Mapillary Traffic Signs and Map Features Layers */
.layer-mapillary-signs,
.layer-mapillary-map-features {
.layer-mapillary-detections {
pointer-events: none;
}
.layer-mapillary-signs .icon-sign,
.layer-mapillary-map-features .icon-map-feature {
.layer-mapillary-detections .icon-detected {
outline: 2px solid transparent;
pointer-events: visible;
cursor: pointer;
opacity: 0.75;
}
.layer-mapillary-signs .icon-sign:hover,
.layer-mapillary-map-features .icon-map-feature:hover {
outline: 5px solid #eebb00;
background-color: #eebb00;
.layer-mapillary-detections .icon-detected rect {
fill: none;
}
.layer-mapillary-detections .icon-detected:hover rect {
outline: 3px solid rgba(255, 238, 0, 0.6);
}
.layer-mapillary-detections .icon-detected.currentView rect {
outline: 3px solid rgba(255, 238, 0, 1);
}
.layer-mapillary-signs .icon-sign.currentView,
.layer-mapillary-map-features .icon-map-feature.currentView {
outline: 5px solid #ffee00;
background-color: #ffee00;
.layer-mapillary-detections .icon-detected:hover,
.layer-mapillary-detections .icon-detected.currentView {
opacity: 1;
}


Expand Down

0 comments on commit fe2f964

Please sign in to comment.