Genealogenstammtisch in Köln und Umgebung am 10.07.2019

Ursprünglich veröffentlicht unter: https://www.compgen.de/2019/07/genealogenstammtisch-in-koeln-und-umgebung-am-10-07-2019/

Wir laden ein zum vereinsunabhängigen „Genealogenstammtisch Köln und Umgebung“, wie immer am 2. Mittwoch des Monats, also am 10. Juli 2019 ab 18.00 Uhr.

Als Lokalität steht uns ein separater Raum zur Verfügung im Restaurant Zagreb, 51067 Köln-Holweide, Bergisch-Gladbacher-Str. 580

Internet und Beamer sind vorhanden, Laptops können mitgebracht werden.


Diesmal werden wir uns u.a. wieder mit einem Thema zur DNA-Genealogie beschäftigen. Nach einer kurzen Einführung zum Y-Chromosom von Norbert Bohrmann werden wir einen Vortrag von Hunter Provyn hören:

Y-DNA und Vorgeschichtliche Migrationen

Hier seine Webseite. Hunter spricht deutsch, auch der Vortrag ist in deutsch.

Danach wird noch genügend Zeit bleiben, um uns den alltäglichen Fragen unserer Familienforschung und auch zu unserem Vorhaben „Altes Köln“ zuzuwenden.

Wegen der räumlichen Verhältnisse ist die Teilnehmerzahl leider begrenzt.
Horst Reinhardt


Map

#sidebar-button-reorder i.fa, #edit_image_overlays i.fa {
padding-top: 8px;
}
ul.list-unstyled.leaflet-sidebar {
padding: 0;
}
.modal-dialog {
z-index: 1050;
}

body {
padding: 0 !important;
margin: 0 !important;
}
#sidebar-buttons {
display: none; z-index: 999999; opacity: 0; left: -50px; margin-top: 4px;position: absolute;padding: 5px; min-width: 200px;height: auto; color: rgb(51, 51, 51); border-radius: 4px; background-color: rgb(255, 255, 255);border: 1px solid #CCC;
}
#sidebar-buttons ul.leaflet-sidebar li a{
cursor:pointer;
text-decoration: none;
display: inline;
outline:none;
color:#000;
}
#sidebar-buttons ul.leaflet-sidebar{
list-style: none;
margin: 0;
}
#sidebar-buttons ul.leaflet-sidebar li input[type=checkbox]{
outline:none;
}
#sidebar-buttons ul.leaflet-sidebar li{
display: inline;
}
.clear{
clear:both;
}

.pac-container {
/*top: 230px !important;*/
z-index: 1100;
}
.colpick {
z-index : 1041;
}
.leaflet-popup img {
max-width: 100%!important;
}
.leaflet-popup-close-button {
color: white !important;
border-radius: 50% !important;
background: black !important;
padding: 3px !important;
width: auto !important;
height: auto !important;
top: -10px !important;
right: -10px !important;
-webkit-box-shadow: 0px 0px 7px 1px #414141 !important;
-moz-box-shadow: 0px 0px 7px 1px #414141 !important;
box-shadow: 0px 0px 7px 1px #414141 !important;
}

.bubble.static {
z-index: 1005;
overflow-y: auto;
position: absolute;
background: #fff;
border-radius: 2px;
color: #000;
padding: 1em;
max-height: 90%;
max-width: 400px;
left: 70px;
top: 20px;
opacity: .85;
}
.bubble.static.selected {
opacity: .9;
}
.bubble.static.bound {
display: block;
}
.bubble.static .title {
display: inline;
font-size: 2em;
line-height: 1em;
}
.bubble.static .content {
margin-top: .7em;
}
.leaflet-popup-content-wrapper {
max-height: 280px;
overflow-y: auto;
}

<!– × –>

Add/Edit Properties And Styles

Location
Description
Close
Save changes

[]

var featureGroup = L.featureGroup();
var show_sidebar = true;
var show_search = true;
var show_measure = false;
var show_minimap = false;
var show_export = false;
var show_svg = false;
var mbAttribution = ‚ contributors | AcuGIS‚;
var defaultLayer = L.tileLayer(‚https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚OpenStreetMap‚+mbAttribution});
var defaultLayerMiniMap = L.tileLayer(‚https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚OpenStreetMap‚+mbAttribution});

var editMode = false;

var baseLayers = {‚MapFig Darkwaters‘: L.tileLayer(‚https://{s}.tile.thunderforest.com/mapfig-darkwaters/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚© MapFig Darkwaters by Thunderforest, Data by OpenStreetMap.’+mbAttribution}),’MapFig Greenwaters‘: L.tileLayer(‚https://{s}.tile.thunderforest.com/mapfig-2a6/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚© MapFig Greenwaters by Thunderforest, Data by OpenStreetMap.’+mbAttribution}),’MapFig Bluewaters‘: L.tileLayer(‚https://{s}.tile.thunderforest.com/mapfig-bluewaters/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚© MapFig Bluewaters by Thunderforest, Data by OpenStreetMap.’+mbAttribution}),’MapQuest Sat‘: L.tileLayer(‚https://otile1.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚OpenStreetMap‚+mbAttribution}),’Google Maps‘: L.tileLayer(‚http://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}‘, {maxZoom: 18, id: “, token: “, attribution: ‚Google – Terms of Use‚+mbAttribution}),’OpenStreetMap‘: L.tileLayer(‚https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚OpenStreetMap‚+mbAttribution}),’MapQuest‘: L.tileLayer(‚https://otile3-s.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚OpenStreetMap. Tiles Courtesy of MapQuest‚+mbAttribution}),’Esri World Imagery‘: L.tileLayer(‚http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}‘, {maxZoom: 18, id: “, token: “, attribution: ‚Attribution: ESRI‚+mbAttribution}),’CartoDB Dark‘: L.tileLayer(‚https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚Map tiles by CartoDB, under CC BY 3.0. Data by OpenStreetMap, under ODbL.’+mbAttribution}),’CartoDB Light‘: L.tileLayer(‚https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚Map tiles by CartoDB, under CC BY 3.0. Data by OpenStreetMap, under ODbL.’+mbAttribution}),’MapBox‘: L.tileLayer(‚https://{s}.tiles.mapbox.com/v3/{id}/{z}/{x}/{y}.png‘, {maxZoom: 18, id: ‚examples.map-i875mjb7‘, token: “, attribution: ‚Mapbox‚+mbAttribution}),’Stamen.Watercolor‘: L.tileLayer(‚http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.jpg‘, {maxZoom: 18, id: “, token: “, attribution: ‚Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.’+mbAttribution}),’Stamen.Toner‘: L.tileLayer(‚http://a.tile.stamen.com/toner/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.’+mbAttribution}),’OpenCycleMap‘: L.tileLayer(‚http://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚Thunderforest‚+mbAttribution}),’Loniva Hiking‘: L.tileLayer(‚http://tile.waymarkedtrails.org/hiking/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚OpenStreetMap‚+mbAttribution}),’Loniva Biking‘: L.tileLayer(‚http://tile.waymarkedtrails.org/cycling/{z}/{x}/{y}.png‘, {maxZoom: 18, id: “, token: “, attribution: ‚OpenStreetMap‚+mbAttribution})};
var overlays = {
„Map Points“: featureGroup
};
var layerSelector = L.control.layers(baseLayers, overlays);
var map = null;

$(document).ready(function() {
map = L.map(‚map_canvas‘, { dragging: true, touchZoom: true, scrollWheelZoom: true, doubleClickZoom: true, boxzoom: true, trackResize: true, worldCopyJump: false, closePopupOnClick: true, keyboard: true, keyboardPanOffset: 80, keyboardZoomOffset: 1, inertia: true, inertiaDeceleration: 3000, inertiaMaxSpeed: 1500, zoomControl: true, crs: L.CRS.EPSG3857, fullscreenControl: true, layers: [defaultLayer, featureGroup] });
map.setView([50.969896500051,7.04643965], 17);

L.control.locate({
position: ‚bottomright‘,
drawCircle: true,
follow: true,
setView: true,
keepCurrentZoomLevel: true,
remainActive: false,
circleStyle: {},
markerStyle: {},
followCircleStyle: {},
followMarkerStyle: {},
icon: ‚icon-cross-hairs‘,
circlePadding: [0,0],
metric: true,
showPopup: true,
strings: {
title: ‚I am Here‘,
popup: ‚You are within {distance} {unit} from this point‘,
outsideMapBoundsMsg: ‚You seem located outside the boundaries of the map‘
},
locateOptions: { watch: true }
}).addTo(map);
L.control.scale({position:’bottomleft‘, maxWidth: 100, metric: true, imperial: true, updateWhenIdle: false}).addTo(map);
map.addControl(L.control.search());
new L.Control.MiniMap(defaultLayerMiniMap, {toggleDisplay: true}).addTo(map)._minimize(true);
map.addControl(L.exportControl({ codeid: ‚?action=ajax_mapExport‘, position: ‚topleft‘, endpoint: ‚https://www.compgen.de/wp-admin/admin-ajax.php‘, getFormatFrom: ‚?action=ajax_getFormats‘, mapid: 1 }));

jQuery(‚#map_canvas .leaflet-top.leaflet-left‘).append(‚

‚ + ‚‚ + ‚
‚ + ‚
    ‚ + ‚

‚ + ‚

‚ + ‚

‚);
jQuery(‚#map_canvas .leaflet-top.leaflet-left‘).append(‚

‚);

var data = JSON.parse(„[{\“type\“:\“Feature\“,\“properties\“:[{\“name\“:\“Name\“,\“value\“:\“Restaurant Zagreb\“,\“defaultProperty\“:true},{\“name\“:\“Description\“,\“value\“:\“\“,\“defaultProperty\“:true}],\“geometry\“:{\“type\“:\“Point\“,\“coordinates\“:[7.046395672732615,50.969962794119965]},\“customProperties\“:{\“get_direction\“:false,\“bootstrap_popup\“:false,\“show_address_on_popup\“:true,\“hide_label\“:true},\“style\“:{\“icon\“:\“coffee\“,\“prefix\“:\“fa\“,\“markerColor\“:\“red\“}}]“);
jsonData.addData(data);
});

var jsonData = L.geoJson(null, {

style: function (feature) {
return {color: „#f06eaa“, „weight“: 4, „opacity“: 0.5, „fillOpacity“: 0.2};
},
onEachFeature: function (feature, layer) {
featureGroup.addLayer(layer);

layer.on(„click“, function(){
if(editMode) {
showModal(„edit“, layer);
setTimeout(function(){
map.closePopup();
},50);
}
else {
if(show_svg) {
map.closePopup();
if(layer instanceof L.Marker) {
map.panTo(layer.getLatLng());
}
else {
map.fitBounds(new L.featureGroup([layer]).getBounds());
}
setTimeout(function() {
openPopup(layer);
}, 300);
}
else {
openPopup(layer);
}
}
});

properties1 = feature.properties;
var properties = new Array();
for(var i=0; i<properties1.length; i++){
row = {};
row['name'] = properties1[i].name;
row['value'] = properties1[i].value;
row['defaultProperty'] = properties1[i].defaultProperty;
properties.push(row);
}

layerProperties.push(new Array(layer, properties));

var style = feature.style;
var cp = feature.customProperties;

if(style) {
if(layer instanceof L.Marker) {
if(style.markerColor) {
layer.setIcon(L.AwesomeMarkers.icon(style));
}
}
else {
layer.setStyle(style);
}
}

shapeStyles.push(style); //styles is JSON Object
shapeCustomProperties.push(cp);
bindPopup(layer);

renderSideBar(layer);
}
})

function updateSidebar() {
if (show_sidebar)
$('#sidebarhideshow').show();
else {
$('#sidebarhideshow').hide();
}
}
function updateSearch() {
if (show_search)
$('.leaflet-control-search').show();
else {
$('.leaflet-control-search').hide();
}
}
function updateMeasure() {
if (show_measure)
$('.leaflet-control-draw-measure').show();
else {
$('.leaflet-control-draw-measure').hide();
}
}
function updateMinimap() {
if (show_minimap)
$('.leaflet-control-minimap').show();
else {
$('.leaflet-control-minimap').hide();
}
}
function updateExport() {
if (show_export)
$('.leaflet-control-export').show();
else {
$('.leaflet-control-export').hide();
}
}
function updateSVG() {
if (show_svg) {
$("body").append('\
\
path {\
fill-opacity: .2;\
}\
path:hover {\
fill-opacity: .4;\
}\
\
.travelMarker {\
fill: yellow;\
opacity: 0.75;\
}\
.waypoints {\
fill: black;\
opacity: 0;\
}\
.drinks {\
stroke: black;\
fill: red;\
}\
.lineConnect {\
fill: none;\
stroke: black;\
opacity: 1;\
}\
.locnames {\
fill: black;\
text-shadow: 1px 1px 1px #FFF, 3px 3px 5px #000;\
font-weight: bold;\
font-size: 13px;\
}\
\
‚);
}
else {
$(‚#svg-style‘).remove();
}
}

jQuery(document).ready(function($) {
$ = jQuery;
$(‚.leaflet-control-minimap .leaflet-control-sidebar, .leaflet-control-minimap #edit_image_overlays‘).remove();

$(„body“).append(‚\path {fill-opacity: .2;}path:hover {fill-opacity: .4;}.travelMarker {fill: yellow;opacity: 0.75;}.waypoints {fill: black;opacity: 0;}.drinks {stroke: black;fill: red;}.lineConnect {fill: none;stroke: black;opacity: 1;}.locnames {fill: black;text-shadow: 1px 1px 1px #FFF, 3px 3px 5px #000;font-weight: bold;font-size: 13px;}‘);
setTimeout(function(){
$(„#label_show_sidebar, #label_show_sidebar ins“).click(function(){
show_sidebar = !show_sidebar;
updateSidebar();
});
$(„#label_show_search, #label_show_search ins“).click(function(){
show_search = !show_search;
updateSearch();
});
$(„#label_show_measure, #label_show_measure ins“).click(function(){
show_measure = !show_measure;
updateMeasure();
});
$(„#label_show_minimap, #label_show_minimap ins“).click(function(){
show_minimap = !show_minimap;
updateMinimap();
});
$(„#label_show_svg, #label_show_svg ins“).click(function(){
show_svg = !show_svg;
updateSVG();
});
$(„#label_show_export, #label_show_export ins“).click(function(){
show_export = !show_export;
updateExport();
});
}, 1000);

jQuery(‚#geo_json‘).click(function(){
var type = jQuery(this).attr(„data-type“);
jQuery(‚#mapfig_type‘).val(type);

var finalShapeData = new Array();

var shapes = getShapes(featureGroup);

jQuery.each(shapes, function(index, shape) {
properties = getPropertiesByLayer(shape);

var index = getLayerIndex(shape);
shpJson = shape.toGeoJSON();
shpJson.properties = properties;
shpJson.customProperties = shapeCustomProperties[index];
shpJson.style = shapeStyles[index];
finalShapeData.push(shpJson);
});

finalShapeData = JSON.stringify(finalShapeData);

jQuery(„#lat“).val(map.getCenter().lat);
jQuery(„#lng“).val(map.getCenter().lng);
jQuery(„#geo_json_str“).val(finalShapeData);
jQuery(‚#save_map_form‘).submit();

})

jQuery(‚#submit_modal‘).click(function(){

properties = new Array();
var name = jQuery(‚#autoFillAddress‘).val();
var description = tinyMCE.get(‚description‘).getContent();

row = {};
row[’name‘] = „Name“;
row[‚value‘] = name;
row[‚defaultProperty‘] = true;

properties.push(row);

row = {};
row[’name‘] = „Description“;
row[‚value‘] = description;
row[‚defaultProperty‘] = true;

properties.push(row);

stl = {};
jQuery(‚#menuStyle tbody tr input, #menuStyle tbody tr select‘).each(function(){
name = $(this).attr(‚id‘);
value = $(this).val();

stl[name] = value;
});

cp = {};
jQuery(‚#menuCustomProperties tbody tr input[type=checkbox]‘).each(function(){
name = $(this).attr(‚id‘);
value = $(this).is(‚:checked‘);

cp[name] = value;
});

for(i=0; i<layerProperties.length; i++) {
if(layerProperties[i][0] == currentLayer) {
layerProperties[i][1] = properties;
shapeStyles[i] = stl;
shapeCustomProperties[i] = cp;
break;
}
}
bindPopup(currentLayer);
reRenderShapeStylesOnMap(currentLayer);
renderSideBar(currentLayer);
jQuery('#mapfig_myModal').modal("hide");
})

var animating = false;
jQuery('#sidebar-button-reorder').click(function() {
if (animating) return;
var element = jQuery('#sidebar-buttons');
animating = true;
if (element.css('left') == '-50px') {
element.show();
element.animate({
opacity: '1',
left: '0px'
}, 400, function() {
animating = false;
});
} else {
element.animate({
opacity: '0',
left: '-50px'
}, 400, function() {
animating = false;
element.hide();
});
}
});
});

function renderSideBar(layer) {
target = jQuery('#sidebar-buttons ul.leaflet-sidebar');
currentIndex = getLayerIndex(layer);
// console.log(layerProperties[currentIndex]);
lable = layerProperties[currentIndex][1][0].value;
//alert(lable);
if (lable == "") {
lable = "No Location";
}
target.append('

  • ‚ + lable + ‚
  • ‚);
    }

    function changeAddressCheckbox(obj) {
    var layers = getLayers();

    index = jQuery(obj).attr(„data-index“);

    if (jQuery(obj).is(‚:checked‘)) {
    featureGroup.addLayer(layers[index]);
    } else {
    featureGroup.removeLayer(layers[index]);
    }
    }

    function clickOnSidebarAddress(obj) {
    var layers = getLayers();
    index = jQuery(obj).attr(„data-index“);
    setTimeout(function() {
    //openPopup(layers[index]);
    //layers[index].openPopup();
    layers[index].fire(„click“);
    }, 50);
    }

    jQuery(document).ready(function($) {
    layerSelector.addTo(map);
    map.addControl(L.Control.measureControl({position:’topright‘}));
    jQuery(‚#map_canvas .leaflet-control-layers form.leaflet-control-layers-list input[type=radio]‘).click(function(){
    map.removeLayer(defaultLayer);
    });

    updateSidebar();
    updateSearch();
    updateMeasure();
    updateMinimap();
    updateExport();
    updateSVG();

    imageOverlaysUpdate();
    });

    var imageOverlays = JSON.parse(JSON.parse(‚“‚ + jQuery(„#geo_image_olverlays“).val() + ‚“‚));
    var imageOverlaysLayers = [];
    var imageOverlaysPopups = [];
    var globalTempI = 0;

    jQuery(‚input[name=geo_image_olverlays]‘).val(imageOverlays);

    function imageOverlaysUpdate(update) {
    var imageBounds = null;

    jQuery.each(imageOverlaysLayers, function(key, value) {
    map.removeLayer(value);
    });

    imageOverlaysLayers = [];
    imageOverlaysPopups = [];

    jQuery.each(imageOverlays, function(key, value) {
    var imageUrl = value.src;
    var pcon = value.popupcontent;
    // This is the trickiest part – you’ll need accurate coordinates for the
    // corners of the image. You can find and create appropriate values at
    // http://maps.nypl.org/warper/ or
    // http://www.georeferencer.org/
    imageBounds = L.latLngBounds(JSON.parse(value.bounds));

    // See full documentation for the ImageOverlay type:
    // http://leafletjs.com/reference.html#imageoverlay
    var overlay = L.imageOverlay(imageUrl, imageBounds)
    .addTo(map);

    var popup = L.popup().setContent(pcon);
    popup.setLatLng([imageBounds.getCenter().lat,imageBounds.getCenter().lng]);
    imageOverlaysPopups.push(popup);

    if(!value.opacity) {
    value.opacity = 1;
    }
    jQuery(overlay._image).css(‚opacity‘, value.opacity);

    L.DomEvent.on(overlay._image, ‚click‘, function(e) {
    globalTempI = 0;
    var dis = this;
    jQuery.each(imageOverlaysLayers, function(k, v) {
    if(dis == v._image) {
    setTimeout(function(){
    imageOverlaysPopups[globalTempI].addTo(map);
    }, 100);
    return false;
    }
    globalTempI++;
    });
    });

    imageOverlaysLayers.push(overlay);
    });

    if(update && imageOverlaysLayers.length > 0) {
    map.fitBounds(imageBounds);
    }

    jQuery(‚#geo_image_olverlays, input[name=geo_image_olverlays]‘).val(JSON.stringify(imageOverlays));
    }

    jQuery(document).ready(function($) {
    $(„#edit_image_overlays“).click(function(e) {
    e.preventDefault();

    var overlays = ‚\

    \ \ \ \

    \

    \

    \

    \

    \

    \

    \

    \

    \
    \

    \

    \
    Overlay Name\
    \
    Selected Image\
    \
    Set Opacity\
    \
    Bounds\
    \
    Pop-Up Contents\
    \
    Remove\

    \

    \

    \
    ‚;

    BootstrapDialog.show({
    title: ‚Add/Remove Image Overlays‘,
    message: overlays,
    closable: false,
    buttons: [{
    label: ‚Save‘,
    icon: ‚fa fa-check‘,
    cssClass: ‚btn-primary‘,
    action: function(dialog) {

    imageOverlays = [];
    jQuery(‚#image_overlays_modal tbody tr‘).each(function(index, obj) {
    temp = {};
    temp[’name‘] = jQuery(this).find(‚.image_overlays_name‘).val();
    temp[’src‘] = jQuery(this).find(‚.image_overlays_img‘).attr(’src‘);
    temp[‚opacity‘] = jQuery(this).find(‚.image_overlays_opacity_input‘).val();
    temp[‚bounds‘] = jQuery(this).find(‚.image_overlays_bounds_input‘).val();
    temp[‚popupcontent‘] = jQuery(this).find(‚.image_overlays_popupcontent_input‘).html();

    imageOverlays.push(temp);
    });

    imageOverlaysUpdate(true);
    dialog.close();
    }
    }, {
    label: ‚Cancel‘,
    icon: ‚fa fa-remove‘,
    cssClass: “,
    action: function(dialog) {
    dialog.close();
    }
    }]
    });

    setTimeout(function(){
    jQuery.each(imageOverlays, function(key, value) {
    jQuery(‚#image_overlays_modal tbody‘).append(‚\

    \ \
    \

    \

    \
    \

    \

    \
    \
    0.05\
    0.10\
    0.15\
    0.20\
    0.25\
    0.30\
    0.35\
    0.40\
    0.45\
    0.50\
    0.55\
    0.60\
    0.65\
    0.70\
    0.75\
    0.80\
    0.85\
    0.90\
    0.95\
    1\
    \

    \

    \
    Set Image Coordinates\
    \

    \

    \
    Set Pop-Up Content\
    ‚+value.popupcontent+‘

    \

    \

    \
    \

    \

    \
    ‚);
    });
    }, 200);
    });
    });