Resize windows issue

Hi,
As your example:

While I running the web version and I resize the browser's windows, the blue sky is responsive (that's good) but the clouds and the sun just move to the old position.

Hi,
thank you for reporting this bug I will fix ASAP.
here is a work around until I publish a fix for this issue:
add a key to the vitality custom constructor to make it render whenever the width or height changes.
 key: Key("${size.width}-${size.height}")
your build function should be like this now:
  @override   Widget build(BuildContext context) {     Size size = MediaQuery.of(context).size;     return Vitality.custom(         key: Key("${size.width}-${size.height}"),         background: Colors.blue,         shapes: [           Shape(             pos: const Offset(30, 30),             dx: 0.3,             dy: 0,             size: 160,             color: Colors.yellow,             whenOutOfScreenMode: WhenOutOfScreenMode.Reflect,             behaviour: ItemBehaviour(shape: ShapeType.Icon, icon: Icons.sunny),           ),           ...getClouds(size),           ...getGroundShapes(size),         ]);   }
I will notify you once I publish the fix.

ok, tks. That worked.


Docs: Dead Link within sidenav

Utilities => Sizing and Positioning redirects to
this path /utilities/sizing-and-positioning/
which is a dead link

Are you using the latest v4-dev? I don't see that link:

The alpha.5 still has a working link too: https://v4-alpha.getbootstrap.com/utilities/sizing-and-positioning/

Yeah, I nuked that in v4-dev. Split those two pages up. Nav and everything should be up to date.


feat(aztec-nr): add enqueue functions to AvmCallInterface

Please read contributing guidelines and remove this line.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#6264  👈
#6256
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @dbanks12 and the rest of your teammates on  Graphite


missing migration docs for v1.30.0

What is the URL of the document?
https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.30.0/
Which section(s) is the issue in?

What needs fixing?
Migration docs are missing for v1.30.0.
Additional context
https://github.com/operator-framework/operator-sdk/releases/tag/v1.30.0

/assign

@aharbis Thanks for bringing this up! I don't think there are actually any migrations for the 1.30.0 release and a changelog slipped through with our changelog migration template text populated. I'll look into getting the page updated and redeployed to prevent future confusion

Just a quick note that this issue still exists.


Running incremental ARM Template Deploy Seems to Rollback Functionapp

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Question
Enter Task Name:  AzureResourceManagerTemplateDeployment
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Environment

Server - Azure Pipelines

Account name, team project name, build definition name/build number: Bright-HR, Consultant Visits, #20221112.1

Issue Description
I have two relevant pipelines, one that deploys code changes, and one that deploys infra changes.
The code change deployments one works fine, and all of my functions in my functionapps seem to be there:

However, if I then run the incremental ARM Deploy over the top of that, it seems as though it's somehow rolling back my functionapp to some unknown previous revision?

Task logs
I've attached the log archives for each pipeline for the same build.
logs_98302.zip
logs_98303.zip

Hello, @hughesjs  let me take a look at your logs and see. Are you using the ZipDeploy or MSDeploy extension in your template by any chance? It would also be great to understand if you have AppSettings defined in your incremental template that could change the Run From Package settings? ARM Templates for Functions FAQ

HI, @hughesjs is this still happening? I ran out of time to look at your logs before they had expired.

Hi @FinVamp1, sorry I never saw your comments. I've actually left the company that I was working at where this was happening so I have no idea if it's still happening

Thanks @hughesjs  for the update. Good luck with the new role.


Remove external link icon

We have determined that the external link icon is often confusing and ambiguous for users.
This is for many of the reasons outlined here:
https://designnotes.blog.gov.uk/2016/11/28/removing-the-external-link-icon-from-gov-uk/
We will completely remove the external link icon from the Design System which allows us to:

Avoid confusion and ambiguity where the icon is not widely recognised
Reduce technical complexity within the codebase

An expanded version of this description has been included as an ADR

Can I check who has agreed / been consulted on this? Have product and content design been part of the decision making process?

Yep 🙂, this was driven by product design. I'll post a link to the thread over in Slack.

but I wonder if it should be visual as well since we don't have the icon anymore.

Ah so I guess this is a big part of why we are making the change, because the icon never signified opens in a new tab.
The external flag is removed so will need to removed from e.g. the footer link and it's actually the new_tab option which controls the new tab behaviour which is staying for now. Although I think there's a separate decision to be made about whether we always open links in the same tab in future.
To limit this to just the external link behaviour I think the aria-label for new tabs is just fine for now.

Paired with @marianayovcheva on testing the required updates for this in product code and we're happy with the result. Merging this now.


mv('filepath','filepath') results in deletion of the file rather than no action/inplace move

Calling mv() of s3fs.S3FileSystem with path1==path2 results in deletion. This is not the expected behavior, as a POSIX mv results in a message saying they are the same file, and in particular does not result in deletion.
Working example:
session = aiobotocore.session.AioSession(profile="dev")
s3 = s3fs.S3FileSystem(session=session)
path_to_file = 'mybucket/file.txt'
s3.mv(
        path1=path_to_file
        path2=path_to_file
)

Now, the file in my bucket at location path_to_file is deleted.
I have versioning enabled on my bucket for what its worth, so I see the delete marker.

@DavidKatz-il Sweet! I like the idea of it being no-op if path1==path2.

or perhaps just not deleting it if path1==path2. that way if someone wants to use this to "touch" files they can.

@martindurant
Should we do this change on the fsspec library here, or only for s3fs?

Indeed it probably makes sense to add it upstream in fsspec.


Add Abbrevation option to gender

Description
gender({ abbrev: true }) // F M
Proposed solution
No response
Alternatives considered
No response
Do you want to create a pull request?
No

I would like to do, can you tell me where in the code, we have to add this

https://github.com/ngneat/falso/blob/main/packages/falso/src/lib/gender.ts

At which line i have to add? @NetanelBasal

I am really interested to contribute , just need guidance as i am new to this? if you have any references , please give i will read and then contribute @NetanelBasal

https://github.com/ngneat/falso/blob/main/CONTRIBUTING.md

@RishiKumarRay Have a look at the language/language-codes implementation: https://github.com/ngneat/falso/pull/66/files
You can implement gender abbreviations in a similar way. 🙂

Please assign this to me.


Adds to remote store documentation

Adds to remote store documentation
Checklist

[ x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@kolchfa-aws Thanks for contributing on top of this. Let's create this PR against the documentation repo's main branch.


Device not found with Echo Show 5

Hi,
I changed my Echo Dot 2 Gen to a Echo Show 5.
Unfortunately the new Echo does not find the lamps (ESP32 with FauxmoESP 3.2.0). Once I disconnected the Echo Dot from my account, I could no longer control the lamps.
I then deleted all the lamps from my account and tried to reconnect them (all with the Alexa app). But always no devices were found.
As a counter test, I reconnected the Echo Dot to my account and then searched for lamps again in the Alexa app. Now all lamps that are registered on the ESP32 were found.
Is an Echo Show 5 not compatible with FauxmoESP, or could it be a software/configuration issue?

I think it's related with my #166 issue

Hello,
I'm not sure if it is related to this issue. I have only problems with the Echo Show 5.
I checked again with different echo devices. Each time I removed all lamps and echo devices from alexa app, then connected the tested echo device. Result:
-Echo Dot 2: OK, all lamps found
-Echo Dot 4: OK, all lamps found
-Echo Show 5: Fail, no lamp found

This should be fine now if you update to version 3.3 or use the master branch. Can you verify and let me know?
Thanks
Paul

The Version 3.3 was a negative improvement for me :-(
With the new version none of my echo devices find the lamps.
Also the previously working echo dot devices are not able to find the lamps. So it is now fully unusabl.

Seems to have started working for me after the latest update.

@UweHeinritz Can you please confirm if it's working after V 3.4.0 with the echo show?

@Tejas-MD Yes version 3.4 is working fine with my Echo Show 5

@Tejas-MD Yes version 3.4 is working fine with my Echo Show 5

Thanks a lot for your response.
@pvint I think this issue can be closed now.


Pinephone: initial RIL + GPS support

https://github.com/GloDroid/glodroid_device/commit/91e328f5e84b7abd66526a9198d20c93718c8434

anything stopping this PR to merge?

Hi,
There is 2 major reasons:

I haven't managed to get it work on Android-11
We are trying to minimize number of proprietary components in our builds

We will have to create RIL and GNSS HAL components by our-self using Google templates and Linux pinephone experience.
But currently there is no free developers available to do this work within GloDroid team.

Hi,
All my apologies for this comment which does not concern this topic but I have a question for bauner and I dont know how to send it to/contact him directly. This is not a spam, I have a question on LineageOS 15.1 for n7000 (update and security patch) for him and I saw that bauner participates to this pull request.
Bauner, how can I contact you to ask you my question ? I can give you my mail if it's ok for you.
Thanks in advance for your response and sorry again for the disturbance.
Antoine

FOSS RIL support was introduced in v0.7.0
We plan to improve it to make usable instead of using proprietary RIL.


Added Sneat Vuetify VueJS Admin Template

[Sneat Vuetify Vuejs Admin Template] -> [Vue UI]
Sneat Vuetify VueJS 3 Admin Template
Sneat Free Vuetify VueJS 3 Admin Dashboard Template – is the most developer-friendly & highly customizable Admin Dashboard Template based on Vuetify.
Furthermore, you can use this innovative Free admin template to create eye-catching, high-quality, and high-performing single-page applications. Besides, your apps will be completely responsive, ensuring they’ll look stunning and function flawlessly on desktops, tablets, and mobile devices.
In addition, it comes with the following features :

VueJS 3
Utilizes Vue Router, VueUse, Pinia
Available in both TypeScript & JavaScript versions
1 Dashboard
Box Icons
Basic cards
Fully Responsive Layout
Organized Folder Structure
Clean & Commented Code
Well Documented

Link:
Demo: https://demos.themeselection.com/sneat-vuetify-vuejs-admin-template-free/demo/dashboard
GitHub: https://github.com/themeselection/sneat-vuetify-vuejs-admin-template-free
Checklist:

[x] I have performed a self-review of submitted resource and its follows the guidelines of the project.

Not 100% free as there is an upgrade option.

Not 100% free as there is an upgrade option.

But the product I submitted is 100% free & open source that can be used for personal & commercial use. It also has an MIT license. The upgrade is only for those who want to upgrade which is not compulsory.


Icon Error in Integrations.tsx

I have an integration that uses an extension. I was getting an error in the render method on either the startConnectionIcon or finishConnectionIcon being undefined (I think it was the finish icon).

Was it something like this:

That looks like the same error @gashcrumb (though it has been awhile since I've run into this). I've been bypassing this problem by just setting URL to a customization URL as that has been what I am working on.

https://github.com/syndesisio/syndesis-react-poc/pull/117 should sort this, but am also working on bringing over the logic from the old app, as there's several ways icons are stored.


BasicFormat doesn't add spaces between first and second parameter name

Description
When using FunctionParameterSyntax with SwiftSyntaxBuilder, the build result (formatted by BasicFormat) doesn't have spaces between first and second parameter names, which is "lexically legal" but far against user intention.
Steps to Reproduce
let parameter = FunctionParameterSyntax(firstName: "on", secondName: "eventLoop", colon: .colonToken(), type: TypeSyntax("EventLoop"))
print(parameter) // oneventLoop: EventLoop

rdar://107787208


[BUG] "Write About Me" does not mention required LANDING_PAGE_TITLE

Description
Describe the bug
The documentation does not mention that it is necessary to set LANDING_PAGE_TITLE before the landing page will be included.
To Reproduce
Steps to reproduce the behavior:

Set THEME='elegant'
Create a simple page with slug set to landing-page-about-hidden and status set to hidden containing "XYZZY"
Generate site
See that index.html does not contain "XYZZY"

Expected behavior
Documentation will specify all steps necessary to achieve desired outcome.
Screenshots
N/A
Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
Add any other context about the problem here.

:tada: This issue has been resolved in version 5.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


goreleaser.yml doesn't build hugo-extended-linux with "-extldflags '-static'"

goreleaser.yml doesn't build hugo-extended-linux with "-extldflags '-static'" which means that the executable won't work on, for example, Alpine Linux or in a scratch Docker image.

This is by design.

I was short there, but there are plenty of other issues discussing this.

Ok, I found one somewhat related (snap) but I guess I have to do a better search then...


Automated Package Upgrade

:tada: This PR is included in version 12.4.48 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: Made suggested changes given by reviewer

Description
As per the suggestions provided by our reviewer, the following three changes were made:

Removed export { JiraToolkit } from "./jira/jira.js"; (Line 21) from langchain/src/agents/toolkits/index.ts and added the following line to create-entrypoints.js under the agents key: "agents/toolkits/jira": "agents/toolkits/jira/index,".

Consequently, the additional file index.ts, which exports JiraToolkit, was created under langchain/src/agents/toolkits/jira/.

Added the following line to create-entrypoints.js under the tools key: "tools/jira": "tools/jira,".

No additional prefixes for types needed to be added to the line export { JiraAPIWrapper, JiraAction } from "./jira.js"; since only classes are exported.

Changed executor.call() to executor.invoke() in the example file.

Small miscellaneous changes were made to accommodate the above changes.

lgtm


[openssl] Build error on x64-windows

Package<EMAIL_ADDRESS>Host Environment

Host: x64-windows
Compiler: MSVC 19.30.30705.0
vcpkg-tool version: 2024-12-09-1005b78fa1bf1dde1a20c2734cba4ea61ca94d9a
vcpkg-scripts version: unknown

To Reproduce
vcpkg install libssh2
Failure logs
Downloading openssl-openssl-openssl-3.4.0.tar.gz
Successfully downloaded openssl-openssl-openssl-3.4.0.tar.gz.
-- Cleaning sources at C:/workspace/cpp/vcpkg/buildtrees/openssl/src/nssl-3.4.0-821e8e5bdc.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/workspace/cpp/vcpkg/downloads/openssl-openssl-openssl-3.4.0.tar.gz
-- Applying patch cmake-config.patch
-- Applying patch command-line-length.patch
-- Applying patch script-prefix.patch
-- Applying patch asm-armcap.patch
-- Applying patch windows/install-layout.patch
-- Applying patch windows/install-pdbs.patch
-- Applying patch unix/android-cc.patch
-- Applying patch unix/move-openssldir.patch
-- Applying patch unix/no-empty-dirs.patch
-- Applying patch unix/no-static-libs-for-shared.patch
-- Using source at C:/workspace/cpp/vcpkg/buildtrees/openssl/src/nssl-3.4.0-821e8e5bdc.clean
Downloading strawberry-perl-<IP_ADDRESS>-64bit-portable.zip
warning: Download failed -- retrying after 1000ms
warning: Download failed -- retrying after 2000ms
warning: Download failed -- retrying after 4000ms
Failed to download strawberry-perl-<IP_ADDRESS>-64bit-portable.zip.
If you are using a proxy, please ensure your proxy settings are correct.
Possible causes are:
1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable to `https//address:port`.
This is not correct, because `https://` prefix claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr, etc...) is an HTTP proxy.
Try setting `http://address:port` to both HTTP_PROXY and HTTPS_PROXY instead.
2. If you are using Windows, vcpkg will automatically use your Windows IE Proxy Settings set by your proxy software. See, https://github.com/microsoft/vcpkg-tool/pull/77
The value set by your proxy might be wrong, or have same `https://` prefix issue.
3. Your proxy's remote server is our of service.
If you've tried directly download the link, and believe this is not a temporay download server failure, please submit an issue at https://github.com/Microsoft/vcpkg/issues
to report this upstream download server failure.
error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002
error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002
error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002
error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:231 (message):
  Download failed, halting portfile.
Call Stack (most recent call first):
  scripts/cmake/vcpkg_find_acquire_program.cmake:170 (vcpkg_download_distfile)
  ports/openssl/windows/portfile.cmake:6 (vcpkg_find_acquire_program)
  ports/openssl/portfile.cmake:69 (include)
  scripts/ports.cmake:196 (include)

An error occurred while downloading the libssh2 package. Help me solve the problem.

Sorry I didn't repro your issue.
PS E:\vcpkg> ./vcpkg install libssh2
Computing installation plan...
The following packages will be built and installed:
<EMAIL_ADDRESS>  *<EMAIL_ADDRESS>Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Compiler found: C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/cl.exe
Installing 1/2<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>Downloading openssl-openssl-openssl-3.4.0.tar.gz
Successfully downloaded openssl-openssl-openssl-3.4.0.tar.gz.
-- Extracting source E:/vcpkg/downloads/openssl-openssl-openssl-3.4.0.tar.gz
-- Applying patch cmake-config.patch
-- Applying patch command-line-length.patch
-- Applying patch script-prefix.patch
-- Applying patch asm-armcap.patch
-- Applying patch windows/install-layout.patch
-- Applying patch windows/install-pdbs.patch
-- Applying patch unix/android-cc.patch
-- Applying patch unix/move-openssldir.patch
-- Applying patch unix/no-empty-dirs.patch
-- Applying patch unix/no-static-libs-for-shared.patch
-- Using source at E:/vcpkg/buildtrees/openssl/src/nssl-3.4.0-821e8e5bdc.clean
-- Found external ninja('1.11.0').
-- Getting CMake variables for x64-windows
Downloading nasm-2.16.03-win64.zip
Successfully downloaded nasm-2.16.03-win64.zip.
-- Getting CMake variables for x64-windows
-- Prerunning x64-windows-dbg
-- Building x64-windows-dbg
-- Prerunning x64-windows-rel
-- Building x64-windows-rel
-- Fixing pkgconfig file: E:/vcpkg/packages/openssl_x64-windows/lib/pkgconfig/libcrypto.pc
-- Fixing pkgconfig file: E:/vcpkg/packages/openssl_x64-windows/lib/pkgconfig/libssl.pc
-- Fixing pkgconfig file: E:/vcpkg/packages/openssl_x64-windows/lib/pkgconfig/openssl.pc
-- Using cached msys2-mingw-w64-x86_64-pkgconf-1~2.3.0-1-any.pkg.tar.zst.
-- Using cached msys2-msys2-runtime-3.5.4-2-x86_64.pkg.tar.zst.
-- Using msys root at E:/vcpkg/downloads/tools/msys2/21caed2f81ec917b
-- Fixing pkgconfig file: E:/vcpkg/packages/openssl_x64-windows/debug/lib/pkgconfig/libcrypto.pc
-- Fixing pkgconfig file: E:/vcpkg/packages/openssl_x64-windows/debug/lib/pkgconfig/libssl.pc
-- Fixing pkgconfig file: E:/vcpkg/packages/openssl_x64-windows/debug/lib/pkgconfig/openssl.pc
-- Installing: E:/vcpkg/packages/openssl_x64-windows/share/openssl/usage
-- Installing: E:/vcpkg/packages/openssl_x64-windows/share/openssl/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 2.4 s.
Elapsed time to handle openssl:x64-windows: 9.1 min
openssl:x64-windows package ABI: ba98517594a8c957737a58456802a473f125a0db59d0f8be04c02fb4ff48a33f
Installing 2/2<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>Downloading libssh2-libssh2-libssh2-1.11.1.tar.gz
Successfully downloaded libssh2-libssh2-libssh2-1.11.1.tar.gz.
-- Extracting source E:/vcpkg/downloads/libssh2-libssh2-libssh2-1.11.1.tar.gz
-- Using source at E:/vcpkg/buildtrees/libssh2/src/sh2-1.11.1-923202b512.clean
-- Found external ninja('1.11.0').
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Fixing pkgconfig file: E:/vcpkg/packages/libssh2_x64-windows/lib/pkgconfig/libssh2.pc
-- Using cached msys2-mingw-w64-x86_64-pkgconf-1~2.3.0-1-any.pkg.tar.zst.
-- Using cached msys2-msys2-runtime-3.5.4-2-x86_64.pkg.tar.zst.
-- Using msys root at E:/vcpkg/downloads/tools/msys2/21caed2f81ec917b
-- Fixing pkgconfig file: E:/vcpkg/packages/libssh2_x64-windows/debug/lib/pkgconfig/libssh2.pc
-- Installing: E:/vcpkg/packages/libssh2_x64-windows/share/libssh2/usage
-- Installing: E:/vcpkg/packages/libssh2_x64-windows/share/libssh2/copyright
-- Performing post-build validation
Stored binaries in 1 destinations in 601 ms.
Elapsed time to handle libssh2:x64-windows: 12 s
libssh2:x64-windows package ABI: 79626ba4066a25105ceb8f9643f3a7b61599d176ecb097ad56b47165bfb8afa6
Total install time: 9.3 min
libssh2 provides CMake targets:

  find_package(libssh2 CONFIG REQUIRED)
  target_link_libraries(main PRIVATE libssh2::libssh2)

And there is no problem for me to download these links manually. This may be a problem with your local proxy or firewall.

error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002
error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002
error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002
error: https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/download/SP_54001_64bit_UCRT/strawberry-perl-<IP_ADDRESS>-64bit-portable.zip: WinHttpReadData failed with exit code 12002


Provide options to receive webpack --json

Versions
angular-cli: 1.0.0-beta.20-4
node: 6.9.1
Request
It would be very helpful if angular-cli did provide an option to receive output of webpack --json during ng build for further analysis of webpack chunks and code size (e.g. using the excellent webpack-visualizer: https://chrisbateman.github.io/webpack-visualizer/ or https://webpack.github.io/analyse/)

@JohannesRudolph I think this is a great idea for being able to produce dumps of information, in an attempt to see if it was possible, i ended up modifying 1 file and installing 1 package.
For those willing to play around with their node_modules for some fun, replace node_modules/angular-cli/models/webpack-config.js with this raw gist or you can view the gist
and then run npm install --save-dev webpack-stats-plugin and then whenever you do a build the stats are dumped in the outDir (typically dist/stats.json).

I agree that this would be helpful, but am unsure if we want to do it anytime soon because it would break the build system abstraction.

@filipesilva I agree this would be nice to have, the build system functioning is definitely more important than some stats, i would opt for a having people make the simple change i made if the stats are important to them (maybe for integration purposes).  I've definitely grown accustomed to using the CLI and openly hacking away at anything that i'm curious on.


refactor CDS for RHUIv4.2

Update CDS following the RHUA update.

Update rhui-tools pin to v4.2
Keep rhui-tools at end
Refresh Ansible patch
Use new user_supplied_x fields for providing cert, instead of patch
Use the full answers.yaml and rhui-tools.conf files generated from rhui-manager v4.2

/cc bkatyl

This change looks good to me. However, would also like a review from either @zmarano or @bkatyl.

/lgtm


62: single activity edit

Some updates to the /database folder, specifically around migrations.
Commit 1: the actual migration updates I'm making that relate to editing an activity record.

Remove the version column
Add 2 new date columns (created and deleted timestamps)
Add an index on the activity_id column
Tweak some index names to match the default convention
Merged the media_keys migration into the activity table migration

I am technically being a bit naughty in updating the existing migration, but it was getting a bit ugly to throw some of the changes I wanted into their own migration.  And since we haven't gone to test or prod, can probably get away with it for now :).  I am planning to purge all of the bad dev data in Dev anyways, so this can line up with that.
Commit 2: just a bunch of linting and some trivial updates to imports and dead-code.

Added the linter packages/files
Ran the linter
Added DB_SCHEMA in a bunch of places
Removed some dead code

Why ditch the version column?

Why ditch the version column?

I was trying to investigate ways to do versioning, and came across this post:
https://stackoverflow.com/questions/34571125/custom-serial-autoincrement-per-group-of-values
The poster in that thread wants a serial id for a group of values (which is what we were going for originally with the version column), and my take-away from the responses is that it is either more trouble than its worth, or inherently problematic with potential for race conditions.
The other thing is that the received_timestamp already tells us what the order of records is.  You could just do a max(recieved_timestamp) and that is the same result as max(version).  Or more ideally, I was planning to update the old records deleted_timestamp and then we just have to do a  select * from blah where activity_id = 12 and deleted_timestamp = null which would be super fast.

Where I see the version column having value is when I'll inevitably get asked to make a table/view to show admin changes on certain types of records, giving the user a version number to refer to.  I'm game for the approach you outlined but maybe we can meet in the middle and add a computed version column based on timestamp.


Make polar-language-server out dir customizable

Changes the polar-language-server Makefile to allow for specifying a custom directory to build into.

I have read the CLA Document and I hereby sign the CLA

recheck


about markdown show code

As an coder,I whant show my code  for this.

can you help me? thank you very munch

You can try add /* */ symbol in your code. For example:
{{%/* code */%}}


fixes react-18 youtube error #1439

fixes #1439

just tested this by patching my react-player (v2.10.0) contents in node_modules, and can confirm that it resolves the problems from #1439.
Would appreciate it if this could be merged and released soon :)

I went for a slightly more elegant fix :) Thanks for the PR though! Fixed in 2.10.1


Getting Started Section (1)

Create a button "Quick Start Guide"
links to the page: https://1up.health/dev/quick-start
add a button on the quick start guide page that links to the developer form on hubspot:

developer form on hubspot:
<script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/shell.js"></script>
<script>
  hbspt.forms.create({
	portalId: "8397365",
	formId: "1c97cdb8-3006-43ef-8833-7fbf7755b444"
});
</script>


Add subscriptionType

I was trying this lib with latest graphiql, found it's missing this type. I am not sure what it is, but no more error if I add it.

Subscriptions are not implemented yet in the library.
See #9

As @ooflorent mentioned subscriptions are not implemented in this library yet, but I still merged your PR to enable compatibility with Relay / GraphQL-js introspection tools.
Thanks for submitting!


Improve k8s configuration

The results are as followshelm install streampipes ./

The results are as follows helm install streampipes ./ --set preferredBroker=kafka

Oh sorry - I had the page still open and after merging I saw @RobertIndie 's comments appear - sorry for that!
@luoluoyuyu can you please address @RobertIndie comments in a new PR?

@dominikriemer It doesn’t matter. :) It's okay that we address these comments in a new PR.

hi @dominikriemer
I submitted a new pr to address the issue in the comments


Allow to replace notifications belonging to the same group

Hi @vigoux
I was wondering, if you could add support to enable message replacement for the nvim component as you have for the lsp one.
I locally modify init.lua replacing:
status.push("nvim", { mandat = msg, title = opts.title, icon = opts.icon })

with
    if opts.group and opts.done then
      status.pop("lsp", opts.group)
    elseif opts.group then
      status.push("lsp", { mandat = msg, title = opts.title, dim = true }, opts.group)
    else
      status.push("nvim", { mandat = msg, title = opts.title, icon = opts.icon })
    end

So I can group notifications using vim.notify(msg, level, { group = "foo" }. Sorry, for not sending a PR but havent used Teal ever :( Also, I was not sure you were ok with this change.
Thanks for yet another great neovim contribution!

Hi and thanks for that detailed suggestion!
I have a question though : I am not sure to see what the behavior should be.
Looking at the code it seems that you want to customize the notify implementation to include some lsp features?
Do you have a screenshot / video of your implementation?

Im using it for my CodeQL.nvim plugin. The idea is to group all the scan progress notifications so that they use the same notification window and do not take the whole screen. CodeQL.nvim users will be able to choose any vim.notify backend, but if the backend supports grouping notifcations via a custom vim.notify option (group), the notifications will be more eye candy.

So, my problem is that mixing "replaceable" and "push" notifications under the same component is not actually well-defined yet.
What I can do is ensure that this works fine (and fix the bugs along the way), and report back to this issue.
In any case, the name of the component (here nvim), will stay the same (as I don't want to mix things around).
For a more flexible interface, I'd really recommend using the status.push / status.pop API.

For a more flexible interface, I'd really recommend using the status.push / status.pop API.

You are right, I should have probably used this from the beginning, thanks!

Actually, it would be nice if you could install notifier as an LSP progress handler (vim.lsp.handlers["$/progress"]  = function(err, msg, ctx) ... so that CodeQL.nvim or any non-LSP plugin wanting to use the LSP progress notification system, can just gran the handler from vim.lsp.handlers["$/progress"] and invoke it.

Notifier actually also does that though: https://github.com/vigoux/notifier.nvim/blob/afc9bf7ef8c31cfc716a2b849c34943a9788508b/teal/notifier/init.tl#L83-L96

Thanks! So instead of replacing the handler, you are just "subscribing" to its messages and then process them?
This actually works with notifier.nvim and it should also work with other LSP progress handlers. Thanks for the help!

I am not a LSP expert but I think that calling back to $/progress is better.
I wonder why your lsp does not do it by default though.

CodeQL.nvim works with two servers, the LSP server (which correctly notifies progress through the LSP handler) and the Query server (in charge of running the CodeQL queries). This second server does not use the LSP handler to notify the query execution progress. What I did in that commit is to report the Query server progress using the LSP handler and use the same LSP client Id as the CodeQL LSP server.
Thanks a lot for the help!

Not sure I understand that LSP-fu, but I am glad we sorted that out!


push in version 2

Hi,
I'm using symfony 3.4 (with flex) and autowire; in composer.json I have:
"gos/web-socket-bundle": "dev-master",

so version 2 is used.
Now I have a command (extends ContainerAwareCommand) that it will send a message:
protected function execute(InputInterface $input, OutputInterface $output)
    {
        $pusher=$this->getContainer()->get('gos_web_socket.wamp.pusher');
        $pushMessage['text']=$input->getOption('message');

        $pusher->push($pushMessage, 'system_message');
    }

But i get the error:
 The "gos_web_socket.wamp.pusher" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and   use dependency injection instead.

Is there an example for push with version 2?
Thanks in advance.
v

I'd suggest not extending ContainerAwareCommand since that is deprecated and injecting the pusher as a dependency (either as a constructor argument or a setPusher(PusherInterface $pusher) call.  If it's too painful we can add public: true onto the pusher service definitions but personally I think the scope of what's considered a public service by the bundle should be kept to a minimum (I did do a pass to explicitly mark things public/private, it looks like the pushers are inheriting the public:false set on the abstract pusher definition as a result).
The other option is you can use a compiler pass in your own application to make the service public if you really need to but this kind of $this->container->get() stuff is really not the encouraged practice anymore, it's preferred to use explicit dependency injection instead.

Uhm.... something goes wrong.
I done:

namespace App\Command;

use Gos\Bundle\WebSocketBundle\Pusher\PusherInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

class SendMessageCommand extends Command
{
    private $pusher;

    public function __construct(PusherInterface $pusher)
    {
        $this->pusher=$pusher;
        parent::__construct();
    }

    protected function configure()
    {
        $this->setName('send-socket:message')
            ->setDescription('Send message')
            ->addOption(
                'user',
                null,
                InputOption::VALUE_REQUIRED,
                'user',
                ''
            )
            ->addOption(
                'message',
                null,
                InputOption::VALUE_REQUIRED,
                'message',
                ''
            );
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $pushMessage['text']=$input->getOption('message');
        $pushMessage['to'] =strtolower($input->getOption('user'));

        $this->pusher->push($pushMessage, 'you4b_message');
    }
}

But when run I get:
In DefinitionErrorExceptionPass.php line 37:

  Cannot autowire service "App\Command\SendMessageCommand": argument "$pusher" of method "__construct()" references interface "Gos\Bundle\WebSocketBundle\Pusher\PusherInterface" but no such service exists. You should maybe alias this interface to one of these existing services: "gos_web_socket.wamp.pusher.data_collector", "gos_web_socket.wamp.pusher.data_collector.inner".

What is correct definition for this service?
Thanks.
v.

You have to manually specify the $pusher argument to get the correct pusher.  The PusherInterface isn't aliased to anything since by default all of the pusher services are available as services and stripped out if they aren't enabled, so you can't autowire the pushers unfortunately.  Here's an example service definition I use:
    App\EventListener\BroadcastResourceCreatedListener:
        tags:
            - { name: kernel.event_listener, event: app.resource_created, method: onResourceCreated }
            - { name: monolog.logger, channel: app }
        arguments:
            '$pusher'<EMAIL_ADDRESS>
Also, make sure you typehint the interface because when the kernel is in debug mode (i.e. dev environment) the pushers are decorated so if you typehinted Gos\Bundle\WebSocketBundle\Pusher\Wamp\WampPusher instead of Gos\Bundle\WebSocketBundle\Pusher\PusherInterface you'll run into problems because the decorating Gos\Bundle\WebSocketBundle\DataCollector\PusherDecorator class is used.

Sorry but I don't undestand. I do this in services.yml:
services:
  App\Command\SendMessageCommand:
        arguments:
          '$pusher'<EMAIL_ADDRESS>
And this in command definition:
<?php

namespace App\Command;

use Gos\Bundle\WebSocketBundle\Pusher\PusherInterface;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;

class SendMessageCommand extends Command
{
    private $pusher;

    public function __construct(PusherInterface $pusher)
    {
        $this->pusher=$pusher;
        parent::__construct();
    }

    protected function configure()
    {
        $this->setName('send-socket:message')
            ->setDescription('Send message')
            ->addOption(
                'user',
                null,
                InputOption::VALUE_REQUIRED,
                'user',
                ''
            )
            ->addOption(
                'message',
                null,
                InputOption::VALUE_REQUIRED,
                'message',
                ''
            );
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $pushMessage['text']=$input->getOption('message');
        $pushMessage['to'] =strtolower($input->getOption('user'));

        $this->pusher->push($pushMessage, 'you4b_message');
    }
}

But I get this error:
php bin/console send-socket:message --user user1-it --message caio

[WARNING] Some commands could not be registered:
In MessageSerializer.php line 35:
  Class 'Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer' not found
  There are no commands defined in the "send-socket" namespace.

I "simply" want to send a push message to a specific user via php bin/console command.
Sigh. :(
v.

In MessageSerializer.php line 35:
Class 'Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer' not found

You need to composer require symfony/serializer as indicated in the "suggest" section of the Composer install.  That will probably fix your issue with the command not being registered since its dependencies aren't all being resolved correctly.

It's works.
Thanks a lot.
v.


Custom config for Home Assistant

I recently swapped out my manually managed nginx instance with this container and thus far I have loved it. Though I have had issues with home assistant.
I believe my problem stems from not configuring nginx as it should, and this seem to require some custom config.
Take a look at the following page for nginx config:
https://www.home-assistant.io/docs/ecosystem/nginx/
Anyone know how to translate this into a format that nginx proxy manager can handle?

Did you enabled WebSocket support?


[unittest] enable commented unittest

Using ValuesIn function instead of Values cause the arguments are more than 50

Self evaluation:

Build test: [X]Passed [ ]Failed [ ]Skipped
Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: hyeonseok lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1467. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.


CAMEL-16060 camel-kafka - decouple kafka.PARTITION_KEY from kafka.KEY

PR for https://issues.apache.org/jira/browse/CAMEL-16060
I removed the if-else block altogether, as each field may be null during ProducerRecord instantiation. I also noticed that the original / not-converted key was passed to the constructor, which looks like a bug to me. I changed it accordingly.

Hi @omarsmak,
I wasn't able to execute the KafkaProducerFullTest for some reason with docker. Haven't had time to look into this. Is there anything special to consider? I checked the test quickly, it appears it already executes some calls without key (but with partition_key).
AFAIK the documentation does not cover the fact that both headers are required to define the partition (today). That confused me at first and I checked the code to find that out.

Hi @omarsmak,
I wasn't able to execute the KafkaProducerFullTest for some reason with docker. Haven't had time to look into this. Is there anything special to consider? I checked the test quickly, it appears it already executes some calls without key (but with partition_key).
AFAIK the documentation does not cover the fact that both headers are required to define the partition (today). That confused me at first and I checked the code to find that out.

Here is a snippet for the falling tests https://sharetext.me/raw/xq55wisjrn. Would be great if you can take a look at that to see why is that failing as these FullTests of camel-kafka are very important and they need to pass with no issues.
in regards to the documentation, it is actually mentioned there: https://github.com/apache/camel/blob/master/components/camel-kafka/src/main/docs/kafka-component.adoc#producer-headers
Explicitly specify the partition (only used if the KafkaConstants.KEY header is defined)

Interesting, the "customer"-facing page appears to have a rendering-issue with the table. At least I cannot see the last cell that contains this info.
I will follow up on this and the tests as well.

Interesting, the "customer"-facing page appears to have a rendering-issue with the table. At least I cannot see the last cell that contains this info.
I will follow up on this and the tests as well.

Yes you are right, it wasn't visible due to some formatting issues in the adoc. I fixed that earlier and thus is visible again :)

Yes, I also noticed when updating the documentation. I updated the tests. Many tests actually "tried" to write into a certain partition, but this did not work before / was ignored (as no kafka.KEY was set). As the topic is auto-created in the tests, it contains a single partition only, which is 0 and not 1. I changed that now and the tests pass. There is a single test that does not run successfully (KafkaConsumerManualCommitTest). But this one fails for me also before my change and is unrelated anyway. Feel free to squash those two changes into one when merging. Not sure, how you handle this in similar cases.

Yes, I also noticed when updating the documentation. I updated the tests. Many tests actually "tried" to write into a certain partition, but this did not work before / was ignored (as no kafka.KEY was set). As the topic is auto-created in the tests, it contains a single partition only, which is 0 and not 1. I changed that now and the tests pass. There is a single test that does not run successfully (KafkaConsumerManualCommitTest). But this one fails for me also before my change and is unrelated anyway. Feel free to squash those two changes into one when merging. Not sure, how you handle this in similar cases.

It is looking good to me! Thanks a lot. One more thing, can you please fix the conflicts in the documentation and then we are good to merge this PR


AttributeError module scipy has no attribute stats

My issue is about an attribute error when calling scipy.stats.
Reproducing code example:

import scipy
print(scipy.stats.describe([i for i in range(10)]))

Error message:

Traceback (most recent call last):
  File "problem.py", line 2, in <module>
    print(scipy.stats.describe([i for i in range(10)]))
AttributeError: module 'scipy' has no attribute 'stats'

Scipy/Numpy/Python version information:

1.6.1 1.20.1 sys.version_info(major=3, minor=7, micro=9, releaselevel='final', serial=0)

Notes:
The same behavior occurs when installing scipy 1.6.1 from pip and from anaconda.

This is expected. Most of the subpackages are not imported when you just do import scipy. There are a lot of them, with a lot of heavy extension modules that take time to load. You should always explicitly import the subpackages that you want to use:
from scipy import stats

stats.describe(...)

This makes a lot of sense.  Closing issue because it is not an issue.


Client group filter dropdown does not list client groups

The client group filter dropdown is incomplete and needs to be finished.
@bio-boris we discussed how the server/client group filter could be populated from an ee2 call. otherwise, the values for the dropdown will need to be hardcoded somewhere (bff, probably).
Do you think it is reasonable for ee2 to provide an api method to return a list of available client groups? I don't know if this is available already in the db or a config file, or if it would be better to implement it as a query over existing jobs, returning unique values.
Or we could change the implementation on the browser side to provide this filter as a text input. The user would need to be aware of which client groups exist, and their spelling.
Or, the dropdown of client groups could provide for a free-text override.

Yes, I have added it on CI
        /* Get a list of clientgroups manually extracted from the config file */
        funcdef get_client_groups() returns (list<string> client_groups) authentication required;

The client groups filter derives values from the ee2 source now (well, as of the following commit, which was a while ago)
https://github.com/kbase/kbase-ui-plugin-job-browser2/commit/a470021b2a760c155956fe1d1105a6c1fb31a721


Question: TypeError: request is not a function

Describe the bug
ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

      at 5 (node_modules/kafkajs/src/protocol/requests/metadata/index.js:28:21)
      at Broker.metadata (node_modules/kafkajs/src/broker/index.js:190:7)
      at node_modules/kafkajs/src/cluster/brokerPool.js:127:38
      at retry (node_modules/kafkajs/src/retry/index.js:43:5)
      at node_modules/kafkajs/src/retry/index.js:61:5

and eachMessage()is not able to consume messages from Kafka topic
To Reproduce
Consumer code:
    test('test consumer consumes correct data from producer', async () => {
        const restartOnFailure = jest.fn(async () => false)
        const kafka = new Kafka({
            clientId: 'example-consumer',
            logLevel: logLevel.ERROR,
            brokers: ['localhost:9092'],
        })
        const consumer = kafka.consumer({
            groupId: 'test-group',
            retry: {
                retries: 0,
                initialRetryTime: 1,
                restartOnFailure,
            },
        });
        const run = async () => {
            await consumer.connect()
            await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })
            await consumer.run({
                eachMessage: async ({ topic, partition, message }) => {
                    const decodedKey = await registry.decode(message.key)
                    const decodedValue = await registry.decode(message.value)
                    console.log({ decodedKey, decodedValue })
                },
            })
        }
        await run().catch(console.error)
    });

    afterAll(async () => {
        await consumer.disconnect()
    });

Run a producer that produces messages to a topic on time and then disconnect
Run a consumer that subscribes to that topic and logs each topic offset
Error occurs and no message or topic are logged

Expected behavior
Being able to consume messages and verify correctness in an integration test
Observed behavior
Error described above
Environment:

OS: [Mac OS 10.15.5]
KafkaJS version [1.13.0-beta.38]
NodeJS version [v14.3.0]

Could you please edit your issue to use the issue template? There is a lot of information missing that would be helpful to have:
**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Please provide either a link to a:

1. [failing test in a KafkaJS fork](https://github.com/tulios/kafkajs/blob/2faef0719eeba50759eccc2b7d8800dbe63803f3/src/consumer/__tests__/consumeMessages.spec.js#L52-L97)
2. [repository with an example project reproducing the issue](https://github.com/tulios/kafkajs/blob/master/examples/consumer.js)

If none of the above are possible to provide, please write down the exact steps to reproduce the behavior:
1. Run a producer that continuously produces messages to a topic
2. Run a consumer that subscribes to that topic and logs each topic offset
3. After the consumer has consumed 100 messages, it...

**Expected behavior**
A clear and concise description of what you expected to happen.

**Observed behavior**
A clear and concise description of what *did* happen. Please include any relevant logs [with the log level set to debug](https://kafka.js.org/docs/configuration#logging).

**Environment:**
 - OS: [e.g. Mac OS 10.15.3]
 - KafkaJS version [e.g. 1.12.0]
 - Kafka version [e.g. 2.3.1]
 - NodeJS version [e.g. 10.13.0]

**Additional context**
Add any other context about the problem here.

As a data point: I'm seeing this error message with different stack traces when running tests locally:
 FAIL  src/consumer/__tests__/subscribe.spec.js
  ● Consumer › with regex › subscribes to all matching topics

    TypeError: request is not a function

      at 2 (src/protocol/requests/apiVersions/index.js:28:16)
      at Broker.apiVersions (src/broker/index.js:163:52)
      at Broker.connect (src/broker/index.js:109:36)
      at src/cluster/brokerPool.js:317:9
      at BrokerPool.findBroker (src/cluster/brokerPool.js:242:5)
      at Cluster.findBroker (src/cluster/index.js:234:14)
      at src/consumer/consumerGroup.js:453:24

I have a suspicion that this has to do with the lazy loading of the protocol modules. We require only the needed modules for encoding/decoding requests and responses, like this for example:
https://github.com/tulios/kafkajs/blob/9ed0787bbe16df4402923f0ea898a2fca6200736/src/protocol/requests/listOffsets/index.js#L17-L21
I wonder if there is some weirdness there. What version(s) of Node are you encountering these issues in, and are you able to consistently reproduce it? I have never had it happen for me.

I'm using Node version v14.3.0 and npm 6.14.4. Sorry about the initial question without detailed explanation, will update soon.

Here is the consumer code that gave me the error.
`        const kafka = new Kafka({
clientId: 'example-consumer',
logLevel: logLevel.ERROR,
brokers: ['localhost:9092']
})
    const consumer = kafka.consumer({ groupId: 'test-group' })

    const run = async () => {

        await consumer.connect()
        await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })

        console.log('#############################')
        await consumer.run({
            eachMessage: async ({ topic, partition, message }) => {
                console.log({
                    partition,
                    offset: message.offset,
                    value: message.value.toString(),
                })
            },
        })
    }
    run().catch(console.error)`

What version(s) of Node are you encountering these issues in, and are you able to consistently reproduce it? I have never had it happen for me.

I'm using NocdeJS 12.18.0/npm 6.14.4.
I looked a bit further, and for my case in the tests these errors are always paired with earlier warnings like these:
ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

      27 |   5: ({ topics, allowAutoTopicCreation }) => {
      28 |     const request = require('./v5/request')
    > 29 |     const response = require('./v5/response')
         |                      ^
      30 |     return { request: request({ topics, allowAutoTopicCreation }), response }
      31 |   },
      32 | }

      at metadata (src/protocol/requests/metadata/index.js:29:22)
      at Broker.metadata (src/broker/index.js:190:7)
      at fn (src/cluster/brokerPool.js:127:38)
      at start (src/retry/index.js:43:5)
      at src/retry/index.js:61:5

(Usually, but not always coming from retry, and not all of these lead to the request isn't a function errors so I didn't link them in my head).
In these cases it definitely seems to be lazy loading is the "problem": Jest recognizes that it it supposed to be done testing, and when the retry happens Jest rejects the import with the given message -- and returns an empty object.
TL;DR: While I'm getting similar errors in tests, these likely are caused by different things.

Yes, you are correct, I've been consistently getting the reference error as well.

Yes, you are correct, I've been consistently getting the reference error as well.

Are you in a unit test context?

I'm doing an integration test.

I've also been getting this:   ●  Cannot log after tests are done. Did you forget to wait for something async in your test?. I assume this is sth spit out by jest also.

Aha, I think we have hit the nail on the head. I bet what is happening is that your consumer is still trying to do something while jest is performing some kind of teardown, or something of that nature. I'm not sure exactly why this would screw up the module cache, since I don't believe Jest should touch it in between runs, but it sounds like it's something related.
Regarding logging after tests are done, make sure that you are stopping and disconnecting your consumer (awaiting it to finish) in an afterEach or afterAll function, otherwise you will leave behind a running consumer.
For integration tests, you could also try --runInBand and see if that helps.

Did you forget to wait for something async in your test?

Thinking aloud: Indeed, this message is correct, and points exactly to the problem -- Somehow your environment sometimes/always? leads to a situation where stuff gets left behind on a retry? Maybe a slow broker, maybe indeed some missing await.
One thing to try: What happens if you switch off retries in the KafkaJS configuration (needs current beta/master, see https://github.com/tulios/kafkajs/pull/643)

Got it. Trying now guys! Thanks for the feedback.

@Nevon  after disconnecting the consumer in afterall, I started to get this error:
    test/producer/producer-integration.test.ts:76:39 - error TS7031: Binding element 'topic' implicitly has an 'any' type.

    76                 eachMessage: async ({ topic, partition, message }) => {
                                             ~~~~~
    test/producer/producer-integration.test.ts:76:46 - error TS7031: Binding element 'partition' implicitly has an 'any' type.

    76                 eachMessage: async ({ topic, partition, message }) => {
                                                    ~~~~~~~~~
    test/producer/producer-integration.test.ts:76:57 - error TS7031: Binding element 'message' implicitly has an 'any' type.

    76                 eachMessage: async ({ topic, partition, message }) => {

I've been getting this error while creating an example consumer by following kafkajs official doc, but not in my own integration tests. I suspect somehow the error related to lazy loading precedes this error and masks it from me?

@ankon I've pasted my code here, are you able to identify any missing await? Trying to switch off retries now.

Update: after disabling the retry as below, the same error msg persists.
        const restartOnFailure = jest.fn(async () => false)

        const consumer = kafka.consumer({
            groupId: 'test-group',
            retry: {
                retries: 0,
                initialRetryTime: 1,
                restartOnFailure,
            },
        })

ERROR:
ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

      at 2 (node_modules/kafkajs/src/protocol/requests/apiVersions/index.js:13:21)
      at Broker.apiVersions (node_modules/kafkajs/src/broker/index.js:154:14)
      at Broker.connect (node_modules/kafkajs/src/broker/index.js:93:36)
      at node_modules/kafkajs/src/cluster/brokerPool.js:79:9
      at Cluster.connect (node_modules/kafkajs/src/cluster/index.js:109:5)

   Attempted to log "{"level":"ERROR","timestamp":"2020-06-24T16:37:48.340Z","logger":"kafkajs","message":"[BrokerPool] request is not a function","retryCount":0,"retryTime":50}".

      at BufferedConsole.error (node_modules/@jest/console/build/BufferedConsole.js:165:10)
      at node_modules/kafkajs/src/loggers/console.js:15:22
      at Object.error (node_modules/kafkajs/src/loggers/index.js:16:3)
      at node_modules/kafkajs/src/cluster/brokerPool.js:93:23
      at Cluster.connect (node_modules/kafkajs/src/cluster/index.js:109:5)
      at Object.connect (node_modules/kafkajs/src/consumer/index.js:110:5)

    Attempted to log "TypeError: request is not a function
        at 2 (/Users/ac01980/code/products-catalog-importer/node_modules/kafkajs/src/protocol/requests/apiVersions/index.js:15:23)
        at Broker.apiVersions (/Users/ac01980/code/products-catalog-importer/node_modules/kafkajs/src/broker/index.js:154:14)
        at Broker.connect (/Users/ac01980/code/products-catalog-importer/node_modules/kafkajs/src/broker/index.js:93:36)
        at /Users/ac01980/code/products-catalog-importer/node_modules/kafkajs/src/cluster/brokerPool.js:79:9
        at Cluster.connect (/Users/ac01980/code/products-catalog-importer/node_modules/kafkajs/src/cluster/index.js:109:5)
        at Object.connect (/Users/ac01980/code/products-catalog-importer/node_modules/kafkajs/src/consumer/index.js:110:5)".

      at 2 (node_modules/kafkajs/src/protocol/requests/apiVersions/index.js:15:23)
      at Broker.apiVersions (node_modules/kafkajs/src/broker/index.js:154:14)
      at Broker.connect (node_modules/kafkajs/src/broker/index.js:93:36)
      at node_modules/kafkajs/src/cluster/brokerPool.js:79:9
      at Cluster.connect (node_modules/kafkajs/src/cluster/index.js:109:5)
      at Object.connect (node_modules/kafkajs/src/consumer/index.js:110:5)".
      at BufferedConsole.error (node_modules/@jest/console/build/BufferedConsole.js:165:10)

Could you please edit your issue to use the issue template? There is a lot of information missing that would be helpful to have:
**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Please provide either a link to a:

1. [failing test in a KafkaJS fork](https://github.com/tulios/kafkajs/blob/2faef0719eeba50759eccc2b7d8800dbe63803f3/src/consumer/__tests__/consumeMessages.spec.js#L52-L97)
2. [repository with an example project reproducing the issue](https://github.com/tulios/kafkajs/blob/master/examples/consumer.js)

If none of the above are possible to provide, please write down the exact steps to reproduce the behavior:
1. Run a producer that continuously produces messages to a topic
2. Run a consumer that subscribes to that topic and logs each topic offset
3. After the consumer has consumed 100 messages, it...

**Expected behavior**
A clear and concise description of what you expected to happen.

**Observed behavior**
A clear and concise description of what *did* happen. Please include any relevant logs [with the log level set to debug](https://kafka.js.org/docs/configuration#logging).

**Environment:**
 - OS: [e.g. Mac OS 10.15.3]
 - KafkaJS version [e.g. 1.12.0]
 - Kafka version [e.g. 2.3.1]
 - NodeJS version [e.g. 10.13.0]

**Additional context**
Add any other context about the problem here.

Done

Hey, @Nevon @ankon and all, I've cleaned up this thread for a bit and incorporated all the changes yall suggested. The update is made in the first post here.

@chualanagit can you change your run function to
const run = async () => {
  await consumer.connect()
  await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })
  await new Promise((resolve) => {
    consumer.run({
      eachMessage: async ({ topic, partition, message }) => {
        const decodedKey = await registry.decode(message.key)
        const decodedValue = await registry.decode(message.value)
        console.log({ decodedKey, decodedValue })
        resolve();
      },
    })
  })
}

I think your test ends to early as await consumer run will not wait for your messages

@chualanagit can you change your run function to
const run = async () => {
  await consumer.connect()
  await consumer.subscribe({ topic: 'test-topic', fromBeginning: true })
  await new Promise((resolve) => {
    consumer.run({
      eachMessage: async ({ topic, partition, message }) => {
        const decodedKey = await registry.decode(message.key)
        const decodedValue = await registry.decode(message.value)
        console.log({ decodedKey, decodedValue })
        resolve();
      },
    })
  })
}

I think your test ends too early as await consumer.run will not wait for your messages, also you may want to extend time on jest as connection to kafka may take abit of time

giving it a try now

@goriunov good call! The ReferenceError was resolved! However, the integration test still timed out after 3 minutes on this:
   Attempted to log "{"level":"ERROR","timestamp":"2020-06-24T22:21:37.857Z","logger":"kafkajs","message":"[Connection] Response Heartbeat(key: 12, version: 1)","broker":"localhost:9092","clientId":"example-consumer","error":"The coordinator is not aware of this member","correlationId":88,"size":10}".

      at BufferedConsole.error (node_modules/@jest/console/build/BufferedConsole.js:165:10)
      at node_modules/kafkajs/src/loggers/console.js:15:22
      at node_modules/kafkajs/src/loggers/index.js:16:3
      at Connection.logError (node_modules/kafkajs/src/network/connection.js:89:7)
      at Connection.send (node_modules/kafkajs/src/network/connection.js:329:14)
      at Broker.heartbeat (node_modules/kafkajs/src/broker/index.js:314:12)
      at ConsumerGroup.heartbeat (node_modules/kafkajs/src/consumer/consumerGroup.js:317:7)
      at Runner.fetch (node_modules/kafkajs/src/consumer/runner.js:388:5)
      at node_modules/kafkajs/src/consumer/runner.js:403:9

I suspect my problem is similar to #130; however, I'm setting my timeout to 200 seconds. That should be long enough for my consumer to consume the message and for the heartbeat to send?

would it be a problem if consumer and producer are not created from the same Kafka instance? For example:
    const kafka = new Kafka({
        clientId: 'example-consumer',
        logLevel: logLevel.ERROR,
        brokers: ['localhost:9092'],
    })
    consumer = kafka.consumer({
        groupId: groupId,
    });

    const kafka = new Kafka({
        clientId: 'example-producer',
        logLevel: logLevel.ERROR,
        brokers: ['localhost:9092'],
    })
    producer = kafka.producer();

Nope. Consumers and producers are isolated from one another, regardless of if they come from the same KafkaJS instance. The only thing that does is to let them share some common configuration.

I'm not sure why your test is not exiting, but if your test looks like it does in the top post, it doesn't really seem complete, since there's nothing asserting that you have consumed a message, and nothing that would cause it to wait for one.
Here you can see how we do our integration test for consuming messages (ignore the metadata stuff. That's specific to what we want to test. Not relevant for you):
https://github.com/tulios/kafkajs/blob/cff2cfc8713ce23fd8a8174f24a2e9307c927eed/src/consumer/__tests__/consumeMessages.spec.js#L52-L97
As you can see, we:

Start the consumer
Wait for it to join the group
We produce a bunch of messages
We wait for the messages to have been consumed
We do some assertions on the messages

One important note is that for each test run, we generate a new groupId and a new topic. This is important because otherwise you will have problems if you run several tests concurrently, or if you run them several times in quick succession, since on the second run your consumer will try to join an already existing group, and the previous consumer may not have been kicked out of the group yet, so it will take some time before the group is in sync. Better to just start from a clean slate on each run.

why is the example you gave consuming the message first before producing unlike the example given here

It doesn't really matter in this case, as we are subscribing with fromBeginning: true, which means that the consumer will start from the beginning of the topic if there is not previously committed offset to resume from, so regardless of whether you start the consumer before or after the producer has sent its messages, they will get consumed. It just reads more logical to me that we start the consumer, then we produce some messages and then we wait for the messages to have been consumed, but it's just personal preference.

I have to insert await setTimeout(some time) before producer.disconnect() in afterAll block of jest to avoid the problem of [Producer] request is not a function.

There may be some bug in kafka 1.x , when I update to 2.x, the error is resolved. I have wrote a demo project to show it.


[FEATURE REQUEST] Snowshoes and Mukluks

Is your feature request related to a problem? Please describe.
Another major piece of Northern heritage is footwear for maneuvering the arctic environment.
Describe the solution you'd like
Snowshoes and Mukluks should both be available footwear options with some kind of benefit for snowy environments. Perhaps speed boost and/or step height.
Describe alternatives you've considered
They could just be decorative instead.

snowshoes done in 5c6141b, and mukluks basically finished in bb62537 (still need to update mukluk armor texture)


ARROW-13990: [R] Bindings for round kernels

FWIW, there are descriptions of the enum RoundMode in the C++ API code and docs.


feat: add cache for source map

Summary

Require Documentation?

[ ] No
[x] Yes, the corresponding rspack-website PR is __

!bench

!bench

!bench

!bench

!bench

!bench

!bench


npm file is not the theme with master

in clamp.js line 276, npm file has sty.wordBreak = 'break-all'; but the master doesnot;
the master should be right, and in fact i didnot want this style

It was not released. 1.2.2 has it.


From initial conditions to geodesic

Almost anyone who comes to the KerrGeodesics package without knowing that much about Kerr geodesics expects it to do the following:

You pick initial conditions in terms of positions r,theta,t,phi and time derivatives of the coordinates. (This may be wrt Mino time but more likely coordinate time or proper time.)
You get your geodesic starting from that point with that velocity.

Currently, this is actually not implemented in KerrGeodesics, since KerrGeoOrbit gives you a geodesic based on p,e,x and initial orbital phases.

The easiest way to implement the initial-condition approach would be to

Compute E,L,Q from the initial data. (Check normalization/self-consistency of initial data?)
Compute p,e,x from E,L,Q. (Check boundedness/unboundedness of geodesic first?)
Compute phases from coordinate positions and p,e,x. Use this to get corresponding KerrGeoOrbit.

Point 1. and point 3. are easy to do in closed form.
However, point 2. cannot be done fully analytically. The x parameter is a quadratic root. The p,e parameters are then obtained by finding the two "correct" roots of a quartic. For this, one could trust the Mathematica function Root[]. The issue is with indexing the roots, since

The root indexing representation Root[f,k] applies to polynomial functions f only. The indexing of roots takes the real roots first, in increasing order. For polynomials with rational coefficients, the complex conjugate pairs of roots have consecutive indices.

Given numerical initial data, this could make the algorithm make discrete jumps due to indexing changes near transitions between bound/unbound/plunging. But I guess such an implementation is a good start.

Any other thoughts?

Number 2. can be done in closed form analytically at least for bound/unbound orbits. For plunging orbits the p,e,x parametrization breaks down anyway.

Number 2. can be done in closed form analytically at least for bound/unbound orbits.

How exactly? I know only of one method, and that is finding the roots of the R(r;E,L,Q) polynomial - and that one is a quartic. (The Schmidt method gives only p,e,x -> E,L,Q, not the other way around afaik.)

For plunging orbits the p,e,x parametrization breaks down anyway.

Sure. I guess this is a nuance, but given numerical data the roots may jump around in an unexpectedly large band around the separatrix. Having discrete jumps due to root indexing is way worse than just getting a noisy inaccurate result.

The four roots of a quartic can be given in closed form. Using the value of E, Q, and the discriminant of the radial potential, you can determine which of the four roots to use (or whether the orbit is plunging). With a bit of effort, you can get a closed form expression for the two roots that define p and e (for non-plunging orbits). Alternatively, given numerical input, you can evaluate all 4 and pick the two that bracket the initial position.

Ok, I see. Here is my jab at it as well. First step:
InitKerrGeoConstants[a_, t0_, \[Phi]0_, r0_, \[Theta]0_, dt0_, d\[Phi]0_, dr0_, d\[Theta]0_, Param_ : "Proper"] :=
 Module[{\[CapitalSigma], \[CapitalDelta], gtt, gt\[Phi], g\[Phi]\[Phi], g\[Theta]\[Theta], grr, \[ScriptCapitalN], utm2, En,L, Q},
  (*Kerr metric:*)
  \[CapitalSigma] = r0^2 + a^2 Cos[\[Theta]0]^2;
  \[CapitalDelta] = r0^2 - 2 r0 + a^2;
  gtt = -(1 - (2 r0)/\[CapitalSigma]);
  gt\[Phi] = -((2 r0 a Sin[\[Theta]0]^2)/\[CapitalSigma]);
  g\[Phi]\[Phi] =
   Sin[\[Theta]0]^2 (r0^2 + a^2 + (
      2 r0 a^2 Sin[\[Theta]0]^2)/\[CapitalSigma]);
  g\[Theta]\[Theta] = \[CapitalSigma];
  grr = \[CapitalSigma]/\[CapitalDelta];
  (*Normalization factors for other parametrizations:*)
  \[ScriptCapitalN] = 1;
  If[Param == "Mino",
   \[ScriptCapitalN] = 1/\[CapitalSigma],
   If[Param == "Coord",
    utm2 = -(gtt + 2 gt\[Phi] d\[Phi]0  + g\[Phi]\[Phi] d\[Phi]0^2 +
        grr dr0^2 + g\[Theta]\[Theta] d\[Theta]0^2);
    If[utm2 > 0, \[ScriptCapitalN] = 1/Sqrt[utm2],
     "Geodesic not timelike", \[ScriptCapitalN] = 1/Sqrt[utm2]]
    , Null]
   ];
  (*Result:*)
  En = -\[ScriptCapitalN] (gtt dt0 + gt\[Phi] d\[Phi]0);
  L = \[ScriptCapitalN] (  gt\[Phi] dt0 + g\[Phi]\[Phi] d\[Phi]0);
  Q = \[ScriptCapitalN]^2 ((g\[Theta]\[Theta] d\[Theta]0)^2 + (L/Sin[\[Theta]0] - a En Sin[\[Theta]0])^2 + a^2 Cos[\[Theta]0]^2 - (L - a En)^2);
   <|"\[ScriptCapitalE]" -> En, "\[ScriptCapitalL]" -> L, "\[ScriptCapitalQ]" -> Q |>
  ]

Second step using Root[]:
InitKerrGeoPEX[
   a_, \[ScriptCapitalE]_, \[ScriptCapitalL]_, \[ScriptCapitalQ]_] =
  Module[{R, r1, r2, zm},
   R = (((#^2 + a^2) \[ScriptCapitalE] - a \[ScriptCapitalL])^2 - (#^2 - 2 # + a^2) (#^2 + (\[ScriptCapitalL] - a \[ScriptCapitalE]^2) + \[ScriptCapitalQ])) &;
   r1 = Root[R, 4];
   r2 = Root[R, 3];
   If[PossibleZeroQ[a],
    zm2 = \[ScriptCapitalQ]/(\[ScriptCapitalL]^2 + \[ScriptCapitalQ]),
    zm2 = (1/(2 a^2 (1 - \[ScriptCapitalE]^2)))(\[ScriptCapitalQ] + \[ScriptCapitalL]^2 + a^2 (1 - \[ScriptCapitalE]^2) - Sqrt[(\[ScriptCapitalQ] + \[ScriptCapitalL]^2 + a^2 (1 - \[ScriptCapitalE]^2))^2 - 4 a^2 (1 - \[ScriptCapitalE]^2) \[ScriptCapitalQ]])
    ];
    <|"p" -> (2 r1 r2)/(r1 + r2), "e" -> (r1 - r2)/(r1 + r2),
    "x" -> Sign[\[ScriptCapitalL]] Sqrt[1 - zm2] |>
   ];

I assume that Mathematica recognizes the quartic and uses an analytical formula when using Root[].

Leaving it as Root[] is best, since the explicit form of the quartic roots are very large expressions. Mma knows the analytic properties of Root[] objects (when evaluating them, it may use root polishing instead of the explicit formulas). I'm aware that the ordering of the different Root[] solutions has changed as the version of Mma has changed; I think it's only guaranteed to be stable if they are all real roots. Ideally we would have some combination of a Root[] within an IsolatingIntervalCopy[], but I don't think that exists in Mma.

An alternative would be the nighborhood representation of Root[]:

The root neighborhood representation Root[{f,c}] specifies the equation f[x]==0 as well as the neighborhood rectangle centered at c and width 2 10^-Accuracy[Re(c)] and height 2 10^-Accuracy[Im(c)].

Of course, for that one would first need to obtain sufficiently accurate/stable guesses with FindRoot[] or similar.

My version:
Step 1:
Init2ELQ[{M_, a_}, {t0_, r0_, \[Theta]0_, \[Phi]0_}, u_List] := Module[
  {
   g = g[M, a][t0, r0, \[Theta]0, \[Phi]0],
   \[ScriptCapitalK] = \[ScriptCapitalK][M, a][t0,
     r0, \[Theta]0, \[Phi]0],
   norm},
  norm = u.g.u;
   If[norm < 0,
   <|
    "E" -> {-1, 0, 0, 0}.g.(u/Sqrt[-norm]),
    "L" -> {0, 0, 0, 1}.g.(u/Sqrt[-norm]),
    "Q" -> (u/Sqrt[-norm]).\[ScriptCapitalK].(u/Sqrt[-norm])
    |>,
   Print["Intial velocity is not timelike."];
   $Failed
   ]
  ]

Step 2:
Init2apex[{M_, a_}, {t0_, r0_, \[Theta]0_, \[Phi]0_}, u_List] :=
 Module[
  {
   E, L, Q,
   rts,
   disc,
   r1, r2
   },
  {E, L, Q} = (Values@
     Init2ELQ[{M, a}, {t0, r0, \[Theta]0, \[Phi]0}, u]);
  Print[{E, L, Q}];
  disc = Disc[a, E, L, Q];
  rts = Sort@Re@roots[a, E, L, Q][[All, 1, 2]];
  Which[
   Q < 0, Print["Vortical orbit detected"],
   disc < 0, Print["Plunge orbit detected"],
   True,
   r1 = If[E < 1, rts[[4]], rts[[1]]];
   r2 = If[E < 1, rts[[3]], rts[[4]]];
   ];
  <|"a" -> a, "p" -> (2 r1 r2)/(r1 + r2), "e" -> (r1 - r2)/(r1 + r2),
   "x" -> Sign[L] Sqrt[1 - ELQ2zmax[a, E, L, Q]^2] |>
  ]

With a bunch of explicit definitions:
R = Function[
   r, (\[ScriptCapitalE] (r^2 + a^2) -
      a \[ScriptCapitalL])^2 - (r^2 - 2 r +
       a^2) (-\[Mu] r^2 + (\[ScriptCapitalL] -
         a \[ScriptCapitalE])^2 + \[ScriptCapitalQ])];
Z = Function[
   z, \[ScriptCapitalQ] -
    z^2 (a^2 (1 - \[ScriptCapitalE]^2) (1 -
          z^2) + \[ScriptCapitalL]^2 + \[ScriptCapitalQ])];

ELQ2zmax[a_, \[ScriptCapitalE]_, \[ScriptCapitalL]_, \
\[ScriptCapitalQ]_] := (
 a^2 - a^2 \[ScriptCapitalE]^2 + \[ScriptCapitalL]^2 + \
\[ScriptCapitalQ] -
  Sqrt[(-a^2 +
     a^2 \[ScriptCapitalE]^2 - \[ScriptCapitalL]^2 - \
\[ScriptCapitalQ])^2 -
   4 (a^2 - a^2 \[ScriptCapitalE]^2) \[ScriptCapitalQ]])/(
 2 (a^2 - a^2 \[ScriptCapitalE]^2))

Disc[a_, \[ScriptCapitalE]_, \[ScriptCapitalL]_, \[ScriptCapitalQ]_] \
:= -16 (-a^8 \[ScriptCapitalE]^4 + a^10 \[ScriptCapitalE]^4 +
    16 a^6 \[ScriptCapitalE]^6 - 16 a^8 \[ScriptCapitalE]^6 -
    4 a^10 \[ScriptCapitalE]^6 + 62 a^8 \[ScriptCapitalE]^8 +
    6 a^10 \[ScriptCapitalE]^8 - 72 a^8 \[ScriptCapitalE]^10 -
    4 a^10 \[ScriptCapitalE]^10 + 27 a^8 \[ScriptCapitalE]^12 +
    a^10 \[ScriptCapitalE]^12 +
    4 a^7 \[ScriptCapitalE]^3 \[ScriptCapitalL] -
    4 a^9 \[ScriptCapitalE]^3 \[ScriptCapitalL] -
    96 a^5 \[ScriptCapitalE]^5 \[ScriptCapitalL] +
    100 a^7 \[ScriptCapitalE]^5 \[ScriptCapitalL] +
    16 a^9 \[ScriptCapitalE]^5 \[ScriptCapitalL] -
    428 a^7 \[ScriptCapitalE]^7 \[ScriptCapitalL] -
    24 a^9 \[ScriptCapitalE]^7 \[ScriptCapitalL] +
    540 a^7 \[ScriptCapitalE]^9 \[ScriptCapitalL] +
    16 a^9 \[ScriptCapitalE]^9 \[ScriptCapitalL] -
    216 a^7 \[ScriptCapitalE]^11 \[ScriptCapitalL] -
    4 a^9 \[ScriptCapitalE]^11 \[ScriptCapitalL] -
    6 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 +
    6 a^8 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 +
    240 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 -
    260 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 -
    21 a^8 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 +
    1274 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 +
    27 a^8 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 -
    1764 a^6 \[ScriptCapitalE]^8 \[ScriptCapitalL]^2 -
    15 a^8 \[ScriptCapitalE]^8 \[ScriptCapitalL]^2 +
    756 a^6 \[ScriptCapitalE]^10 \[ScriptCapitalL]^2 +
    3 a^8 \[ScriptCapitalE]^10 \[ScriptCapitalL]^2 +
    4 a^5 \[ScriptCapitalE] \[ScriptCapitalL]^3 -
    4 a^7 \[ScriptCapitalE] \[ScriptCapitalL]^3 -
    320 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 +
    360 a^5 \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 +
    4 a^7 \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 -
    2128 a^5 \[ScriptCapitalE]^5 \[ScriptCapitalL]^3 +
    12 a^7 \[ScriptCapitalE]^5 \[ScriptCapitalL]^3 +
    3276 a^5 \[ScriptCapitalE]^7 \[ScriptCapitalL]^3 -
    20 a^7 \[ScriptCapitalE]^7 \[ScriptCapitalL]^3 -
    1512 a^5 \[ScriptCapitalE]^9 \[ScriptCapitalL]^3 +
    8 a^7 \[ScriptCapitalE]^9 \[ScriptCapitalL]^3 -
    a^4 \[ScriptCapitalL]^4 + a^6 \[ScriptCapitalL]^4 +
    240 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 -
    280 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 +
    14 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 +
    2170 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 -
    45 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 -
    3780 a^4 \[ScriptCapitalE]^6 \[ScriptCapitalL]^4 +
    44 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalL]^4 +
    1890 a^4 \[ScriptCapitalE]^8 \[ScriptCapitalL]^4 -
    14 a^6 \[ScriptCapitalE]^8 \[ScriptCapitalL]^4 -
    96 a \[ScriptCapitalE] \[ScriptCapitalL]^5 +
    116 a^3 \[ScriptCapitalE] \[ScriptCapitalL]^5 -
    12 a^5 \[ScriptCapitalE] \[ScriptCapitalL]^5 -
    1372 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL]^5 +
    24 a^5 \[ScriptCapitalE]^3 \[ScriptCapitalL]^5 +
    2772 a^3 \[ScriptCapitalE]^5 \[ScriptCapitalL]^5 -
    12 a^5 \[ScriptCapitalE]^5 \[ScriptCapitalL]^5 -
    1512 a^3 \[ScriptCapitalE]^7 \[ScriptCapitalL]^5 +
    16 \[ScriptCapitalL]^6 - 20 a^2 \[ScriptCapitalL]^6 +
    3 a^4 \[ScriptCapitalL]^6 +
    518 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^6 +
    9 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^6 -
    1260 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalL]^6 -
    26 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^6 +
    756 a^2 \[ScriptCapitalE]^6 \[ScriptCapitalL]^6 +
    14 a^4 \[ScriptCapitalE]^6 \[ScriptCapitalL]^6 -
    104 a \[ScriptCapitalE] \[ScriptCapitalL]^7 -
    12 a^3 \[ScriptCapitalE] \[ScriptCapitalL]^7 +
    324 a \[ScriptCapitalE]^3 \[ScriptCapitalL]^7 +
    20 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL]^7 -
    216 a \[ScriptCapitalE]^5 \[ScriptCapitalL]^7 -
    8 a^3 \[ScriptCapitalE]^5 \[ScriptCapitalL]^7 +
    8 \[ScriptCapitalL]^8 + 3 a^2 \[ScriptCapitalL]^8 -
    36 \[ScriptCapitalE]^2 \[ScriptCapitalL]^8 +
    27 \[ScriptCapitalE]^4 \[ScriptCapitalL]^8 -
    3 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalL]^8 -
    4 a \[ScriptCapitalE] \[ScriptCapitalL]^9 +
    4 a \[ScriptCapitalE]^3 \[ScriptCapitalL]^9 + \
\[ScriptCapitalL]^10 - \[ScriptCapitalE]^2 \[ScriptCapitalL]^10 +
    a^8 \[ScriptCapitalQ] - a^10 \[ScriptCapitalQ] -
    20 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalQ] +
    19 a^8 \[ScriptCapitalE]^2 \[ScriptCapitalQ] +
    5 a^10 \[ScriptCapitalE]^2 \[ScriptCapitalQ] +
    48 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalQ] -
    28 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalQ] -
    98 a^8 \[ScriptCapitalE]^4 \[ScriptCapitalQ] -
    10 a^10 \[ScriptCapitalE]^4 \[ScriptCapitalQ] +
    192 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalQ] +
    170 a^8 \[ScriptCapitalE]^6 \[ScriptCapitalQ] +
    10 a^10 \[ScriptCapitalE]^6 \[ScriptCapitalQ] -
    252 a^6 \[ScriptCapitalE]^8 \[ScriptCapitalQ] -
    127 a^8 \[ScriptCapitalE]^8 \[ScriptCapitalQ] -
    5 a^10 \[ScriptCapitalE]^8 \[ScriptCapitalQ] +
    108 a^6 \[ScriptCapitalE]^10 \[ScriptCapitalQ] +
    35 a^8 \[ScriptCapitalE]^10 \[ScriptCapitalQ] +
    a^10 \[ScriptCapitalE]^10 \[ScriptCapitalQ] +
    40 a^5 \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ] -
    44 a^7 \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ] -
    192 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ] +
    156 a^5 \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ] +
    268 a^7 \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ] -
    952 a^5 \[ScriptCapitalE]^5 \[ScriptCapitalL] \[ScriptCapitalQ] -
    540 a^7 \[ScriptCapitalE]^5 \[ScriptCapitalL] \[ScriptCapitalQ] +
    1404 a^5 \[ScriptCapitalE]^7 \[ScriptCapitalL] \[ScriptCapitalQ] \
+ 452 a^7 \[ScriptCapitalE]^7 \[ScriptCapitalL] \[ScriptCapitalQ] -
    648 a^5 \[ScriptCapitalE]^9 \[ScriptCapitalL] \[ScriptCapitalQ] -
    136 a^7 \[ScriptCapitalE]^9 \[ScriptCapitalL] \[ScriptCapitalQ] -
    20 a^4 \[ScriptCapitalL]^2 \[ScriptCapitalQ] +
    25 a^6 \[ScriptCapitalL]^2 \[ScriptCapitalQ] -
    4 a^8 \[ScriptCapitalL]^2 \[ScriptCapitalQ] +
    288 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ] \
- 300 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ] -
    226 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ] \
+ 16 a^8 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ] +
    1920 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ] +
    541 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \[ScriptCapitalQ] \
- 24 a^8 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \[ScriptCapitalQ] -
    3240 a^4 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ] -
    504 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 \[ScriptCapitalQ] \
+ 16 a^8 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 \[ScriptCapitalQ] +
    1620 a^4 \[ScriptCapitalE]^8 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ] +
    164 a^6 \[ScriptCapitalE]^8 \[ScriptCapitalL]^2 \[ScriptCapitalQ] \
- 4 a^8 \[ScriptCapitalE]^8 \[ScriptCapitalL]^2 \[ScriptCapitalQ] -
    192 a \[ScriptCapitalE] \[ScriptCapitalL]^3 \[ScriptCapitalQ] +
    244 a^3 \[ScriptCapitalE] \[ScriptCapitalL]^3 \[ScriptCapitalQ] +
    40 a^5 \[ScriptCapitalE] \[ScriptCapitalL]^3 \[ScriptCapitalQ] -
    2000 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 \
\[ScriptCapitalQ] -
    80 a^5 \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 \[ScriptCapitalQ] \
+ 3960 a^3 \[ScriptCapitalE]^5 \[ScriptCapitalL]^3 \[ScriptCapitalQ] \
+ 40 a^5 \[ScriptCapitalE]^5 \[ScriptCapitalL]^3 \[ScriptCapitalQ] -
    2160 a^3 \[ScriptCapitalE]^7 \[ScriptCapitalL]^3 \
\[ScriptCapitalQ] + 48 \[ScriptCapitalL]^4 \[ScriptCapitalQ] -
    72 a^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ] +
    16 a^4 \[ScriptCapitalL]^4 \[ScriptCapitalQ] -
    6 a^6 \[ScriptCapitalL]^4 \[ScriptCapitalQ] +
    1120 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \
\[ScriptCapitalQ] -
    156 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ] \
+ 18 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ] -
    2700 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 \
\[ScriptCapitalQ] +
    290 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 \[ScriptCapitalQ] \
- 18 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 \[ScriptCapitalQ] +
    1620 a^2 \[ScriptCapitalE]^6 \[ScriptCapitalL]^4 \
\[ScriptCapitalQ] -
    150 a^4 \[ScriptCapitalE]^6 \[ScriptCapitalL]^4 \[ScriptCapitalQ] \
+ 6 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalL]^4 \[ScriptCapitalQ] -
    312 a \[ScriptCapitalE] \[ScriptCapitalL]^5 \[ScriptCapitalQ] +
    68 a^3 \[ScriptCapitalE] \[ScriptCapitalL]^5 \[ScriptCapitalQ] +
    972 a \[ScriptCapitalE]^3 \[ScriptCapitalL]^5 \[ScriptCapitalQ] -
    188 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL]^5 \[ScriptCapitalQ] \
- 648 a \[ScriptCapitalE]^5 \[ScriptCapitalL]^5 \[ScriptCapitalQ] +
    120 a^3 \[ScriptCapitalE]^5 \[ScriptCapitalL]^5 \[ScriptCapitalQ] \
+ 32 \[ScriptCapitalL]^6 \[ScriptCapitalQ] -
    3 a^2 \[ScriptCapitalL]^6 \[ScriptCapitalQ] -
    4 a^4 \[ScriptCapitalL]^6 \[ScriptCapitalQ] -
    144 \[ScriptCapitalE]^2 \[ScriptCapitalL]^6 \[ScriptCapitalQ] +
    48 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^6 \[ScriptCapitalQ] \
+ 8 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^6 \[ScriptCapitalQ] +
    108 \[ScriptCapitalE]^4 \[ScriptCapitalL]^6 \[ScriptCapitalQ] -
    44 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalL]^6 \[ScriptCapitalQ] \
- 4 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^6 \[ScriptCapitalQ] -
    16 a \[ScriptCapitalE] \[ScriptCapitalL]^7 \[ScriptCapitalQ] +
    16 a \[ScriptCapitalE]^3 \[ScriptCapitalL]^7 \[ScriptCapitalQ] +
    5 \[ScriptCapitalL]^8 \[ScriptCapitalQ] -
    a^2 \[ScriptCapitalL]^8 \[ScriptCapitalQ] -
    5 \[ScriptCapitalE]^2 \[ScriptCapitalL]^8 \[ScriptCapitalQ] +
    a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^8 \[ScriptCapitalQ] +
    8 a^4 \[ScriptCapitalQ]^2 - 12 a^6 \[ScriptCapitalQ]^2 +
    4 a^8 \[ScriptCapitalQ]^2 +
    48 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^2 -
    44 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^2 +
    24 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^2 -
    16 a^8 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^2 +
    206 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^2 +
    22 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^2 +
    24 a^8 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^2 -
    324 a^4 \[ScriptCapitalE]^6 \[ScriptCapitalQ]^2 -
    68 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalQ]^2 -
    16 a^8 \[ScriptCapitalE]^6 \[ScriptCapitalQ]^2 +
    162 a^4 \[ScriptCapitalE]^8 \[ScriptCapitalQ]^2 +
    34 a^6 \[ScriptCapitalE]^8 \[ScriptCapitalQ]^2 +
    4 a^8 \[ScriptCapitalE]^8 \[ScriptCapitalQ]^2 -
    96 a \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ]^2 +
    128 a^3 \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ]^2 -
    44 a^5 \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ]^2 -
    628 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ]^2 \
+ 88 a^5 \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ]^2 +
    1188 a^3 \[ScriptCapitalE]^5 \[ScriptCapitalL] \
\[ScriptCapitalQ]^2 -
    44 a^5 \[ScriptCapitalE]^5 \[ScriptCapitalL] \[ScriptCapitalQ]^2 \
- 648 a^3 \[ScriptCapitalE]^7 \[ScriptCapitalL] \[ScriptCapitalQ]^2 +
    48 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^2 -
    84 a^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^2 +
    35 a^4 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^2 +
    4 a^6 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^2 +
    686 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 -
    255 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 -
    12 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 -
    1620 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 +
    418 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 +
    12 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 +
    972 a^2 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 -
    198 a^4 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^2 -
    4 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^2 \
- 312 a \[ScriptCapitalE] \[ScriptCapitalL]^3 \[ScriptCapitalQ]^2 +
    172 a^3 \[ScriptCapitalE] \[ScriptCapitalL]^3 \[ScriptCapitalQ]^2 \
+ 972 a \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 \[ScriptCapitalQ]^2 -
    436 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 \
\[ScriptCapitalQ]^2 -
    648 a \[ScriptCapitalE]^5 \[ScriptCapitalL]^3 \[ScriptCapitalQ]^2 \
+ 264 a^3 \[ScriptCapitalE]^5 \[ScriptCapitalL]^3 \[ScriptCapitalQ]^2 \
+ 48 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^2 -
    27 a^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^2 -
    4 a^4 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^2 -
    216 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^2 +
    144 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \
\[ScriptCapitalQ]^2 +
    8 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^2 \
+ 162 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^2 -
    114 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 \
\[ScriptCapitalQ]^2 -
    4 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^2 \
- 24 a \[ScriptCapitalE] \[ScriptCapitalL]^5 \[ScriptCapitalQ]^2 +
    24 a \[ScriptCapitalE]^3 \[ScriptCapitalL]^5 \[ScriptCapitalQ]^2 \
+ 10 \[ScriptCapitalL]^6 \[ScriptCapitalQ]^2 -
    4 a^2 \[ScriptCapitalL]^6 \[ScriptCapitalQ]^2 -
    10 \[ScriptCapitalE]^2 \[ScriptCapitalL]^6 \[ScriptCapitalQ]^2 +
    4 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^6 \[ScriptCapitalQ]^2 \
+ 16 \[ScriptCapitalQ]^3 - 32 a^2 \[ScriptCapitalQ]^3 +
    22 a^4 \[ScriptCapitalQ]^3 - 6 a^6 \[ScriptCapitalQ]^3 +
    84 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^3 -
    90 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^3 +
    18 a^6 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^3 -
    180 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^3 +
    102 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^3 -
    18 a^6 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^3 +
    108 a^2 \[ScriptCapitalE]^6 \[ScriptCapitalQ]^3 -
    34 a^4 \[ScriptCapitalE]^6 \[ScriptCapitalQ]^3 +
    6 a^6 \[ScriptCapitalE]^6 \[ScriptCapitalQ]^3 -
    104 a \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ]^3 +
    92 a^3 \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ]^3 +
    324 a \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ]^3 -
    228 a^3 \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ]^3 \
- 216 a \[ScriptCapitalE]^5 \[ScriptCapitalL] \[ScriptCapitalQ]^3 +
    136 a^3 \[ScriptCapitalE]^5 \[ScriptCapitalL] \[ScriptCapitalQ]^3 \
+ 32 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^3 -
    33 a^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^3 +
    4 a^4 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^3 -
    144 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^3 +
    144 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^3 -
    8 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^3 \
+ 108 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^3 -
    108 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \
\[ScriptCapitalQ]^3 +
    4 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^3 \
- 16 a \[ScriptCapitalE] \[ScriptCapitalL]^3 \[ScriptCapitalQ]^3 +
    16 a \[ScriptCapitalE]^3 \[ScriptCapitalL]^3 \[ScriptCapitalQ]^3 \
+ 10 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^3 -
    6 a^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^3 -
    10 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^3 +
    6 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^4 \[ScriptCapitalQ]^3 \
+ 8 \[ScriptCapitalQ]^4 - 12 a^2 \[ScriptCapitalQ]^4 +
    4 a^4 \[ScriptCapitalQ]^4 -
    36 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^4 +
    48 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^4 -
    8 a^4 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^4 +
    27 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^4 -
    35 a^2 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^4 +
    4 a^4 \[ScriptCapitalE]^4 \[ScriptCapitalQ]^4 -
    4 a \[ScriptCapitalE] \[ScriptCapitalL] \[ScriptCapitalQ]^4 +
    4 a \[ScriptCapitalE]^3 \[ScriptCapitalL] \[ScriptCapitalQ]^4 +
    5 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^4 -
    4 a^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^4 -
    5 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^4 +
    4 a^2 \[ScriptCapitalE]^2 \[ScriptCapitalL]^2 \[ScriptCapitalQ]^4 \
+ \[ScriptCapitalQ]^5 -
    a^2 \[ScriptCapitalQ]^5 - \[ScriptCapitalE]^2 \[ScriptCapitalQ]^5 \
+ a^2 \[ScriptCapitalE]^2 \[ScriptCapitalQ]^5)

roots[a_, \[ScriptCapitalE]_, \[ScriptCapitalL]_, \[ScriptCapitalQ]_] \
:= Evaluate@Solve[R[r] == 0 /. \[Mu] -> -1, r]

g[M_, a_][t_,
  r_, \[Theta]_, \[Phi]_] := {{-1 + (2 r)/(r^2 + a^2 Cos[\[Theta]]^2),
    0, 0, -((2 a r Sin[\[Theta]]^2)/(
    r^2 + a^2 Cos[\[Theta]]^2))}, {0, (r^2 + a^2 Cos[\[Theta]]^2)/(
   a^2 + (-2 + r) r), 0, 0}, {0, 0, r^2 + a^2 Cos[\[Theta]]^2,
   0}, {-((2 a r Sin[\[Theta]]^2)/(r^2 + a^2 Cos[\[Theta]]^2)), 0,
   0, (Sin[\[Theta]]^2 ((a^2 + r^2) (r^2 + a^2 Cos[\[Theta]]^2) +
      2 a^2 r Sin[\[Theta]]^2))/(r^2 + a^2 Cos[\[Theta]]^2)}}

\[ScriptCapitalK][M_, a_][t_,
  r_, \[Theta]_, \[Phi]_] := {{(
   a^2 r Cos[\[Theta]]^2 (a^2 +
      2 (-1 + r) r + (a^2 - 2 r) Cos[2 \[Theta]]))/(r^2 +
     a^2 Cos[\[Theta]]^2)^2, 0,
   0, -((a r (a^4 + 2 r^4 + a^2 r (-2 + 3 r) +
       a^2 (a^2 + (-2 + r) r) Cos[2 \[Theta]]) Sin[2 \[Theta]]^2)/(
    4 (r^2 + a^2 Cos[\[Theta]]^2)^2))}, {0, -((
    a^2 Cos[\[Theta]]^2 (r^2 + a^2 Cos[\[Theta]]^2))/(
    a^2 + (-2 + r) r)), 0, 0}, {0, 0, r^4 + a^2 r^2 Cos[\[Theta]]^2,
   0}, {-((a r (a^4 + 2 r^4 + a^2 r (-2 + 3 r) +
       a^2 (a^2 + (-2 + r) r) Cos[2 \[Theta]]) Sin[2 \[Theta]]^2)/(
    4 (r^2 + a^2 Cos[\[Theta]]^2)^2)), 0, 0, (
   r Cos[\[Theta]]^2 (2 a^6 - 4 a^4 r + 3 a^6 r + 12 a^4 r^2 +
      11 a^4 r^3 + 16 a^2 r^4 + 16 a^2 r^5 + 8 r^7 +
      4 a^2 r (a^4 + 2 (-2 + r) r^3 + a^2 r (-2 + 3 r)) Cos[
        2 \[Theta]] +
      a^4 (-2 + r) (a^2 + (-2 + r) r) Cos[
        4 \[Theta]]) Sin[\[Theta]]^2)/(
   8 (r^2 + a^2 Cos[\[Theta]]^2)^2)}}

Cool, I created a branch InitialConditions on a fork that uses this method. It also contains the phase and orbit computations, even though I have some issues with the optional arguments rn.

Ok, pull requested, for more see https://github.com/VojtechW/KerrGeodesics/tree/InitialConditions.

At the mini BHPToolkit workshop at UCD last week we merged this branch into master. After some discussion we decided we should extend the work from only applying to KerrGeoOrbit to apply to all functions. A preliminary, and very hack-y version of the code is now in the differentparams branch.
With this you can do things like
KerrGeoFrequencuies[0.9, "ELQ"->{0.96, 3.1, 2.3}]

I still need to hook in the initial data code (hopefully later this week), and then we need to think about parametrizations for non-bound orbits so we can finally merge the plunging orbit branch from Conor.
Also, looking back at Vojtech's original post and Maarten's follow up regarding point 2, is the analytic function we use to get (p,e,x) from (E,L,Q) the same as what Scott has in his note: https://arxiv.org/abs/2401.09577?

Also, looking back at Vojtech's original post and Maarten's follow up regarding point 2, is the analytic function we use to get (p,e,x) from (E,L,Q) the same as what Scott has in his note: https://arxiv.org/abs/2401.09577?

Scott uses the standard formula for quartic roots, but as Leo noted, this formula can apparently be numerically unstable at certain critical points (I assume at transitions between various types of motions). What we do is let Mathematica handle these issues by simply using Solve, and then sorting the roots by their real parts. The only trick on top of that is the computation of the discriminant of the quartic, which classifies the motion (bound, vortical, plunging).


Pin a pipeline to an specific agent

workaround could be done with set a "custom" platform, but since  #690 it's autodetected ...
the idea is to use the "agent labels" as filter but they do not work?
https://github.com/woodpecker-ci/woodpecker/blob/2f91bdd4a0f5167ef304c220865141c15f2dd563/cmd/agent/agent.go#L39-L44 ...

#304

hmm could be a dublicate ... depending on if they can be used for this kind of feature ... - I need to test them and they need a good documentation!

We probably need to refactor them a bit. I would like to have something like a tag property for whole pipelines & pipeline steps and something similar for agents. So it should be possible to

add one / multiple tags to a pipeline to pin it to an agent having the same tags
pin an agent based on its hostname (maybe not even needed as it could be solved by tags)
pin an agent based on its backend #708 (maybe we could add automatic tags like backend:docker to solve this)


Layout: update main content width

Feature description
Currently, for screens at the max breakpoint and above, the textbook content has a maximum width of 42rem.
This issue is to increase the width.
.c-textbook__content {
    max-width: 46rem; // 👈 this
    padding: 0 1.5rem 1rem 1rem;
}

Tasks:

[ ] increase content panel width
[ ] ensure all widgets are still rendering as expected

Note:
The scratchpad feature is not dependent on this issue.
Alternatives
No response
Additional context
No response

This repository is no longer maintained. It has been superseded by IBM Quantum Learning.


Removing future call from hideKeyboard to avoid leaks

Proposed Changes
The future is not needed any more since we have fixed swipe and scroll and also the animation problem we had with wait for app being idle.
Testing
Locally ✅
Issues Fixed

The future was used to guard the hideKeyboard operation to take too long. Can we put back a way to set a timeout, but do close the response when the timeout fires?
For example by using a try/catch hook in the cloud/swipeV2 method, and closing the response body in the catch block, then rethrowing the exception.

The future was used to guard the hideKeyboard operation to take too long. Can we put back a way to set a timeout, but do close the response when the timeout fires?
For example by using a try/catch hook in the cloud/swipeV2 method, and closing the response body in the catch block, then rethrowing the exception.

We actually added because of 2 issues. One being scroll not working and other one due to xcuitest waiting on app being idle. You can see the context over added this future here in this PR: https://github.com/mobile-dev-inc/maestro/pull/989. The whole operation only took long whenever we had these errors. Now since both of them are addressed I don't think we need that future.


ncp-spinel: Updates to PROTOCOL.md

Section 3.1: General clarification and rewording.
Section 4.6: Fixed a cut-and-paste typo. (#179)
Section 5: Added a sentence indicating that the encoding shorthand is described in section 7.1. (#179)
Appendix A: Clarified how HDLC-Lite works.
Appendix A: Added a section for SPI recomendations.

LGTM 👍