			c.dataset.isPanning = "false";
			c.style.cursor = "grab";
			//window.cursor = 'grab';
		}
	});

	for (const c of [cpu1])
	c.addEventListener("mouseleave", function(e) {
		c.dataset.isPanning = "false";
	});

	for (const c of [cpu1])
	c.addEventListener("keyup", function(e) {
		//console.log(`k = ${e.key}`);
		if (e.key == "q" || e.key == "Escape") {
			//console.log(`QHITE`);
			c.dataset.active = "false";
			document.activeElement.blur();
		}
		if (e.key == "r") {
			viewport_reset_cpu1();
			apply_tr