const waitImgLoaded = async (root) => {
const imgs = root instanceof HTMLImageElement ? [root] : root.querySelectorAll('img');
return await Promise.all(
imgs.map(img=> (
new Promise(resolve=>(
img.addEventListener('load',()=> resolve(img))
))
)
))
}