FANDOM


North Vision Song Contest 30
Chasing Lights
30Logo
Dates
Semi-final 1 date 22 December 2019
Semi-final 2 date 28 December 2019
Final date 12 January 2020
Host
Venue Malmö Arena, Malmö, Sweden
Presenter(s) Gina Dirawi
John Lundvik
Paul Rey
Sarah Dawn Finer
Broadcaster SVT
Opening act Semi-final 1: Janice, Molly Hammar, Amwin and Lash performing "Queen"
Semi-final 2: Janice, Sabina Ddumba and Molly Hammar performing "Feeling Good"
Final: Janice performing "Hearts Will Bleed"
Interval act Semi-final 1: Eric Saade and Sarah Dawn Finer performing "Ljuset"
Semi-final 2: Paul Rey performing "What Good Is Love"
Final: Robyn performing "Dancing On My Own"
Participants
Entries 52
Debuting Flag of Australia Australia
Withdrawing Flag of Serbia Serbia
Flag of Switzerland Switzerland
Voting
System Each country awards two sets of 12, 10, 8–1 points to their 10 favourite songs: one from their professional jury and the other from televoting
Winner Flag of Norway Norway
"Bannlyst"
North Vision Song Contest
◄ 29 Eurovision Heart 31 ►

North Vision Song Contest 30, often referred to as NVSC 30, was the 30th edition of the North Vision Song Contest. The contest took place in Malmö, as Sweden was the winning country of the twenty-ninth edition due to Janice's win with "Hearts Will Bleed". The show was hosted by Gina Dirawi, John Lundvik, Paul Rey and Sarah Dawn Finer.

Fifty-two countries participated in the edition. This includes Australia, who debuted in this edition due to winning the Associate Broadcasters Final. Serbia and Switzerland withdrew from this edition.

The winner was Norway with the song "Bannlyst" performed by Gåte. This marks Norway's third win, making the country tie with Denmark, Sweden and Switzerland for the amount of most victories in the contest to date. The runner-up, Germany, that ultimatively won the televoting, achieved their second second place and therefore marked its 4th automatic qualification. Iceland got their best result since their victory in the first edition coming third. Sweden and United Kingdom coming fourth and fifth, gained their third and second Top 6 placing in a row, respectively. The Top 6 was completed by Finland in sixth place, who received their best placement since their tie-breaking runner-up position in the twelfth edition. The Associate Broadcaster Final winner Australia was closely followed in the 7th place. Estonia returned to the final, after having last qualified in the twenty-second edition, coming eighth. Denmark returned to the final, after failing to qualify for three editions in a row, finishing in a seventeenth place. Montenegro managed to qualify for a third edition in a row for the first time in history. The bottom 3 was made up of pre-qualified countries, making Tunisia finish last, the Netherlands pre-last and Israel third to last. Austria failed to qualify from the semi-finals for the first time since the twenty-second edition.

Returning artist Kim Petras from Germany managed to finish in the second place, after previously having failed to qualify in the twenty-fourth edition, while Of Monsters and Men from Iceland managed to come third, after having failed to qualify in the fifteenth edition. Successful returnees such as Dominika Mirgova from Slovakia, AVEC from Austria and Sylwia Grzeszczak from Poland have not managed to qualify from the semi-finals, after previously having achieved good results in the final for their respective countries.


Associate Broadcasters Final

On October 13, it was officially announced, that another Associate Broadcasters Final would be held, in which Associate members of the North Broadcasting Union would be able to apply with a native song in order to take part in the thirtieth edition.

Previously, an Associate Broadcasters Final was held in the twentieth edition, where Hong Kong managed to take part in the final, which resulted in a third place.

A total of 18 Associate Broadcasters took part this edition. Australia was selected as the winner from the final and therefore could take part in the 30th edition of the contest.

Draw Country Artist Song Place Points
01 Flag of Japan Japan Aimer "Brave Shine" 7 125
02 Flag of Canada Canada POESY "Body Language" 3 195
03 Flag of United States United States Kim Gordon "Sketch Artist" 14 71
04 Flag of Thailand Thailand Violette Wautier "Smoke" 13 75
05 Flag of Indonesia Indonesia NIKI "Indigo" 10 83
06 Flag of India India Chrms feat. Zoya "Heart Rates" 12 78
07 Flag of Uzbekistan Uzbekistan Lola Yuldasheva "Sevgingni Menga Ayt" 2 220
08 Flag of Iran Iran GOLA "The Line" 11 83
09 Flag of Mexico Mexico Ximena Sariñana "Cobarde" 6 168
10 Flag of Tonga Tonga Noah Slee "Radar" 15 65
11 Flag of Mali Mali Oumou Sangaré "Kamelemba" 8 114
12 Flag of Argentina Argentina Oriana "Stay or Run" 16 60
13 Flag of New Zealand New Zealand Alien Weaponry "Kai Tangata" 9 94
14 Flag of Philippines Philippines Syd Hartha "Ayaw" 17 40
15 Flag of Malaysia Malaysia Nadia Nair "Hardships" 4 186
16 Flag of Australia Australia Vera Blue "The Way That You Love Me" 1 224
17 Flag of Costa Rica Costa Rica whoisFIYAH & MishCatt "Domino" 5 178
18 Flag of Ghana Ghana Guvna B "Aight Boom" 18 29

Participating countries

Returning artists

Dana Sokolova returns to represent her birth country Latvia, after representing Russia in the twenty-third edition with Scroodgee but failing to qualify from the pre-qualification round. Sylwia Grzeszczak will represent Poland for the second time, after participating in the fifth edition. AVEC and Nykki return to represent Austria and the Czech Republic respectively, after having done so in the nineteenth edition, the latter as part of the group Pink Angels. Kim Petras returns to represent Germany after previously having failed to qualify from the twenty-fourth edition. Slovakia was represented by Dominika Mirgova who has represented the country in the fifth and ninth edition. Of Monsters and Men return to compete for Iceland, having previously achieved a Top 5 placement in the second edition, but failing to qualify in the fifteenth edition. Daria Shashina returns to represent Russia as part of VADA after representing Russia in the eleventh edition as part of Serebro. Noa Kirel from Israel represented the country in the Junior North Vision Song Contest 10.

Results

Pre-qualification Round

Draw Country Artist Song Place Points
01 Flag of Belarus Belarus Bianka "Polnyy Pizdets" 2 113
02 Flag of Lithuania Lithuania (Disqualified) Evgenya Redko "Ką Man Nori Pasakyt" DSQ 105
03 Flag of Kazakhstan Kazakhstan Kinrai "Nas bolshe net" 7 87
04 Flag of Malta Malta The Shh "So Over" 8 83
05 Flag of Poland Poland Sylwia Grzeszczak "Rakiety" 4 100
06 Flag of Czech Republic Czech Republic Nykki "No Cry" 1 127
07 Flag of Azerbaijan Azerbaijan Elyar "Beautiful Human" 9 79
08 Flag of Egypt Egypt Dina El Wedidi "The Moon" 6 90
09 Flag of Belgium Belgium Blu Samu "GFM" 5 96

NBUGLlL

Semi-final 1

Australia, Israel, Netherlands and Tunisia will also vote in this semi-final.

Draw Country Artist Song Place Points
01 Flag of Greece Greece Lila Trianti "Meine" 3 217
02 Flag of Georgia Georgia Mariami "Electrify My Heart" 9 164
03 Flag of Germany Germany Kim Petras "There Will Be Blood" 1 252
04 Flag of Turkey Turkey Derya Yıldırım "Bu Gece" 14 93
05 Algeria Algeria Acid Arab feat. Sofiane Saidi "La Hafla" 18 58
06 Flag of Ireland Ireland Empara Mi "Blood in the Water" 11 162
07 Flag of Portugal Portugal Blaya feat. Deejay Telio "Eu Avisei" 6 172
08 Flag of Albania Albania XHOANA X "Drowning" 19 43
09 Flag of Armenia Armenia Gaya Arzumanyan "Var Amar" 4 177
10 Flag of Luxembourg Luxembourg Cherokee feat. Knight One "Someone in L.A." 16 66
11 Iceland Iceland Of Monsters and Men "Wild Roses" 2 220
12 Flag of France France Lomepal "Flash" 15 82
13 Flag of Andorra Andorra Sabela "Despedida" 5 173
14 Flag of Slovakia Slovakia Dominika Mirgova "Real(ita)" 17 66
15 Flag of Macedonia North Macedonia Rod "Hologram" 13 134
16 Flag of Romania Romania SICKOTOY feat. Roxen "You Don't Love Me" 12 149
17 Flag of Estonia Estonia Tommy Cash feat. Modeselektor "Who" 7 172
18 Flag of Denmark Denmark Agnes Obel "Island of Doom" 10 162
19 Flag of Czech Republic Czech Republic Nykki "No Cry" 8 164

Semi-final 2

Australia, Sweden, Ukraine and United Kingdom will also vote in this semi-final.

Draw Country Artist Song Place Points
01 Flag of Finland Finland Chisu "Ikävä" 2 226
02 Flag of Bulgaria Bulgaria Kan Wakan "Still Feather" 18 58
03 Flag of Latvia Latvia Dana Sokolova "Z Pokoleniye" 11 133
04 Flag of Italy Italy Merk & Kremont "Sushi" 14 122
05 Flag of Slovenia Slovenia Gaja Prestor "Najino nebo" 3 193
06 Austria Austria AVEC "Home" 13 126
07 Flag of Cyprus Cyprus Christos Stylianou "Crazy Land" 19 37
08 Flag of Belarus Belarus Bianka "Polnyy Pizdets" 10 158
09 Flag of Faroe Islands Faroe Islands Laila av Reyni "YouYou" 16 87
10 Flag of Bosnia and Herzegovina Bosnia and Herzegovina Maja Manojlović "Ostani Još" 5 192
11 Flag of Moldova Moldova Anna Palmu "Forbidden Fruit" 17 75
12 Flag of San Marino San Marino Valentina Ploy "Wire" 12 126
13 Flag of Norway Norway Gåte "Bannlyst" 1 290
14 Flag of Monaco Monaco Philippine "C'est beau, c'est toi" 7 173
15 Flag of Montenegro Montenegro Senidah "Crno Srce" 4 192
16 Flag of Morocco Morocco Mehdi Bahmad "Lay" 6 189
17 Flag of Russia Russia VADA "Biryuzovaya" 8 172
18 Flag of Poland Poland Sylwia Grzeszczak "Rakiety" 15 102
19 Flag of Lebanon Lebanon Blu Fiefer "Jukebox" 20 32
20 Flag of Hungary Hungary YAMINA "Neon" 9 159

Final

Draw Country Artist Song Place Points
01 Flag of Czech Republic Czech Republic Nykki "No Cry" 11 249
02 Flag of Ukraine Ukraine DaKooka "Strangelove" 21 176
03 Flag of Hungary Hungary YAMINA "Neon" 15 219
04 Flag of Morocco Morocco Mehdi Bahmad "Lay" 13 233
05 Flag of Armenia Armenia Gaya Arzumanyan "Var Amar" 19 196
06 Iceland Iceland Of Monsters and Men "Wild Roses" 3 331
07 Flag of Portugal Portugal Blaya feat. Deejay Telio "Eu Avisei" 16 205
08 Flag of Bosnia and Herzegovina Bosnia and Herzegovina Maja Manojlović "Ostani Još" 22 167
09 Flag of Finland Finland Chisu "Ikävä" 6 301
10 Flag of Georgia Georgia Mariami "Electrify My Heart" 24 135
11 Flag of Netherlands Netherlands TRAUDES "I Don't Love You" 26 97
12 Flag of Slovenia Slovenia Gaja Prestor "Najino nebo" 9 254
13 Flag of Norway Norway Gåte "Bannlyst" 1 389
14 Flag of Australia Australia Vera Blue "The Way That You Love Me" 7 273
15 Flag of Montenegro Montenegro Senidah "Crno Srce" 18 199
16 Flag of Tunisia Tunisia Enji "Live It" 27 65
17 Flag of Estonia Estonia Tommy Cash feat. Modeselektor "Who" 8 261
18 Flag of Sweden Sweden Winona Oak "Let Me Know" 4 319
19 Flag of Monaco Monaco Philippine "C'est beau, c'est toi" 20 185
20 Flag of United Kingdom United Kingdom Paige Cavell "Predators & Monsters" 5 304
21 Flag of Denmark Denmark Agnes Obel "Island of Doom" 17 202
22 Flag of Israel Israel Noa Kirel & Liran Danino "Happy" 25 118
23 Flag of Belarus Belarus Bianka "Polnyy Pizdets" 23 157
24 Flag of Greece Greece Lila Trianti "Meine" 10 253
25 Flag of Andorra Andorra Sabela "Despedida" 14 221
26 Flag of Germany Germany Kim Petras "There Will Be Blood" 2 336
27 Flag of Russia Russia VADA "Biryuzovaya" 12 245

Non-qualifier results

Place Country Semi-final Place Points Percentage
28 Flag of Ireland Ireland 11 162 6.07%
29 Flag of Romania Romania 12 149 5.58%
30 Flag of Macedonia North Macedonia 13 134 5.02%
31 Flag of Latvia Latvia 11 133 4.78%
32 Flag of San Marino San Marino 12 126 4.53%
33 Austria Austria 13 126 4.53%
34 Flag of Italy Italy 14 122 4.38%
35 Flag of Poland Poland 15 102 3.66%
36 Flag of Turkey Turkey 14 93 3.49%
37 Flag of Faroe Islands Faroe Islands 16 87 3.13%
38 Flag of France France 15 82 3.07%
39 Flag of Moldova Moldova 17 75 2.69%
40 Flag of Luxembourg Luxembourg 16 66 2.47%
41 Flag of Slovakia Slovakia 17 66 2.47%
42 Algeria Algeria 18 58 2.17%
43 Flag of Bulgaria Bulgaria 18 58 2.08%
44 Flag of Albania Albania 19 43 1.61%
45 Flag of Cyprus Cyprus 19 37 1.33%
46 Flag of Lebanon Lebanon 20 32 1.15%
47 Flag of Belgium Belgium N/A
48 Flag of Egypt Egypt
49 Flag of Kazakhstan Kazakhstan
50 Flag of Malta Malta
51 Flag of Azerbaijan Azerbaijan
52 Flag of Lithuania Lithuania

Voting grids

Semi-final 1

Semi-final 1
split jury/televote results
Place Televoting Points Jury Points
1 Flag of Germany Germany 141 Iceland Iceland 128
2 Flag of Estonia Estonia 102 Flag of Greece Greece 127
3 Flag of Portugal Portugal 99 Flag of Germany Germany 111
4 Flag of Armenia Armenia 92 Flag of Ireland Ireland 101
5 Iceland Iceland 92 Flag of Georgia Georgia 100
6 Flag of Greece Greece 90 Flag of Denmark Denmark 94
7 Flag of Romania Romania 89 Flag of Andorra Andorra 92
8 Flag of Andorra Andorra 81 Flag of Armenia Armenia 85
9 Flag of Czech Republic Czech Republic 79 Flag of Czech Republic Czech Republic 85
10 Flag of Macedonia North Macedonia 71 Flag of Portugal Portugal 73
11 Flag of Denmark Denmark 68 Flag of Estonia Estonia 70
12 Flag of Georgia Georgia 64 Flag of Macedonia North Macedonia 63
13 Flag of Ireland Ireland 61 Flag of Romania Romania 60
14 Algeria Algeria 42 Flag of Turkey Turkey 54
15 Flag of France France 39 Flag of France France 43
16 Flag of Turkey Turkey 39 Flag of Luxembourg Luxembourg 35
17 Flag of Slovakia Slovakia 33 Flag of Slovakia Slovakia 33
18 Flag of Luxembourg Luxembourg 31 Flag of Albania Albania 22
19 Flag of Albania Albania 21 Algeria Algeria 16

17VYmVj WAtCaj2

12 points

Below is a summary of the maximum 12 points awarded by each country in the first semi-final.

Countries in bold represent those awarded full 24 points (12 points apiece from professional jury and televoting) to a specified entrant.

Jury
No. Contestant Nation(s) giving 12 points
4 Iceland France, Romania, Estonia, Denmark
Estonia Algeria, Portugal, Australia, Netherlands
3 Andorra Turkey, Luxembourg, Slovakia
Czech Republic Ireland, Andorra, Israel
2 Germany North Macedonia, Tunisia
Denmark Greece, Germany
1 Greece Czech Republic
Ireland Armenia
Portugal Iceland
Armenia Albania
Luxembourg Georgia
Televoting
No. Contestant Nation(s) giving 12 points
5 Germany Albania, Iceland, Slovakia, Israel, Tunisia
4 Iceland Armenia, Estonia, Denmark, Australia
3 North Macedonia Georgia, Ireland, France
Estonia Algeria, Portugal, Andorra
2 Greece Turkey, North Macedonia
Portugal Romania, Czech Republic
Armenia Germany, Netherlands
1 Andorra Luxembourg
Romania Greece

Semi-final 2

Semi-final 2
split jury/televote results
Place Televoting Points Jury Points
1 Flag of Norway Norway 117 Flag of Norway Norway 173
2 Flag of Finland Finland 116 Flag of Slovenia Slovenia 119
3 Flag of Bosnia and Herzegovina B&H 110 Flag of Finland Finland 110
4 Flag of Morocco Morocco 108 Flag of Montenegro Montenegro 96
5 Flag of Montenegro Montenegro 96 Flag of Russia Russia 88
6 Flag of Monaco Monaco 96 Flag of Bosnia and Herzegovina B&H 82
7 Flag of Belarus Belarus 94 Flag of Morocco Morocco 81
8 Flag of Hungary Hungary 92 Flag of San Marino San Marino 80
9 Flag of Russia Russia 84 Flag of Latvia Latvia 77
10 Flag of Slovenia Slovenia 74 Flag of Monaco Monaco 77
11 Flag of Poland Poland 62 Austria Austria 71
12 Flag of Italy Italy 61 Flag of Hungary Hungary 67
13 Flag of Latvia Latvia 56 Flag of Faroe Islands Faroe Islands 66
14 Austria Austria 55 Flag of Belarus Belarus 62
15 Flag of San Marino San Marino 46 Flag of Italy Italy 61
16 Flag of Moldova Moldova 40 Flag of Poland Poland 40
17 Flag of Bulgaria Bulgaria 25 Flag of Moldova Moldova 35
18 Flag of Faroe Islands Faroe Islands 21 Flag of Bulgaria Bulgaria 33
19 Flag of Lebanon Lebanon 20 Flag of Cyprus Cyprus 18
20 Flag of Cyprus Cyprus 19 Flag of Lebanon Lebanon 12

KxI6vIY Rveo95j

12 points

Below is a summary of the maximum 12 points awarded by each country in the first semi-final.

Countries in bold represent those awarded full 24 points (12 points apiece from professional jury and televoting) to a specified entrant.

Jury
No. Contestant Nation(s) giving 12 points
7 Norway Finland, Slovenia, Faroe Islands, Montenegro, Morocco, Hungary, Sweden
2 Slovenia Latvia, Lebanon
Moldova Austria, United Kindom
Monaco Belarus, San Marino
Montenegro Russia, Australia
1 Finland Bulgaria
Bulgaria Monaco
Italy Ukraine
Cyprus Italy
Belarus Moldova
Faroe Islands Cyprus
San Marino Norway
Morocco Poland
Russia B&H
Televoting
No. Contestant Nation(s) giving 12 points
5 Norway Latvia, Slovenia, Faroe Islands, Hungary, Sweden
2 Finland Boulgaria, Belarus
Belarus Norway, Poland
Monaco San Marino, Russia
Montenegro Cyprus, Moldova
Morocco Lebanon, Australia
Poland Monaco, Montenegro
Hungary Italy, Ukraine
1 Latvia Finland
Italy United Kindom
Cyprus Morocco
Moldova Austria
Russia B&H

Final

Final
split jury/televote results
Place Televoting Points Jury Points
1 Flag of Germany Germany 226 Flag of Norway Norway 215
2 Flag of Norway Norway 174 Iceland Iceland 203
3 Flag of Finland Finland 169 Flag of United Kingdom United Kingdom 181
4 Flag of Sweden Sweden 149 Flag of Sweden Sweden 170
5 Flag of Estonia Estonia 147 Flag of Slovenia Slovenia 142
6 Flag of Australia Australia 133 Flag of Australia Australia 140
7 Iceland Iceland 128 Flag of Greece Greece 136
8 Flag of Portugal Portugal 124 Flag of Andorra Andorra 133
9 Flag of United Kingdom United Kingdom 123 Flag of Finland Finland 132
10 Flag of Morocco Morocco 122 Flag of Russia Russia 131
11 Flag of Hungary Hungary 118 Flag of Czech Republic Czech Republic 131
12 Flag of Czech Republic Czech Republic 118 Flag of Estonia Estonia 114
13 Flag of Greece Greece 117 Flag of Denmark Denmark 111
14 Flag of Armenia Armenia 114 Flag of Morocco Morocco 111
15 Flag of Russia Russia 114 Flag of Germany Germany 110
16 Flag of Slovenia Slovenia 112 Flag of Montenegro Montenegro 103
17 Flag of Montenegro Montenegro 96 Flag of Hungary Hungary 101
18 Flag of Bosnia and Herzegovina B&H 91 Flag of Monaco Monaco 97
19 Flag of Denmark Denmark 91 Flag of Ukraine Ukraine 92
20 Flag of Monaco Monaco 88 Flag of Armenia Armenia 82
21 Flag of Andorra Andorra 88 Flag of Portugal Portugal 81
22 Flag of Belarus Belarus 84 Flag of Bosnia and Herzegovina B&H 76
23 Flag of Ukraine Ukraine 84 Flag of Georgia Georgia 74
24 Flag of Israel Israel 68 Flag of Belarus Belarus 73
25 Flag of Georgia Georgia 61 Flag of Netherlands Netherlands 50
26 Flag of Netherlands Netherlands 47 Flag of Israel Israel 50
27 Flag of Tunisia Tunisia 30 Flag of Tunisia Tunisia 35

EPLn2A7 ZXdgvXR

12 points

Below is a summary of the maximum 12 points awarded by each country in the first semi-final.

Countries in bold represent those awarded full 24 points (12 points apiece from professional jury and televoting) to a specified entrant.

Jury
No. Contestant Nation(s) giving 12 points
6 Norway Finland, Germany, Italy, Montenegro, Slovenia, Sweden
4 United Kingdom Armenia, Bulgaria, Israel, Romania
Greece Albania, Azerbaijan, Ireland, Norway
3 Morocco Andorra, Poland, Tunisia
Iceland Belgium, Estonia, Portugal
Sweden Cyprus, Luxembourg, Slovakia
2 Czech Republic Hungary, Malta
Ukraine Algeria, Monaco
Finland Greece, Iceland
Slovenia Czech Republic, Latvia
Montenegro Russia, Turkey
Estonia Denmark, Netherlands
Monaco France, San Marino
Denmark Egypt, Lebanon
Andorra Faroe Islands, Morocco
Germany Austria, Moldova
Russia Belarus, Bosnia & Herzegovina
1 Hungary United Kingdom
Armenia North Macedonia
Portugal Kazakhstan
Georgia Australia
Australia Georgia
Tunisia Lithuania
Belarus Ukraine
Televoting
No. Contestant Nation(s) giving 12 points
5 Germany Bosnia & Herzegovina, Greece, Iceland, Italy, Slovakia
4 Iceland Australia, Denmark, Estonia, Monaco
Finland Belarus, Portugal, Russia, Slovenia
Estonia Algeria, Andorra, Austria, Malta
Sweden Cyprus, Finland, Israel, Luxembourg
3 Hungary Germany, Ukraine, United Kingdom
Morocco Armenia, Poland, Tunisia
Montenegro Georgia, Ireland, Moldova
2 Czech Republic Morocco, North Macedonia
Armenia Netherlands, Norway
Portugal Czech Republic, Romania
Georgia Azerbaijan, Kazakhstan
Slovenia France, Latvia
Norway Faroe Islands, Lebanon
Denmark Belgium, Egypt
1 Bosnia & Herzegovina Montenegro
Australia Morocco
Tunisia Lithuania
Monaco San Marino
United Kingdom Sweden
Israel Albania
Greece Turkey
Andorra Bulgaria

Other countries

Further information: List of countries in the North Vision Song Contest
  • Flag of Croatia Croatia: HRT failed to send a delegation to the Head of Delegation meeting and therefore was unable to submit an entrant in time and forced to withdraw.
  • Flag of Serbia Serbia: On 17 October 2019, RTS announced that Serbia would withdraw from the contest due to a possible change in the delegation.
  • Flag of Spain Spain: On 23 October 2019, TVE revealed that Spain would not be present in the thirtieth edition, with no clear reason cited. However, it was reported that the broadcaster is still facing economic issues.
  • Flag of Switzerland Switzerland: SRG SSR failed to confirm or withdraw from the edition on time and were fined by the NBU.

External links

Community content is available under CC-BY-SA unless otherwise noted.