// Copyright (C) 2018 André Bargull. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

export var meta = import.meta;

export function getMeta() {
    return import.meta;
}
